TraceEvent is an library that greatly simplifies reading Event Tracing for Windows
(ETW) events. ETW is the power behind the Windows Performance Analyzer
(also known as the XPerf Tool). The Windows OS has events for just about anything that you could be interested in from a performance standpoint (CPU usage, Context switched Disk I/O DLL Loads, Blocking, all with stack traces). In addition the .NET Runtime has events for garbage collection, Just In time Compilation, Assembly loading and more. TraceEvent was built for people who understand the power of the data that XPERF lets you get at, but also needs the capability to programatically maniputate that data. It is the foundation of truly powerful and flexible performance analysis on windows.
First, see TraceEvent Class Overview
to see if the functionality this download provides piques your interest.
If it does, the best way to understand how TraceEvent can be used in 'real life' scenarios is by exploring a sample. That is exactly what PerfMonitor
is. It is a simple console-based application that can collect ETW data as ETL files and display them in various ways as XML. It is recommended that you simply download that application and learn see how it uses TraceEvent APIs to learn how to use it. PerfMonitor includes the TraceEvent library as part of its download, so you get both a sample and the library in one download. If you wish to just download TraceEvent without PerfMonitor you can do so by visiting the page.
- TraceEvent Class Overview for more information on the classes that this download provides.
- Download for downloading either the source or the binary distribution of TraceEvent.dll
- PerfMonitor the simple command line ETW controller and printer based on TraceEvent.