THIS BLOG POST IS OBSOLETE. READ THIS BLOG POST INSTEAD
Related post: Taking audio glitch traces on Windows 10: phone edition
Sometimes if audio is glitching we will reach out to people and ask them to take glitch traces so we can look at them and try to figure out what is going on.
One of the tools we use to take audio glitch traces on Windows 10 desktop editions is Windows Performance Recorder; this is part of the Windows Performance Toolkit, which ships as part of the Windows Assessment and Deployment Kit (ADK) for Windows 10.
To take audio glitch traces on a Windows 10 desktop:
- Download [redacted] and extract FieldMedic-Multimedia-Verbose.wprp
- Go to the “Download kits and tools for Windows 10” page: https://msdn.microsoft.com/en-us/windows/hardware/dn913721%28v=vs.8.5%29.aspx
- Click the “Download the Windows ADK for Windows 10” link: http://go.microsoft.com/fwlink/p/?LinkId=526740
- Run. Check the Windows Performance Toolkit feature; you don’t need the other features to take audio glitch traces.
- Start | Windows Performance Recorder – this will prompt for elevation
- Choose the kind of tracing you want:
- First level triage | First level triage | uncheck this
- Add Profiles… | point to the FieldMedic-Multimedia-Verbose.wprp profile you downloaded in step 1
- Changing Logging mode to “File”
- Hit the “Start” button within the Windows Performance Recorder window
- Do the thing that causes the glitches
- Hit Save
At this point you have an .etl file. This can be analyzed using any tool that consumes .etl files, including:
- Windows Performance Analyzer, which is also part of the Windows Performance Toolkit
- Media eXperience Analyzer, which is a dedicated tool for media scenarios: http://www.microsoft.com/en-us/download/details.aspx?id=43105
Windows Performance Toolkit also comes with a command-line tool: wpr.exe. To capture the same traces using the command line tool:
- Start tracing:
wpr -start FieldMedic-Multimedia-Verbose.wprp!MultimediaVerboseCategory -filemode
- Stop tracing and save the results to a file (say, my-wpr-glitches.etl:)
wpr.exe -stop my-wpr-glitches.etl
- (Optional) if you want to cancel tracing:
- (Optional) if you want to see whether tracing is currently active:
EDIT 2016-03-21: the original .wprp file logged to a file that grew unbounded in size. This put pressure on the analysis tools. Replaced it with a version that logged to a fixed-size circular buffer.
EDIT 2016-03-23: well, that didn’t work. Putting the old .wprp back.
EDIT 2016-03-29: OK, I think I have the circular .wprp working again. Just in case, here’s the non-circular version: [REMOVED 2016-07-01]
EDIT 2016-07-01: moving to the “official” Field Medic “Multimedia – Verbose” profile
EDIT: 2016-09-19: picking up the new version of Multimedia-Verbose. Also, note that wpr.exe now comes inbox in recent builds of Windows, so there is no longer a need to download the ADK if you are comfortable using the command line.
EDIT: 2016-10-11: picking up the next version of Multimedia-Verbose with WDF ISR/DPC attribution and TP_LOWEST Media Foundation WPP collection
EDIT: 2017-01-03: picking up the next version of Multimedia-Verbose with more providers: spatial audio, Watson, Realtek audio, HoloLens audio, DVD, and Code Integrity
EDIT: 2017-02-06: picking up the next version of Multimedia-Verbose with more providers: spatial audio, improved Realtek audio keywords, fixed Intel Cherrytrail provider, added shared WPP provider for USB audio and Bluetooth HFP audio
EDIT: 2018-09-05: removed Multimedia-Verbose. Added link to the blog post which obsoletes this one.