summaryrefslogtreecommitdiff
path: root/src/scripts
AgeCommit message (Collapse)AuthorFilesLines
2019-10-21Fix LTTng build for build environments with older liblttng-ust-dev (#27273) ↵Sung Yoon Whang1-1/+4
(#27294) * Fix macro redefinition to use XplatEventLogger instead of simply writing FALSE * Fix linker error * undo newline changes * Some changes to comment * Move wrapper export from eventpipe.cpp to eventtrace.cpp
2019-06-28Don't return TRUE on tracepoint_enabled if LTTng library does not exist on ↵Sung Yoon Whang1-1/+1
build (#25459)
2019-06-28Avoid the multiplication generated by mc.exe (#25454)Andrew Au1-1/+13
2019-06-25Fix LTTng filtering for runtime providers (#25374)Sung Yoon Whang1-14/+50
* LTTng filtering * Fix Windows build, make IsInitialized check faster * Cleanup/change default to no keywords/level set * Keep the default to be the current policy - enable everything * more cleanup * No need to check for initialization * Fix Windows build
2019-06-25Fix broken ETW events (#25364)Sung Yoon Whang1-5/+5
2019-06-20Fix eventpipe filtering (#25221)Sung Yoon Whang1-0/+137
* Add DOTNET_TRACE_CONTEXT and change macros to use DOTNET_TRACE_CONTEXT instead of MCGEN_TRACE_CONTEXT * Fixing macro definitions * eventing codegen scripts now generates EventPipe trace contexts * Fix macros to use the EVENTPIPE_TRACE_Context * Fix linux build * Fix windows build * Update Eventpipe provider context at EtwCallbackComon * break in switch * Update rundown provider context manually * PR feedback * Eventpipe->EventPipe * cleanup in codegen script
2019-05-10Move EventProvider native layout to be driven by CMake configure (#24478)Jeremy Koritzinsky6-598/+320
* Generate eventpipe implementation as part of CMake configure. * Generate Etw provider as part of CMake configure. * First pass porting over lttng provider to cmake. * Fix up CMake Lttng provider generation. * Move Lttng provider into CMake tree. * Move dummy event provider to CMake * Move genEventing into the CMake tree. * Remove extraneous logging and unused python locator. * Clean up build.sh * Clean up genEventingTests.py * Add dependencies to enable more incremental builds (providers not fully incremental). * Convert to custom command and targets instead of at configure time. * Get each eventing target to incrementally build. * Fix incremental builds * Add missing dependencies on eventing headers. * PR Feedback. Mark all generated files as generated * Clean up eventprovider test CMakeLists
2019-05-06Port all managed product binaries to use SDK style projects (#24285)Aaron Robinson1-8/+10
Convert managed product binary to use SDK project system. - Uses Arcade for versions strings - Overrides Arcade defined output paths - should change in the future
2019-03-21Avoid stack walk as specified in the exclusion listAndrew Au3-59/+69
2019-03-01Turn on IBC and enforce PGO in official and release builds. (#22843)Jeremy Koritzinsky1-1/+3
* Enable pgocheck to run on python 3. * Enable IBC optimizations in official builds and enforce PGO in release builds on platforms where pgocheck.py works. * Only enable IBC on Windows x64/x86.
2019-02-20Abstract deprecated and selectany for GCC and remove LLVM'ism where possible ↵Sinan Kaya1-2/+2
(#22662) * Abstract selectany * Fix initializer element is not constant src/corefx/System.Globalization.Native/pal_icushim.c:58:34: error: initializer element is not constant static const int MaxICUVersion = MinICUVersion + 20; * Enable ms extensions * Apply LLVM patterns to GCC * Remove deprecated function * Fix const conversion error src/corefx/System.Globalization.Native/pal_calendarData.c:390:16: warning: passing argument 1 of ‘ures_close_ptr’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] ures_close(erasResBundle); src/corefx/System.Globalization.Native/pal_calendarData.c:419:22: warning: initialization discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] char* name = GetCalendarName(calendarId); * Remove old compiler option
2019-02-12Renaming RuntimeEventSource to NativeRuntimeEventSource (#22533)Sung Yoon Whang1-2/+2
* Renaming RuntimeEventSource to NativeRuntimeEventSource * missed a couple of comments and XPlatEventLogger * rename DotNETRuntimeEventSource.cs to NativeRuntimeEventSource.cs * use condition= instead of ifdef * removing ifdef from NativeRuntimeEventSource.cs * Fix case for 'eventing' directory in csproj * Fix unix builds * This should fix unix build...
2018-12-30Use EventSource guid ctor for RuntimeEventSource (#21714)Ben Adams1-1/+0
2018-09-05Don't build and publish libcoreclr libeventprovider libeventpipe as ↵Egor Chesakov2-7/+3
crosscomponents on ARM (#19782) * Use _install to stop copying sosdocsunix.txt to crosscomponents directory in src/ToolBox/SOS/Strike/CMakeLists.txt * Use _install for coreclrpal in src/pal/src/CMakeLists.txt * Use _install for eventprovider in src/scripts/genLttngProvider.py * Unconditionally use add_library_clr and _install for eventpipe in src/scripts/genEventPipe.py
2018-07-02Dispatch Runtime Events to EventListener (#18649)Brian Robbins1-6/+31
2018-05-21small fixes to build CoreCLR on FreeBSD again (#18072)Tomas Weinfurt1-2/+4
* small fixes to build CoreCLR on FreeBSD again * feedback from review * update genLttngProvider.py as jan suggested * remove extra comment * add missing extra space
2018-05-16Generate EventSources Representing DotNETRuntime Eventing Providers (#18007)Brian Robbins2-0/+457
2018-04-04Fix ARM32 on ARM64 Tracing (#17417)Brian Robbins3-4/+4
2018-02-17delete unused mirror files (#16423)Sergey Andreenko1-1/+0
2018-01-23[Local GC] FEATURE_EVENT_TRACE 1/n: Tracking Event State (#15873)Sean Gillespie1-2/+3
* [Local GC] FEATURE_EVENT_TRACE 1/n: Add infrastructure for keeping event state within the GC and plumbing to communicate event state changes * Code review feedback: use a load without a barrier in IsEnabled and put debug-only code under TRACE_GC_EVENT_STATE * Address code review feedback: add EventPipe callback and comments * Fix the non-FEATURE_PAL build * Fix an issue where the GC fails to react to ETW callbacks to occur before the GC is initialized (e.g. on startup when an ETW session is already active) * Simplify callback locking scheme * Add a separate callback for each EventPipe provider and funnel them all through a common handler * Fix non-FEATURE_PAL build
2018-01-10Fix incremental build by preventing nonchanging writes (#15817)Victor "Nate" Graf3-60/+86
Fix incremental build by preventing non-changing writes in generated ETW source code
2018-01-02Retry: Enable EventPipe across Unix and Windows (#15611)Victor "Nate" Graf9-673/+1091
* Revert "Revert "Enable EventPipe across Unix and Windows (#14772)" (#15609)" This reverts commit 302005ca8ae14eade37ddf4ac6e900617c1c166a. * Fix ARM build break * Use more explicit references to resolve build failures * Fix compat with python3 * Disable FeaturePerfTracing on Windows as it is not ready * Disable test for incomplete functionality * Fix test diabled patterns * Add license header * Use keyword types for managed code * Add message prefix * More precisly condition generation of eventing sources * Remove erroneously added changes
2017-12-21Revert "Enable EventPipe across Unix and Windows (#14772)" (#15609)Victor "Nate" Graf9-1082/+673
This reverts commit 7524d72d4f0f634fe5407280b83c25181dc8c556.
2017-12-20Enable EventPipe across Unix and Windows (#14772)Victor "Nate" Graf9-673/+1082
* [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
2017-11-15Fire tracepoints for methods with no template (#14987)Victor "Nate" Graf1-3/+6
2017-11-07Remove XplatEventLogger::IsEventLogging where possible (#14706)Tom Deseyn1-14/+2
2017-09-18Use the calculated size (offset) instead of estimated (size) (#14049)Victor "Nate" Graf1-1/+1
2017-09-01Change identifier for EventProviders from GUID to string name (#13370)Victor "Nate" Graf1-26/+11
* [WIP] Changed event provider to user String identifiers * [WIP] Remove GUID from generated code * [WIP] Many small fixes * [WIP] Fix error in constructing GUID * Pass EventSource to abstract away GUID/Name references * Fix various small errors * Delay construction of SString objects * Change GUIDs to names * Change hardcoded GUID strings to names * Revert testing changes * Remove extra line * Use the EventSource name * Use provider full names * Use full-names for Rundown * Bump version number for eventpipe file * Address review comments
2017-08-24Remove unnecessary buffer copy from EventPipe::WriteEvent pipeline (#13347)Victor "Nate" Graf1-1/+1
* [WIP] Eliminate extra buffer copy with new api path * Copy blobs to a flat buffer is Rundown is on * Refactor to use payload class and dedupe code * Add contracts * Fix many small errors * Make names unambiguous * Add EventPipe::WriteEventBlob to ecalllist.h * Address code review * Add test and fix a buffer copy bug * Copy data instead of data pointer * Add optional output file arg to tests * Change failure return code * Renamed variables for clarity
2017-08-08Add build-time check to enforce PGO compilation for applicable DLL files ↵Victor "Nate" Graf1-0/+77
(#13258) * Added PGO execution verification script Added a script which can help verify whether or not PGO was used to compile PE files passed to it * Added target to enforce PGO compilation * Remove OS checking for enforcepgo
2017-06-06Fix build breakage on high-processsor machines (#12114)Omair Majid1-0/+2
The build calls `make -j $NumProc`. This breaks on machines with a high number of procesors (such as 25). To reproduce this on any machine, edit build.sh and change buildTool install -j $NumProc to buildTool install -j 100 The error trace looks like this: In file included from coreclr/bin/obj/Linux.x64.Debug/Generated/eventpipe/dotnetruntime.cpp:12: In file included from coreclr/src/vm/common.h:306: In file included from coreclr/src/vm/eepolicy.h:15: In file included from coreclr/src/vm/vars.hpp:70: In file included from coreclr/src/vm/eeprofinterfaces.h:19: In file included from coreclr/src/inc/profilepriv.h:128: In file included from coreclr/src/inc/profilepriv.inl:18: In file included from coreclr/src/vm/eetoprofinterfaceimpl.h:23: coreclr/src/inc/eventtracebase.h:306:10: fatal error: 'clretwallmain.h' file not found It turns out that the eventpipe code has a dependency on clretwallmain.h. src/CMakeLists.txt points out that clretwallmain.h is a generated file. But there's no actual dependency between the eventpipe target and the header file(s). Fix that by fixing the generator script to insert an explicit dependency between 'eventpipe' module and 'GeneratedEventingFiles' module.
2017-05-16Allow provider deletion to be deferred until after tracing is stopped. (#11651)Brian Robbins1-1/+1
2017-05-15Write EventSource events with metadata to EventPipe (#11577)Xiangyang (Mark) Guo1-1/+1
* 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
2017-05-12Don't allow specification of needStack to EventPipeProvider when creating an ↵Brian Robbins1-8/+3
event. (#11571)
2017-05-06Log Events to EventPipe on Linux (#11433)Brian Robbins3-13/+582
* Implement the EventPipe object model for providers and events. * Plumb Runtime Events into EventPipe (#11145) Plumb runtime ETW events into the EventPipe. * Fix bug where all events except for SampleProfiler events were never enabled. * Plumb EventPipeEventInstance through the EventPipe. * Implement EventPipeFile and FastSerializer. * Write event contents to the EventPipeFile. * Only build EventPipe on Linux. * Conditionally add a sentinel value marking event end. * Send SampleProfiler events to the EventPipeFile. * Fix provider ID printing to JSON file. * Write the start date/time, timestamp, and clock frequency into the trace file. * Support unloading of EventPipeProviders. * Handle failure cases when we can't walk the stack or are shutting down. * Fix a bug where we pass a null src pointer to memcpy.
2017-05-05Fixed issue #11383 (#11385)sergey ignatov1-1/+4
2016-06-28Move intermediate file into intermediate dir (#5981)MyungJoo Ham1-1/+6
The intermediate file, cmake.definitions, is moved into the intermediate directory: bin/obj/OS.Arch.Conf/ The script won't emit error for not having the cmake results because some systems (Windows) do not use Cmake and users might use "skipnative". Fixes #5976 Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2016-06-23Make check-definitions compatible with Python 3.Pat Gavlin1-9/+11
Import and use the Python 3-compatible print_function from __future__.
2016-06-23Scripts: verify compiler definitions of native and managed (#4675)MyungJoo Ham1-0/+154
* Scripts: find out compiler definitions of CMake In order to find mismatch between native and managed, we need to know the list of definitions of native. The copmiler definitions are stored at cmake.definitions This addresses the complaints of #4674 Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> * Scripts: add check-definitions.py scripts/check-definitions.py checks the consistency between the native-build (CMake) compiler definitions and the managed-build (MSBuild/mscorlib) compiler definitions at build-time and prints out potentially dangerous inconsistencies. In order to get the proper results, managed build should be executed after the native build (build.sh will do so if no options such as skipnative or skipmanaged are given.) Fix #4674 Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> * Scripts: allow check-definitions py to ignore the harmless The third argument of check-definitions.py specifies harmless keywords to be suppressed from emitting warning messages. Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com> * Scripts: add ignored cdefine keywords for warning As an example of how to declare compiler definition keywords that are harmless to be inconsistent between the native and the managed, we have added FEATURE_IMPLICIT_TLS and FEATURE_HIJACK. Developers may add more keywords in System.Private.CoreLib.csproj if the keywords are verified to be harmless; i.e., although the keywords exist in both cmake and clr.coreclr.props, the keywords are NEVER used in either side of the sources or the keywords only happen to have the same name while they denote the completely different semantics and may be disjoint. Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2016-06-01Squashed commit of the following:David Mason1-5/+14
commit 45d11dde6acdc3def0a13302c527e3c7a662b009 Author: David Mason <davmason@microsoft.com> Date: Wed May 25 19:00:10 2016 -0700 Squashed commit of the following: commit f586c5552d8225f13b5a0476f5bdf9362ba9ee8d Author: Lee Culver <leculver@microsoft.com> Date: Wed May 25 14:17:45 2016 -0700 Fix heap dump GC type to be Induced Previously we didn't set the GC type to be "Induced" when collecting a heap dump. This would cause perfview to ignore the GC. commit 78866dfdcc15ebade0a2faeb6af9a5b7f5e0a170 Author: Lee Culver <leculver@microsoft.com> Date: Wed May 25 13:18:41 2016 -0700 Enable LTTng events for creating a gcdump There were a handful of events that were not properly enabled on linux. This change adds enables the remaining events to allow heap dumps. commit 04d3d6c3d9a1c87e88bc1db91f717481f21874bc Author: Lee Culver <leculver@microsoft.com> Date: Tue May 24 12:57:16 2016 -0700 Fix BulkTypeEvents The buffer used for BulkTypeEvents was defined as a BYTE** instead of BYTE*. This lead to incorrectly written BulkTypeEvents. commit 8ceab5828e8101b134beb0175b1842487607636c Author: David Mason <davmason@microsoft.com> Date: Wed May 18 11:21:12 2016 -0700 Add logic for finalizer thread to check to see if a heap dump is required. commit cd64b4884d639ce90e4192975533f5e873bd1cb3 Author: Lee Culver <leculver@microsoft.com> Date: Thu May 19 14:24:01 2016 -0700 Special case BulkType LTTng event The BulkType LTTng event does not have a real element size. Instead each element is variable length. This change updates the FireBulkType method to allow us to pass the correct size to LTTng. commit f8ab762106188bc124af802ec0490ef8375412b5 Merge: 77495aa f0d9ab4 Author: Lee Culver <leculver@microsoft.com> Date: Thu May 19 13:49:43 2016 -0700 Merge branch 'gc-events' of github.com:leculver/coreclr into gc-events commit f0d9ab4e52c69b45d2d169983c23ab5263edb5c0 Author: Lee Culver <leculver@microsoft.com> Date: Thu May 19 12:51:01 2016 -0700 Enable BulkType LTTng events on linux Emit calls to FireBulkType events on linux. This commit enables the code, but currently the wrong size is used in the etw subsystem (this function must be special cased). commit 25c682ce49f51298f011046faa50443c569943b7 Author: Lee Culver <leculver@microsoft.com> Date: Wed May 18 12:06:05 2016 -0700 Fix multiple LTTng issues - Only emit LTTng events when LTTng is enabled. We now use the tracepoint_enabled macro to check if an event is enabled...when the version of lttng is installed that supports it. - Unsplit LTTng events. Previously we split LTTng events when they exceeded the field limit of LTTng. Now we emit those events as a raw byte array so that it matches their windows ETW counterparts byte-for-byte. - Emit any event with a struct or embedded array as a raw byte array too. The structure of memory that LTTng emits is incompatible with our ETW parsing. Changing events with struct/array fields greatly simplifies the parsing of events. commit 77495aa1b3415dcee8d4b6e8eb1d0b5cb921f821 Merge: 754596d f77577c Author: Lee Culver <leculver@microsoft.com> Date: Tue May 17 18:24:55 2016 -0700 Merge branch 'master' of github.com:leculver/coreclr commit 754596d9c51d07db9267148a20f81c786f719312 Author: Lee Culver <leculver@microsoft.com> Date: Tue May 17 18:21:54 2016 -0700 Squashed commit of the following: commit f77577c1d7c552de9e75f6fb98a656a1d09bf8b2 Author: Lee Culver <leculver@microsoft.com> Date: Tue May 17 18:04:18 2016 -0700 Properly handle arrays in LTTng Arrays were not being properly handled by the LTTng code generator. commit 390e998719e050a4e61b29bef4c8f8ecbff3423f Author: Lee Culver <leculver@microsoft.com> Date: Tue May 17 11:21:07 2016 -0700 Manually write events with structs Manually write events to LTTng which have structs embedded in them. commit 54ae7c79f3c96987504cece302513ac9215afbfe Author: Lee Culver <leculver@microsoft.com> Date: Tue May 17 09:12:45 2016 -0700 Fix issue with struct sizes Struct sizes were not properly calculated for manually saved events. commit d4e59b1b8b18822e551e585ebe006e5b66066bf8 Author: Lee Culver <leculver@microsoft.com> Date: Mon May 16 20:57:33 2016 -0700 Fix tests Tests were not being generated properly, as they skipped a parameter. This is now fixed. commit 91d68c7ee36f28b1d9de8d0242edcd078416dc80 Author: Lee Culver <leculver@microsoft.com> Date: Wed May 11 17:41:23 2016 -0700 Remove excess fields in LTTng stream Extra fields were inserted into LTTng to calculate the size of struct pointers. Now this calculation is done natively without needing to insert the extra fields. commit 3bf826f5e36637ff5188d0205510d7236458075a Author: Lee Culver <leculver@microsoft.com> Date: Tue May 10 10:00:39 2016 -0700 Re-enable dynamic linking to fix a load issue Was getting a loader issue on startup, disabling static linking for now. commit aacb45ff675d2299df938493416f875096ec446c Author: Lee Culver <leculver@microsoft.com> Date: Thu Apr 28 20:56:01 2016 -0700 Unsplit lttng events LTTng has a limitation in that it cannot emit events with more than 9 parameters. Previously we would split these events into multiple events. However this proves to be very difficult to consume with TraceEvent. Instead we now pack the parameters into a byte array an emit the byte array + length as a single event, avoiding the need to recombine events later. commit a9a630da28d42132c2e8929909e86545fbe630c9 Author: Lee Culver <leculver@microsoft.com> Date: Wed Apr 20 13:31:33 2016 -0700 Only emit LTTng events when they are enabeld. This changes adds a check for tracepoint_enabled (when that feature is available). This change also statically compiles against the LTTng libraries (instead of dynamically) to avoid using entrypoints that may not be there if compiled against a different lttng that lacks the tracepoint_enabled entrypoint. commit f77577c1d7c552de9e75f6fb98a656a1d09bf8b2 Author: Lee Culver <leculver@microsoft.com> Date: Tue May 17 18:04:18 2016 -0700 Properly handle arrays in LTTng Arrays were not being properly handled by the LTTng code generator. commit 390e998719e050a4e61b29bef4c8f8ecbff3423f Author: Lee Culver <leculver@microsoft.com> Date: Tue May 17 11:21:07 2016 -0700 Manually write events with structs Manually write events to LTTng which have structs embedded in them. commit 54ae7c79f3c96987504cece302513ac9215afbfe Author: Lee Culver <leculver@microsoft.com> Date: Tue May 17 09:12:45 2016 -0700 Fix issue with struct sizes Struct sizes were not properly calculated for manually saved events. commit d4e59b1b8b18822e551e585ebe006e5b66066bf8 Author: Lee Culver <leculver@microsoft.com> Date: Mon May 16 20:57:33 2016 -0700 Fix tests Tests were not being generated properly, as they skipped a parameter. This is now fixed. commit 91d68c7ee36f28b1d9de8d0242edcd078416dc80 Author: Lee Culver <leculver@microsoft.com> Date: Wed May 11 17:41:23 2016 -0700 Remove excess fields in LTTng stream Extra fields were inserted into LTTng to calculate the size of struct pointers. Now this calculation is done natively without needing to insert the extra fields. commit 3bf826f5e36637ff5188d0205510d7236458075a Author: Lee Culver <leculver@microsoft.com> Date: Tue May 10 10:00:39 2016 -0700 Re-enable dynamic linking to fix a load issue Was getting a loader issue on startup, disabling static linking for now. commit aacb45ff675d2299df938493416f875096ec446c Author: Lee Culver <leculver@microsoft.com> Date: Thu Apr 28 20:56:01 2016 -0700 Unsplit lttng events LTTng has a limitation in that it cannot emit events with more than 9 parameters. Previously we would split these events into multiple events. However this proves to be very difficult to consume with TraceEvent. Instead we now pack the parameters into a byte array an emit the byte array + length as a single event, avoiding the need to recombine events later. commit a9a630da28d42132c2e8929909e86545fbe630c9 Author: Lee Culver <leculver@microsoft.com> Date: Wed Apr 20 13:31:33 2016 -0700 Only emit LTTng events when they are enabeld. This changes adds a check for tracepoint_enabled (when that feature is available). This change also statically compiles against the LTTng libraries (instead of dynamically) to avoid using entrypoints that may not be there if compiled against a different lttng that lacks the tracepoint_enabled entrypoint.
2016-05-20Fix multiple LTTng issues (#5068)Lee Culver2-417/+611
- Only emit LTTng events when LTTng is enabled. We now use the tracepoint_enabled macro to check if an event is enabled...when the version of lttng is installed that supports it. - Unsplit LTTng events. Previously we split LTTng events when they exceeded the field limit of LTTng. Now we emit those events as a raw byte array so that it matches their windows ETW counterparts byte-for-byte. - Emit any event with a struct or embedded array as a raw byte array too. The structure of memory that LTTng emits is incompatible with our ETW parsing. Changing events with struct/array fields greatly simplifies the parsing of events.
2016-03-25Fix invalid path to genXplatLttng.pyEmmanuel1-1/+1
2016-03-22Strip symbols on release builds into separate binariesMike McLaughlin1-4/+4
Issue #3669 Created a common cmake strip_symbols function that all the modules and programs use to strip the symbols out of the main into a separate .dbg (Linux) or .dSYM (OSX) file. Added an install_clr cmake function to encapsulate the install logic. Changed all the library module cmake install lines from a TARGETS to a FILES one. The TARGETS based install directives caused cmake to relink the binary and copy the unstripped version to the install path. Left the all programs like corerun or ildasm as TARGETS installs because on OSX FILES type installs don't get marked as executable. Need to use "get_property(strip_source_file TARGET ${targetName} PROPERTY LOCATION)" for the older versions of cmake and "set(strip_source_file $<TARGET_FILE:${targetName}>)" on newer versions (v3 or greater).
2016-03-11Using StackString to improve memory consumption in Lttng EventProviderDDCloud1-18/+18
2016-02-17Fix typo in genXplatEventing.py.Aditya Mandaleeka1-3/+3
2016-01-31Introduce central location for turning FEATURE_EVENT_TRACE on/offJan Kotas1-2/+2
Turn FEATURE_EVENT_TRACE on for x64 Linux only. aarch64 and arm do not have working lttng in their ubuntu/debian repos. We can expand to other platforms in the future as they become supported.
2016-01-29update version of buildtoolsRahul Kumar2-19/+0
2016-01-28Merge pull request #2880 from janvorli/fix-python-scriptJan Vorlicek1-1/+1
Fix missing format specifier in Utilities.py
2016-01-27Update license headersdotnet-bot3-21/+19
2016-01-27Fix missing format specifier in Utilities.pyJan Vorlicek1-1/+1
The Utilities.py script was missing the `%s` format specifier in one of the prints and it was causing a build failure for me.