Tag Archives: wpa

Windows Performance Analyzer, From Store or SDK

ETW is the best way to analyze performance on Windows, and Windows Performance Analyzer (WPA) has been the preferred tool for analyzing ETW traces for ten years now, generally obtained either by running UIforETW or by getting it from the … Continue reading

Posted in Documentation, uiforetw, xperf | Tagged , , , | 5 Comments

63 Cores Blocked by Seven Instructions

I seem to have a habit of writing about super powerful machines whose many cores are laid low by misuse of locks. So. Yeah. It’s that again. But this one seems particularly impressive. I mean, how often do you have … Continue reading

Posted in Investigative Reporting, Performance, Programming, Quadratic, uiforetw, xperf | Tagged , , | 12 Comments

WPA Symbol Loading is Much Faster, but Broken for Chrome

There’s good news, and there’s bad news. The good news is that the latest Windows Performance Analyzer (WPA), the visualization tool for ETW (Event Tracing for Windows) traces, can now load symbols faster than ever before – it’s multi-threaded, and … Continue reading

Posted in uiforetw | Tagged , , , | 3 Comments

ETW Flame Graphs Made Easy

A bit over three years ago I wrote about how to use flame graphs to visualize CPU Usage (Sampled) data from ETW, and a year ago I added flame graph support to UIforETW. However these techniques are clumsy and slow … Continue reading

Posted in Performance, uiforetw, xperf | Tagged , , | 28 Comments

Slow Symbol Loading in Microsoft’s Profiler, Take Two

When I run into a problematically slow program I immediately reach for a profiler so that I can understand the problem and either fix it or work around it. This guidance applies even when the slow program is a profiler. … Continue reading

Posted in Investigative Reporting, xperf | Tagged , , , , | 20 Comments

Process Tree from an Xperf Trace

I was looking at an xperf (ETW) trace recently and needed to know who had started a particular process. The parent process ID was stored in the trace so I could find its parent, and its parent’s parent, and so … Continue reading

Posted in xperf | Tagged , , , , | 11 Comments

Exporting Arbitrary Data from xperf ETL files

The 8.1 and above versions of xperf/WPA/WPT comes with a tool called wpaexporter. This tool works as promised and lets you export arbitrary summary tables to .csv files, thus allowing for automated analysis of xperf traces.

Posted in Documentation, Performance, xperf | Tagged , , , | 16 Comments

The New WPA Xperf Trace Viewer–New Bugs and Old

Every Windows performance expert should be using xperf traces. My preferred viewer for xperf traces is WPA – Windows Performance Analyzer. However the Windows 8 version of this tool has a few bugs in its display of custom ETW events. … Continue reading

Posted in Bugs, xperf | Tagged , , | 3 Comments

Xperf for Excess CPU Consumption: WPA edition

Last year I wrote an article about how to use xperf to analyze a CPU bound program, using the xperfview UI. Since then the WPA UI has come out and replaced xperfview. This updated version of the article explains how … Continue reading

Posted in xperf | Tagged , , , | 13 Comments

Xperf Basics: Recording a Trace (the easy way)

Some time ago I wrote a long and detailed post about how to record traces using xperf. The steps needed to record a trace were daunting. However more recent versions of the Windows Performance Toolkit (WPT, the proper name for … Continue reading

Posted in Performance, xperf | Tagged , , , | 46 Comments