diff options
author | Sean Gillespie <segilles@microsoft.com> | 2018-01-23 18:53:30 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-23 18:53:30 -0800 |
commit | facdc8b97f73973fb416ed13e4b9dd9a255864bf (patch) | |
tree | c6be1ef07de8d324dcb121da524c13458d7f0f63 /src/inc | |
parent | 0bafdbc71e5a3efe6b6df0cbcf5aee5081a3e4c8 (diff) | |
download | coreclr-facdc8b97f73973fb416ed13e4b9dd9a255864bf.tar.gz coreclr-facdc8b97f73973fb416ed13e4b9dd9a255864bf.tar.bz2 coreclr-facdc8b97f73973fb416ed13e4b9dd9a255864bf.zip |
[Local GC] FEATURE_EVENT_TRACE 1/n: Tracking Event State (#15873)
* [Local GC] FEATURE_EVENT_TRACE 1/n: Add infrastructure for keeping event state within the GC and plumbing to communicate event state changes
* Code review feedback: use a load without a barrier in IsEnabled and put debug-only code under TRACE_GC_EVENT_STATE
* Address code review feedback: add EventPipe callback and comments
* Fix the non-FEATURE_PAL build
* Fix an issue where the GC fails to react to ETW callbacks to occur before the GC is initialized (e.g. on startup when an ETW session is already active)
* Simplify callback locking scheme
* Add a separate callback for each EventPipe provider and funnel them all through a common handler
* Fix non-FEATURE_PAL build
Diffstat (limited to 'src/inc')
-rw-r--r-- | src/inc/eventtracebase.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/inc/eventtracebase.h b/src/inc/eventtracebase.h index d19e3e97dc..344296f016 100644 --- a/src/inc/eventtracebase.h +++ b/src/inc/eventtracebase.h @@ -251,6 +251,42 @@ public: #if defined(FEATURE_EVENT_TRACE) +VOID EventPipeEtwCallbackDotNETRuntimeStress( + _In_ LPCGUID SourceId, + _In_ ULONG ControlCode, + _In_ UCHAR Level, + _In_ ULONGLONG MatchAnyKeyword, + _In_ ULONGLONG MatchAllKeyword, + _In_opt_ PVOID FilterData, + _Inout_opt_ PVOID CallbackContext); + +VOID EventPipeEtwCallbackDotNETRuntime( + _In_ LPCGUID SourceId, + _In_ ULONG ControlCode, + _In_ UCHAR Level, + _In_ ULONGLONG MatchAnyKeyword, + _In_ ULONGLONG MatchAllKeyword, + _In_opt_ PVOID FilterData, + _Inout_opt_ PVOID CallbackContext); + +VOID EventPipeEtwCallbackDotNETRuntimeRundown( + _In_ LPCGUID SourceId, + _In_ ULONG ControlCode, + _In_ UCHAR Level, + _In_ ULONGLONG MatchAnyKeyword, + _In_ ULONGLONG MatchAllKeyword, + _In_opt_ PVOID FilterData, + _Inout_opt_ PVOID CallbackContext); + +VOID EventPipeEtwCallbackDotNETRuntimePrivate( + _In_ LPCGUID SourceId, + _In_ ULONG ControlCode, + _In_ UCHAR Level, + _In_ ULONGLONG MatchAnyKeyword, + _In_ ULONGLONG MatchAllKeyword, + _In_opt_ PVOID FilterData, + _Inout_opt_ PVOID CallbackContext); + #ifndef FEATURE_PAL // Callback and stack support #if !defined(DONOT_DEFINE_ETW_CALLBACK) && !defined(DACCESS_COMPILE) |