When diagnosing low-level performance bottlenecks, kernel driver stalls, application crashes, or boot latency in Windows 11, diagnostic tools like Windows Performance Recorder (WPR), Network Shell (netsh trace), or Reliability Monitor generate binary files with the .etl extension: Event Trace Logs. Because ETL files use an optimized, high-throughput binary format to log millions of kernel events without degrading system performance, they cannot be read with standard text editors or processed in data pipelines.
Windows 11 includes a native command-line parser designed specifically to process these binary archives: tracerpt.exe. Built into System32, tracerpt parses binary ETL trace files, extracts timestamped thread events, correlates process GUIDs, and converts raw trace data into human-readable CSV, XML, or HTML dump reports. This guide covers common commands, syntax parameters, and data extraction workflows.
Launching Elevated Terminal
Because processing system kernel traces frequently involves protected telemetry, launch Terminal as Administrator:
- Press
Win + Xand select Terminal (Admin). - Ensure your current working directory has write permissions for exported reports.
Core tracerpt Parsing Commands
1. Converting ETL Traces Directly into CSV
To convert a binary network or performance trace (e.g. trace.etl) into an easily analyzable CSV spreadsheet:
tracerpt C:\Logs\trace.etl -of CSV -o C:\Logs\summary.csv
The -of CSV flag specifies the output format, while -o declares the destination output file containing all event records.
2. Generating an Executive Workload Summary Report
If your ETL file is several gigabytes in size, converting every single event line creates massive spreadsheets. To generate a high-level statistical summary table instead:
tracerpt C:\Logs\trace.etl -report C:\Logs\workload_summary.csv -f CSV
This command outputs a consolidated breakdown listing total event counts per Provider GUID, process CPU consumption, and disk I/O frequencies.
3. Parsing Multiple ETL Files Concurrently
When analyzing distributed cluster sessions or circular buffer traces split into multiple chunks:
tracerpt trace01.etl trace02.etl trace03.etl -of CSV -o merged_trace.csv
Interpreting tracerpt CSV Columns
| CSV Header Column | Data Type | Diagnostic Significance |
|---|---|---|
Event Name |
String | Kernel event identifier (e.g. DiskIo/Read, Process/Start) |
Clock-Time |
Microsecond timestamp | Enables exact chronological event sequencing |
Process ID (PID) |
Integer | Identifies the exact executable generating kernel requests |
Thread ID (TID) |
Integer | Pinpoints worker thread context switching |
UserData |
String / Hex | Detailed payload parameters (file paths, I/O byte sizes) |