Enable EventPipe across Unix and Windows (#14772)
authorVictor "Nate" Graf <nategraf1@gmail.com>
Thu, 21 Dec 2017 02:07:52 +0000 (18:07 -0800)
committerGitHub <noreply@github.com>
Thu, 21 Dec 2017 02:07:52 +0000 (18:07 -0800)
commit7524d72d4f0f634fe5407280b83c25181dc8c556
tree119c7edbbd7b3a0aec47d55334d52d1471e3a3da
parent9891c8ba8f84ff646455b4493447295c591665f4
Enable EventPipe across Unix and Windows (#14772)

* [squashed] most work complete to enable EventPipe on Windows

* Eventpipe now builds on Windows

* Ensure evevntpipe is intialized on Windows

* Resolve the location of python from build.cmd

* Ensure eventing files are generated when needed

* moving linkage declaration to cmake

* create new event from constructor

* enable FEATURE_EVENT_TRACE and FEATURE_PERF_TRACE everywhere

* [WIP] checkpoint in fixing contarct errors

* add another possible python location

* Fix double delete bug in EventPipeConfiguration destructor

* Fix typo in function name

* Revert changes to .gitgnore

* bump to netstandard1.6 in preperation for new version of TraceEvent

* Revert changes to groovy files

* revert changes to perf-prep scripts

* add common.h and use nothrow

* Fix issue which was causing double delete of configprovider

* Add new test utilizing TraceEvent

* Remove accidentally added local directory reference

* Add comment to explain the addition of misc/tracepointprovider.cpp

* Add back sys.exit(0) and refactor

* Change conditional to be more direct

* Better handle NULL config

* Initialize m_deleteDefered

* Eliminate obsolete field

* Fix spelling error

* Fix nits

* Make smaple progiler timing functions easier to read

* Move projects back to netstandard1.4

* Incomplete improvements to EventPipeTrace test

* Add event integrity checks to test

* Clean up some left over code

* Add EventSource based test

* Remove unused PAL tests on Windows

* Fix Linux build breaks

* Minor changes to CMake files

* Remove //HACK for hack that was previously removed

* Fix formatting and negate a #ifdef

* Add conditional to ensure PERFTRACING is not enabled without EVENT_TRACE

* Take lock on EventPipeProvider and EventPipeConfiguration destruction

* Load winmm.dll at runtime

* Change function name and compile conditions

* Move typedef into #ifndef

* Use the correct config in setup

* Change lifecycle managment of EventPipeConfiguration's configuration provider

* Enable EventPipe tests pri0 and disable broken tests

* Replace python3 only error with python2 compatable one

* Make common.csproj build pri0

* Change TraceEvent version to 2.0.2 to match published verison

* Address cross build failure

* Remove use of undefined variable

* Add crossgen fix to .cmd

* Use more specific types to avoid marshalling errors

* Use Assert-style statements and remove one check

* Fix cross arch build

* Fix flipped branch

* Bring build.cmd changes to build.sh

* Fix cmake writing

* Revert "Bring build.cmd changes to build.sh"

This reverts commit 893c6492548d8bc9859ebba5b1b810aa630fac63.

* remove stdlib.h

* Fix out of order null check
53 files changed:
CMakeLists.txt
build.cmd
build.sh
clr.coreclr.props
clr.defines.targets
clrdefinitions.cmake
clrfeatures.cmake
dependencies.props
functions.cmake
src/CMakeLists.txt
src/dlls/mscoree/coreclr/CMakeLists.txt
src/mscorlib/System.Private.CoreLib.csproj
src/mscorlib/src/System/Diagnostics/Eventing/EventPipe.cs
src/pal/src/CMakeLists.txt
src/pal/tests/palsuite/CMakeLists.txt
src/scripts/Utilities.py [deleted file]
src/scripts/check-definitions.py
src/scripts/genDummyProvider.py [new file with mode: 0644]
src/scripts/genEtwProvider.py [new file with mode: 0644]
src/scripts/genEventPipe.py
src/scripts/genEventing.py [moved from src/scripts/genXplatEventing.py with 68% similarity]
src/scripts/genLttngProvider.py [moved from src/scripts/genXplatLttng.py with 83% similarity]
src/scripts/genWinEtw.py [deleted file]
src/scripts/utilities.py [new file with mode: 0644]
src/vm/CMakeLists.txt
src/vm/eventpipe.cpp
src/vm/eventpipe.h
src/vm/eventpipebuffer.cpp
src/vm/eventpipebuffermanager.cpp
src/vm/eventpipeconfiguration.cpp
src/vm/eventpipeevent.cpp
src/vm/eventpipeeventinstance.cpp
src/vm/eventpipefile.cpp
src/vm/eventpipejsonfile.cpp
src/vm/eventpipeprovider.cpp
src/vm/eventpipeprovider.h
src/vm/fastserializer.cpp
src/vm/mscorlib.cpp
src/vm/sampleprofiler.cpp
src/vm/sampleprofiler.h
tests/runtest.proj
tests/src/JIT/config/benchmark+roslyn/benchmark+roslyn.csproj
tests/src/JIT/config/benchmark/benchmark.csproj
tests/src/dirs.proj
tests/src/performance/performance.csproj
tests/src/tracing/common/common.csproj
tests/src/tracing/eventpipesmoke/EventPipeSmoke.cs
tests/src/tracing/eventpipesmoke/eventpipesmoke.csproj
tests/src/tracing/eventpipetrace/EventPipeTrace.cs [new file with mode: 0644]
tests/src/tracing/eventpipetrace/eventpipetrace.csproj [new file with mode: 0644]
tests/src/tracing/eventsourcesmoke/EventSourceSmoke.cs
tests/src/tracing/eventsourcetrace/EventSourceTrace.cs [new file with mode: 0644]
tests/src/tracing/eventsourcetrace/eventsourcetrace.csproj [new file with mode: 0644]