Write EventSource events with metadata to EventPipe (dotnet/coreclr#11577)
authorXiangyang (Mark) Guo <xiangyang.guo@intel.com>
Mon, 15 May 2017 20:05:32 +0000 (13:05 -0700)
committerBrian Robbins <brianrob@microsoft.com>
Mon, 15 May 2017 20:05:32 +0000 (13:05 -0700)
commitb5ab0641e6e7d75dc6e105b2fc33a983e1914f33
treedebc3f6e011fe3a6f9932fb0b9e0b7640437b810
parentae1adb30b8bbdde9907fff6af875e2fdec9f336e
Write EventSource events with metadata to EventPipe (dotnet/coreclr#11577)

* Fix EventPipe initialization.

* rebase code with master, add prototype of event source metadata

* fix define event

* add null ptr checking

* move WriteEvent metadata serialization to managed side

* Fix enabled keywords for COMPlus_PerformanceTracing=1.

* put parameter name into metadata, use WriteToBuffer

* Write event metadata to the file.

* allocate buffer in EventPipeEvent ctor

* prevent double free

* refactor code

* AddEvent params reorder

Commit migrated from https://github.com/dotnet/coreclr/commit/a7fae647fc09448cce04276a87a2873c09d31d42
16 files changed:
src/coreclr/src/mscorlib/shared/System/Diagnostics/Tracing/EventProvider.cs
src/coreclr/src/mscorlib/shared/System/Diagnostics/Tracing/EventSource.cs
src/coreclr/src/mscorlib/shared/System/Diagnostics/Tracing/IEventProvider.cs
src/coreclr/src/mscorlib/src/System/Diagnostics/Eventing/EventPipe.cs
src/coreclr/src/mscorlib/src/System/Diagnostics/Eventing/EventPipeEventProvider.cs
src/coreclr/src/scripts/genEventPipe.py
src/coreclr/src/vm/ecalllist.h
src/coreclr/src/vm/eventpipe.cpp
src/coreclr/src/vm/eventpipe.h
src/coreclr/src/vm/eventpipeconfiguration.cpp
src/coreclr/src/vm/eventpipeconfiguration.h
src/coreclr/src/vm/eventpipeevent.cpp
src/coreclr/src/vm/eventpipeevent.h
src/coreclr/src/vm/eventpipeprovider.cpp
src/coreclr/src/vm/eventpipeprovider.h
src/coreclr/src/vm/sampleprofiler.cpp