TraceLogging API

New for Windows 10, TraceLogging is the tracing 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 still supported. However, TraceLogging offers many advantages in terms of maintenance and extensibility, and is even easier to use in your code.

In this section

Topic Description

TraceLogging for kernel-mode drivers and components

This topic describes how to use the TraceLogging API from within kernel-mode drivers and components.

TraceLogging Examples

The source code in this topic demonstrates how to use TraceLogging.

How to fix TraceLogging build errors

This topic describes some common build errors and how to resolve them.