Video and slides synchronized, mp3 and slide download available at URL https://bit.ly/2J6ESmR.
Sasha Goldshtein talks about PerfView - an open source tool for .NET performance diagnosis in production environments. He uses PerfView to systematically measure and improve CPU time, wall-clock time, and memory usage (yes, PerfView can solve memory leaks as well!). Filmed at qconlondon.com.
Sasha Goldshtein is the CTO of Sela Group, a Microsoft MVP and Regional Director. He is an active open source contributor to projects focused on system diagnostics, performance monitoring, and tracing - across multiple operating systems and runtimes. He authored training courses on Linux performance optimization, event tracing, production debugging, mobile application development, and modern C++.
2. InfoQ.com: News & Community Site
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
perfview-net
• Over 1,000,000 software developers, architects and CTOs read the site world-
wide every month
• 250,000 senior developers subscribe to our weekly newsletter
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• 2 dedicated podcast channels: The InfoQ Podcast, with a focus on
Architecture and The Engineering Culture Podcast, with a focus on building
• 96 deep dives on innovative topics packed as downloadable emags and
minibooks
• Over 40 new content items per week
3. Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Presented at QCon London
www.qconlondon.com
5. One Production Performance Investigation
• Customer pain point:
• Very infrequently, user requests that save and load files are failing
• “Detailed” performance monitoring report (1 day):
• Average storage array latency is 5ms, so there’s no problem
• “Super-detailed” performance monitoring report (3 days):
• Per-minute average storage array latency numbers
• Average of averages is 5ms, so there’s no problem
3
8. Event Tracing for Windows (ETW)
• High-performance logging framework with structured payloads and
stack trace support
• Used widely across Windows, .NET, drivers, services, and more
6
10. Some Interesting Providers
• Kernel Sample (Profile) provider
• Produces a call stack every 1ms of CPU execution time
• CLR GC and SampAlloc provider
• Produces events for garbage collections and object allocation samples
• Kernel Context Switch provider
• Produces events for context switches, enables tracking off- and on-CPU
transitions (thread blocked time)
• Kernel FileIO provider
• Produces events for each file I/O operation and its duration
8
11. What’s In An ETW Recording?
• A huge list of events, think millions
• Events have multiple columns (payload), think Excel spreadsheet
• Useless without additional processing
9
12. PerfView
• ETW collection and analysis tool authored by Vance Morrison of the
Microsoft .NET team
• Huge variety of performance investigation scenarios
• Steep(ish) learning curve
• Watch training videos!
10
17. Memory Analysis with PerfView
• PerfView can capture optimized heap snapshots
• Sampling, spanning tree generation, object content dropping
• Compare snapshots to determine which objects are being allocated
and not freed
• Determine which GC root paths keep objects alive
15
19. Summary
• ETW is the performance monitoring framework of today and the
future
• PerfView is a free, universal analysis tool for CPU, memory, and
thread time investigations
• Detailed performance monitoring in production is possible and
required
17