Friday, July 20, 2012

Perfect Viewing of PerfView - Links, videos and more...

Notes from a dark corner - PerfView - a powerful tool for investigating .NET performance issues

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.

Ben Watson has also just published a very nice article on PerfView following on from his previous article outlining 4 essential tips for high performance GC on servers.


Microsoft Downloads - PerfView

PerfView is a performance-analysis tool that helps isolate CPU- and memory-related performance issues.

Quick details

Version: 1.0.29
Date published: 6/20/2012

Language: English, 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
  • Memory
    • 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

Channel 9 - PerfView Tutorial

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?)


Related Past Post XRef:
Gathering, viewing and understanding performance data with the new PerfView utility

1 comment:

Annie said...

The perf view command produces a report from Perftrace raw-format output.The perfdmp(1) command recovers Perftrace data if an application program terminates abnormally.The FLOWMARK subroutine allows code blocks within program units to be timed separately.