Skip to content

Commit

Permalink
Add EventPipe array types to the profiler APIs (#37035)
Browse files Browse the repository at this point in the history
Follow up for #36242. Allow profilers to emit array types as well.
  • Loading branch information
davmason authored Jun 5, 2020
1 parent 0bf441b commit 7799785
Show file tree
Hide file tree
Showing 11 changed files with 6,662 additions and 6,316 deletions.
10 changes: 7 additions & 3 deletions src/coreclr/src/inc/corprof.idl
Original file line number Diff line number Diff line change
Expand Up @@ -757,6 +757,7 @@ typedef enum
COR_PRF_EVENTPIPE_DATETIME = 16, // DateTime
COR_PRF_EVENTPIPE_GUID = 17, // Guid
COR_PRF_EVENTPIPE_STRING = 18, // Unicode character string
COR_PRF_EVENTPIPE_ARRAY = 19, // Arbitrary length array
} COR_PRF_EVENTPIPE_PARAM_TYPE;

typedef enum
Expand All @@ -772,6 +773,8 @@ typedef enum
typedef struct
{
UINT32 type;
// Used if type == ArrayType
UINT32 elementType;
const WCHAR *name;
} COR_PRF_EVENTPIPE_PARAM_DESC;

Expand Down Expand Up @@ -4079,22 +4082,23 @@ interface ICorProfilerInfo12 : ICorProfilerInfo11

HRESULT EventPipeDefineEvent(
[in] EVENTPIPE_PROVIDER provHandle,
[in, string] const WCHAR *szName,
[in, string] const WCHAR *szName,
[in] UINT32 eventID,
[in] UINT64 keywords,
[in] UINT32 eventVersion,
[in] UINT32 level,
[in] UINT8 opcode,
[in] BOOL needStack,
[in] UINT32 cParamDescs,
[in, size_is(cParamDescs)]
[in, size_is(cParamDescs)]
COR_PRF_EVENTPIPE_PARAM_DESC pParamDescs[],
[out] EVENTPIPE_EVENT *pEventHandle);

HRESULT EventPipeWriteEvent(
[in] EVENTPIPE_EVENT eventHandle,
[in] UINT32 cData,
[in, size_is(cData)]
COR_PRF_EVENT_DATA data[],
[in] UINT32 cData,
[in] LPCGUID pActivityId,
[in] LPCGUID pRelatedActivityId);
}
Expand Down
Loading

0 comments on commit 7799785

Please sign in to comment.