Skip to main content

Windows Performance Toolkit (WPT)

Included in the Windows ADK, the Windows Performance Toolkit (WPT) contains performance analysis tools that are useful to a broad audience, including general application developers, driver developers, hardware manufacturers, and system builders. These tools are designed for measuring and analyzing system and application performance on Windows 8.

Toolkit

The WPT is designed for capture and analysis of a wide range of performance problems including application start times, boot issues, deferred procedure calls and interrupt activity (DPCs and ISRs), system responsiveness issues, application resource usage, and interrupt storms.

These tools ship with the Windows ADK. WPT is also available with the Windows SDK.

What Tools Do I Get?

The Windows Performance Toolkit is installed as part of the Windows ADK or Windows SDK. WPT contains the following tools:

Tool NameFunction
Windows Performance RecorderCaptures detailed system and application behavior and resource usage either from the command line or a graphical user interface.
Windows Performance AnalyzerUsed to review aspects of performance on Windows. WPA opens event trace log files and displays performance data in graphs and tables so that you can easily see where to investigate potential issues.

 

How Do These Tools Fit Together?

The tools use a trace capture and analysis model that follows this general flow:

  1. ETW tracing is enabled using WPR.
  2. System behavior is captured.
  3. ETW tracing stops and the data is saved to an ETL trace file.
  4. Trace files can then be analyzed using WPA. Traces can be processed on the PC on which they were taken, or copied to another PC for analysis (including cross-architecture). Everything needed for analysis is stored in the trace file.

 

What Makes These Tools Possible?

The Windows Performance Toolkit is built on top of the Event Tracing for Windows (ETW) infrastructure. ETW enables Windows and applications to efficiently generate events, which can be enabled and disabled at any time without requiring system or process restarts. ETW collects requested kernel events and saves them to one or more files referred to as trace files or traces. These kernel events provide extensive details about the operation of the system. Some of the most important and useful kernel events available for capture and analysis are context switches, interrupts, deferred procedure calls, process and thread creation and destruction, disk I/Os, hard faults, processor P-State transitions, and registry operations, though there are many others.

One of the great features of ETW, supported in WPT, is the support of symbol decoding, sample profiling, and capture of call stacks on kernel events. These features provide very rich and detailed views into the system operation. WPT also supports automated perf testing.