Skip to content

Latest commit

 

History

History
27 lines (18 loc) · 2.07 KB

File metadata and controls

27 lines (18 loc) · 2.07 KB
title description keywords ms.date
Trace Provider
Trace Provider
trace providers WDK
Event Tracing for Windows WDK , providers
ETW WDK , providers
providers WDK software tracing
trace sessions WDK , providers
04/20/2017

Trace Provider

A trace provider is a component of a user-mode application or kernel-mode driver that uses Event Tracing for Windows (ETW) technology to generate trace messages or trace events. Typically, the trace events and messages report discrete actions of the provider. Reading a record of the events helps you to understand what the provider is doing in actual operating conditions.

A trace session can include more than one trace provider. This is especially useful for tracing drivers or applications that implement more than one provider component, as well as for tracing multiple drivers or applications that interact.

To start a trace session with more than one trace provider, you must specify the control GUIDs of all of the desired providers in the GUID (.guid extension) or control file that you submit to a trace controller. The trace messages generated by the providers are interspersed in the event trace log (.etl) file.

A kernel-mode driver or user-mode application, can support more than one trace provider component, even within a single source file. This feature is useful for tracing specific operations in a driver or application. To implement multiple trace providers, you must use a different control GUID in the WPP_CONTROL_GUIDS macro for each provider.

Similarly, multiple drivers or applications can be a part of a single trace provider and share its resources. This feature is useful when tracing related applications and drivers, such as port and miniport drivers. To implement this feature, specify the same control GUID in the WPP_CONTROL_GUIDS macro for each provider.