Build & maintain complex distributed systems
October 1–2, 2017: Training
October 2–4, 2017: Tutorials & Conference
New York, NY

ETW: Monitor anything, anytime, anywhere

Dina Goldshtein (Riverbed)
3:50pm4:30pm Wednesday, October 4, 2017

Who is this presentation for?

  • Windows developers (.NET or C++) and DevOps engineers

Prerequisite knowledge

  • A working knowledge of .NET development

What you'll learn

  • Understand why common profiling tools are not a great fit for production monitoring
  • Become familiar with ETW and its architecture
  • Investigate multiple scenarios such as high CPU, high memory usage, and slow startup times using ETW


Event Tracing for Windows (ETW) is the most important diagnostic tool Windows developers have at their disposal. Dina Goldshtein explores 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.

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’s a critical, first-stop skill on your way to mastering application performance and diagnostics. You’ll 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 also walks you through 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. You’ll be exposed to innovative performance tools that haven’t been applied to ETW before, such as flame graphs for visualizing call stacks and a command-line interface for dynamic, scriptable ETW tracing.

Photo of Dina Goldshtein

Dina Goldshtein


Dina Goldshtein is a senior software engineer at Riverbed, which she joined through the acquisition of Aternity, a company that 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, where she works on boot performance monitoring, identifying bottlenecks in the Windows boot process, and monitoring user experience on the web. Previously, Dina worked at BrightSource Energy, where she lead the software foundations team, developing software infrastructure used by the entire R&D department. She was also responsible for bringing in new technologies, mentoring, and improving quality and development processes department-wide.