Vance Morrison, Performance Architect on the Common Language Runtime (CLR) team writes and maintains a very powerful tool called PerfView that harnesses the power of Event Tracing for Windows (ETW) data produced by the CLR. The tool can be download here.
Although he had previously published some tutorial videos as a ZIP download on his blog, those videos have now been published in a more accessible way as a PerfView tutorial series here on Channel 9.
PerfView is a performance-analysis tool that helps isolate CPU- and memory-related performance issues.
Date published: 6/20/2012
PerfView.zip, 6.4 MB
PerfView is a performance analysis tool focusing on ETW information (ETL files) as well as CLR memory information (heap dumps). It can collect and view ETL files as well as XPERF CSV files. Powerful grouping operators allow you to understand performance profiles in ways other tools can't. PerfView is used internally at Microsoft by a number of teams and is the primary performance investigation tool on the .NET Runtime team. Features include:
- Non-invasive collection - suitable for use in live, production environments
- Xcopy deployment - copy and run
- Support for very large heaps (gigabytes)
- Snapshot diffing
- Dump files (.dmp)
- CPU Performance
- Support for managed, native, and mixed code
- Can read XPerf logs
- Profile diffing
Updates in the 1.0.29 version include:
- Improved view for analyzing blocked time (thread time view)
- Support for .NET 4.5 EventSources
- Support for writing extensions
A series of video tutorials by Visual Studio performance architect Vance Morrison on how to use the PerfView profiling tool to gather data for CPU performance of a simple .NET program.
This PerfView video series will be one of the stories on this week's This Week on Channel 9 so thought it fitting that I also mention it here too (you know incase you miss it there, though I know you all watch TWC9, right? Right?)