This is the first of a set of video tutorials on how to do wall clock time investigations with PerfView. It is best to watch the video using one of the high quality links on the right so the text is readable. Wall clock time is often the most interesting metric because it is the time that the end user sees your app taking. Unfortunately wall clock time investigations are more complex because frankly there are more 'players' (disk and network as well as CPU, page faulting, waiting on threads and processes, concurrent activity and resource contention). Thus it does requires more thought and care on your part perform a blocked time investigation.
In this tutorial we take the simplest case (a sequential program that scans the file system, which requires both CPU and DISK), to cover the basics of wall clock time investigation. This tutorial assumes you have already seen the video on CPU analysis as well as the videos on resolving symbols and using the stack viewer. Frankly taking a quick tour of the whole PerfView Tutorial Series, would not hurt.
There is a companion perfView blog entries that you may be interested in. In particular there is a ZIP file of source code and data used in this tutorial, so that you can explore this data and 'follow along' yourself with what was done in this video. To use the zip file simply open it, and drag the directory inside to your desktop (or other location). The file contains the EXE and PDB (symbol file), the complete VS2012 source (in the src directory) as well as the BlockedTimeSync.ETL.ZIP file (The data file used in this video) You don't need to unzip this file, simply open it in PerfView.
Other videos on wall clock time analysis include
- Leveraging Tasks make sense of Parallel/Asynchronous programs
- Investigating Wall Clock Response Time of ASP.NET scenarios which I talk about in this blog entry.