Windows Performance Recorder (WPR.exe) now inbox in Windows 10.


Applies to:

Windows 10

 

Starting with Windows 10, the “Windows Performance Recorder” (WPR.exe) console (command) line version ships in-box.

Note:  The WPR.exe file is located in %SystemRoot%\System32 i.e. c:\Windows\System32.

It contains the common profiles (scenarios):

Profile Description
GeneralProfile First level triage
CPU CPU usage
DiskIO Disk I/O activity
FileIO File I/O activity
Registry Registry I/O activity
Network Networking I/O activity
Heap Heap usage
Pool Pool usage
VirtualAllocation VirtualAlloc usage
Audio Audio glitches
Video Video glitches
Power   Power usage
InternetExplorer  Internet Explorer
EdgeBrowser Edge Browser
Minifilter Minifilter I/O activity
GPU GPU activity
Handle Handle usage
XAMLActivity XAML activity
HTMLActivity HTML activity
DesktopComposition Desktop composition activity
XAMLAppResponsiveness XAML App Responsiveness analysis
HTMLResponsiveness HTML Responsiveness analysis
ResidentSet Resident Set analysis
XAMLHTMLAppMemoryAnalysis XAML/HTML application memory analysis
UTC UTC Scenarios
DotNET .NET Activity
WdfTraceLoggingProvider WDF Driver Activity

Note:  For the On/Off Scenarios (boot, fast startup, shutdown, rebootCycle, Standby (sleep), hibernate)

and

for Interrupts and DPCs

you will need to use the Windows 10 SDK or the Windows 10 ADK version of the “Windows Performance Toolkit” which ships WPRUI.exe, WPR.exe, and xperf.exe. 
                       
                     
 

C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit>wpr -?

Microsoft Windows Performance Recorder Version 10.0.10240 (CoreSystem)
Copyright (c) 2015 Microsoft Corporation. All rights reserved.

        Usage: wpr options ...

-help  - Provide command line help information
-profiles - Enumerates the profile names and descriptions  from a profile file
-start - Starts one or more profiles
-marker - Fires an event marker
-markerflush - Fires an event marker and flushes the working
  set
-status  - Displays status on active recording (if any)
-profiledetails - Displays the detailed information about a set
  of profiles
-providers  - Displays detailed information about providers
-cancel - Cancels recording initiated via WPR (if any)
-stop - Stops recording initiated via WPR (if any) an
d saves
-log - Configure debug logging to the event log
-disablepagingexecutive - Change the Disable Paging Executive settings
-heaptracingconfig - Change heap tracing settings for a process
-capturestateondemand - Capture states for the configured providers i
n the current recording
-setprofint - Set sampled profile interval
-profint  - Query the current profile interval
-resetprofint  - Restores the default profile interval values

                         
Here are the three most common scenarios:

Scenario 1:  Where you are having a high CPU.

Start, CMD (Run As Admin)

md c:\temp

WPR.exe -start CPU

<reproduce the issue>

WPR.exe -stop c:\temp\HighCPU.etl

 

Scenario 2:  Where you are having a high Storage utilization.

Start, CMD (Run As Admin)

md c:\temp

WPR.exe -start CPU -start DiskIO –start FileIO

<reproduce the issue>

WPR.exe -stop c:\temp\CPUDiskFileIO.etl

 

Scenario 3:  Where you are having something hang for 1-60 seconds and it becomes responsive again.

Start, CMD (Run As Admin)

md c:\temp

WPR.exe -start CPU -start DiskIO -start FileIO -start Network

<reproduce the issue>

WPR.exe -stop c:\temp\WaitAnalysis.etl

Note:  For scenario 3, there is a good chance that it’s related with something coming over the network.  Capture a matching network trace.  Network tracing (packet sniffing) built-in to Windows Clients (7,8,8.1,10) and Windows Server (2008 R2, 2012, 2012 R2).


Comments (0)

Skip to main content