Defrag Tools: #43 - WPT - Wait Analysis

Sign in to queue

Description

In this episode of Defrag Tools, Andrew Richards, Chad Beeder and Larry Larsen continue walking you through the Windows Performance Toolkit (WPT). Example xPerf scripts.

Resources:
Defrag Tools: #23 - Windows 8 SDK
Defrag Tools: #29 - WinDbg - ETW Logging
Windows Performance Analysis Developer Center
Windows Performance Toolkit
Channel 9 Videos
NTDebugging Blog Article
PFE Blog Series

Timeline:
[01:05] - xperf -on PROC_THREAD+LOADER+PROFILE+INTERRUPT+DPC+DISPATCHER+CSWITCH -stackwalk Profile+CSwitch+ReadyThread
[01:50] - Synchronization Episodes: #24, #25 & #26
[02:10] - CSwitch (a.k.a. NewThread) and ReadyThread stacks
[03:36] - Aaron's Margosis' VirtMemTest "Hang the UI" example
[05:15] - CPU (Precise)
  NewProcess
  NewThreadId
  NewStack
  ReadyingProcess
  ReadyingThreadId
  ReadyingStack
  Waits(us)
[17:30] - Summary

Example: "xperf - Collect CPUWait.cmd"

@echo off
echo Press a key when ready to start...
pause
echo .
echo ...Capturing...
echo .

xperf -on PROC_THREAD+LOADER+PROFILE+INTERRUPT+DPC+DISPATCHER+CSWITCH -stackwalk Profile+CSwitch+ReadyThread -BufferSize 1024 -MinBuffers 256 -MaxBuffers 256 -MaxFile 256 -FileMode Circular

echo Press a key when you want to stop...
pause
echo .
echo ...Stopping...
echo .

xperf -stop -d cpuwait.etl

Embed

Download

Download this episode

The Discussion

Add Your 2 Cents