New for Windows 10, TraceLogging is the tracing and telemetry framework for user-mode applications and kernel-mode drivers. The TraceLogging API is based upon Event Tracing for Windows (ETW) and offers a simplified way of instrumenting code to create a native C/C++ ETW provider. The TraceLogging instrumentation can be structured when needed, but does not require the overhead of defining events and event data in a separate instrumentation manifest (XML file). In addition, the instrumentation you add with the TraceLogging API can easily be extended to provide telemetry data for performance measurements and diagnostics.
The TraceLogging API offers the advantages of WPP Software Tracing or debug print statements, in that it is easy to code, and it also provides the benefits of manifest-based ETW, in that it is easy to analyze and correlate the events from the collected trace data.
TraceLogging is built on ETW and is compatible with existing tools. Providers that use manifest-based ETW will continue to be supported. There is no need to convert manifest based ETW providers to TraceLogging providers, except in those cases where you need events for telemetry data.
WPP Software Tracing is supported. However, TraceLogging offers many advantages in terms of maintenance and extensibility, and is even easier to use in your code.
In this section
This topic describes how to use the TraceLogging API from within kernel-mode drivers and components.
The source code in this topic demonstrates how to use TraceLogging.
This topic describes some common build errors and how to resolve them.