ETW — Monitor Anything, Anytime, Anywhere

Track 3 | 12:45

Event Tracing for Windows (ETW) is the most important diagnostic tool Windows developers have at their disposal. In this talk, Dina along with an audience will explore the rich and wonderful world of ETW events, which span numerous components including the kernel scheduler, the CLR garbage collector, the Windows UI subsystem (including XAML-specific events), request-processing frameworks such as ASP.NET and WCF, and many others. Listeners of the talk will learn how to diagnose incredibly complex issues in production systems such as excessive garbage collection pauses, slow startup due to JIT and disk accesses, and even sluggishness during the Windows boot process. Dina will show some ways to automate ETW collection and analysis to build self-diagnosing applications that identify high CPU issues, resource leaks, and concurrency problems and produce alerts and reports. In the course of the talk, innovative performance tools that haven’t been applied to ETW before will be used — flame graphs for visualizing call stacks and a command-line interface for dynamic, scriptable ETW tracing. ETW is truly a window into everything happening on your system, and it doesn’t require expensive licenses, invasive tools, or modifying your code in any way. It is a critical, first-stop skill on your way to mastering application performance and diagnostics.

Download presentation. Look presentation.

Dina Goldshtein
Dina Goldshtein dinazil


Dina Goldshtein is a Senior Software Engineer at Aternity. Aternity builds performance monitoring tools that run on millions of PCs and mobile devices. Dina is on the team responsible for the core collection mechanism, which hooks low-level Windows events and collects performance information from a variety of sources. Since starting at Aternity, she worked a lot on boot performance monitoring, identifying bottlenecks in the Windows boot process. Prior to her work at Aternity, Dina worked at BrightSource Energy, where she lead the Software Foundations team, developing software infrastructures used by the entire R&D department. As part of her job she was also responsible for bringing in new technologies, mentoring and improving quality and development processes, department-wide.

All talks