summaryrefslogtreecommitdiff
path: root/src/vm/sampleprofiler.h
diff options
context:
space:
mode:
authorBrian Robbins <brianrob@microsoft.com>2017-05-24 14:43:54 -0700
committerGitHub <noreply@github.com>2017-05-24 14:43:54 -0700
commitcd88c6919e75617fad6a6c6e772ee16f09d53ac2 (patch)
tree0fc7392dbfa426d8672c4ef397c31d5aa69a7d7e /src/vm/sampleprofiler.h
parent2c83d8d2dbd8a99cdb99180f4371c1a5d7211a6f (diff)
downloadcoreclr-cd88c6919e75617fad6a6c6e772ee16f09d53ac2.tar.gz
coreclr-cd88c6919e75617fad6a6c6e772ee16f09d53ac2.tar.bz2
coreclr-cd88c6919e75617fad6a6c6e772ee16f09d53ac2.zip
Indicate if thread time events are in managed or native code. (#11892)
Diffstat (limited to 'src/vm/sampleprofiler.h')
-rw-r--r--src/vm/sampleprofiler.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/vm/sampleprofiler.h b/src/vm/sampleprofiler.h
index 1992e1cd9b..02eb6b39cd 100644
--- a/src/vm/sampleprofiler.h
+++ b/src/vm/sampleprofiler.h
@@ -10,6 +10,13 @@
#include "common.h"
#include "eventpipe.h"
+enum class SampleProfilerSampleType
+{
+ Error = 0,
+ External = 1,
+ Managed = 2
+};
+
class SampleProfiler
{
@@ -47,6 +54,13 @@ class SampleProfiler
static EventPipeProvider *s_pEventPipeProvider;
static EventPipeEvent *s_pThreadTimeEvent;
+ // Event payloads.
+ // External represents a sample in external or native code.
+ // Managed represents a sample in managed code.
+ static BYTE *s_pPayloadExternal;
+ static BYTE *s_pPayloadManaged;
+ static const unsigned int c_payloadSize = sizeof(unsigned int);
+
// Thread shutdown event for synchronization between Disable() and the sampling thread.
static CLREventStatic s_threadShutdownEvent;