Taking audio glitch traces on Windows 10: desktop edition


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:

  1. Download [redacted] and extract FieldMedic-Multimedia-Verbose.wprp
  2. 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
  3. Click the “Download the Windows ADK for Windows 10” link: http://go.microsoft.com/fwlink/p/?LinkId=526740
  4. Run. Check the Windows Performance Toolkit feature; you don’t need the other features to take audio glitch traces.
  5. Start | Windows Performance Recorder – this will prompt for elevation
  6. 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
  7. Changing Logging mode to “File”
  8. Hit the “Start” button within the Windows Performance Recorder window
  9. Do the thing that causes the glitches
  10. Hit Save

At this point you have an .etl file. This can be analyzed using any tool that consumes .etl files, including:

EDIT 8/27/2015:

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:
    wpr.exe -cancel
  • (Optional) if you want to see whether tracing is currently active:
    wpr.exe -status

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.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s