diff options
author | Brian Robbins <brianrob@microsoft.com> | 2018-03-21 13:31:04 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-21 13:31:04 -0700 |
commit | b82063e24b34c875891916a1bbc01728b9022bf3 (patch) | |
tree | 8af81814d735831c09ed7b354b0c1b00ff331783 /src/vm/eventpipe.h | |
parent | 166258a0b07246bb829695cebb1223b057339b49 (diff) | |
download | coreclr-b82063e24b34c875891916a1bbc01728b9022bf3.tar.gz coreclr-b82063e24b34c875891916a1bbc01728b9022bf3.tar.bz2 coreclr-b82063e24b34c875891916a1bbc01728b9022bf3.zip |
Add More Process Information to EventPipe Traces (#17080)
Diffstat (limited to 'src/vm/eventpipe.h')
-rw-r--r-- | src/vm/eventpipe.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/vm/eventpipe.h b/src/vm/eventpipe.h index 907e0d7778..2becb5c0b8 100644 --- a/src/vm/eventpipe.h +++ b/src/vm/eventpipe.h @@ -16,6 +16,7 @@ class EventPipeFile; class EventPipeJsonFile; class EventPipeBuffer; class EventPipeBufferManager; +class EventPipeEventSource; class EventPipeProvider; class MethodDesc; class SampleProfilerEventInstance; @@ -35,7 +36,7 @@ typedef void (*EventPipeCallback)( struct EventData { public: - unsigned long Ptr; + UINT64 Ptr; unsigned int Size; unsigned int Reserved; }; @@ -44,7 +45,7 @@ class EventPipeEventPayload { private: BYTE *m_pData; - EventData **m_pEventData; + EventData *m_pEventData; unsigned int m_eventDataCount; unsigned int m_size; bool m_allocatedData; @@ -57,7 +58,7 @@ public: EventPipeEventPayload(BYTE *pData, unsigned int length); // Build this payload to contain an array of EventData objects - EventPipeEventPayload(EventData **pEventData, unsigned int eventDataCount); + EventPipeEventPayload(EventData *pEventData, unsigned int eventDataCount); // If a buffer was allocated internally, delete it ~EventPipeEventPayload(); @@ -87,7 +88,7 @@ public: return m_size; } - EventData** GetEventDataArray() const + EventData* GetEventDataArray() const { LIMITED_METHOD_CONTRACT; @@ -258,7 +259,7 @@ class EventPipe // Write out an event from an EventData array. // Data is written as a serialized blob matching the ETW serialization conventions. - static void WriteEvent(EventPipeEvent &event, EventData **pEventData, unsigned int eventDataCount, LPCGUID pActivityId = NULL, LPCGUID pRelatedActivityId = NULL); + static void WriteEvent(EventPipeEvent &event, EventData *pEventData, unsigned int eventDataCount, LPCGUID pActivityId = NULL, LPCGUID pRelatedActivityId = NULL); // Write out a sample profile event. static void WriteSampleProfileEvent(Thread *pSamplingThread, EventPipeEvent *pEvent, Thread *pTargetThread, StackContents &stackContents, BYTE *pData = NULL, unsigned int length = 0); @@ -269,6 +270,9 @@ class EventPipe // Get the managed call stack for the specified thread. static bool WalkManagedStackForThread(Thread *pThread, StackContents &stackContents); + // Save the command line for the current process. + static void SaveCommandLine(LPCWSTR pwzAssemblyPath, int argc, LPCWSTR *argv); + protected: // The counterpart to WriteEvent which after the payload is constructed @@ -299,6 +303,8 @@ class EventPipe static EventPipeSession *s_pSession; static EventPipeBufferManager *s_pBufferManager; static EventPipeFile *s_pFile; + static EventPipeEventSource *s_pEventSource; + static LPCWSTR s_pCommandLine; #ifdef _DEBUG static EventPipeFile *s_pSyncFile; static EventPipeJsonFile *s_pJsonFile; @@ -408,7 +414,7 @@ public: static void QCALLTYPE WriteEventData( INT_PTR eventHandle, UINT32 eventID, - EventData **pEventData, + EventData *pEventData, UINT32 eventDataCount, LPCGUID pActivityId, LPCGUID pRelatedActivityId); }; |