Skip to content

Speed up blame tests by filtering non-.NET processes from dump collection#15518

Merged
nohwnd merged 3 commits into
microsoft:mainfrom
nohwnd:optimize-blame-hang-dumper
Mar 19, 2026
Merged

Speed up blame tests by filtering non-.NET processes from dump collection#15518
nohwnd merged 3 commits into
microsoft:mainfrom
nohwnd:optimize-blame-hang-dumper

Conversation

@nohwnd

@nohwnd nohwnd commented Mar 19, 2026

Copy link
Copy Markdown
Member

Summary

Speeds up blame/hang dump tests by filtering out non-.NET processes (\conhost, \WerFault, \createdump) from the process tree before attempting dump collection. This avoids the 30s DiagnosticsClient timeout that occurs when trying to connect to native processes.

Also fixes the implicit full hang dump in \CrashDumpWhenThereIsNoTimeout\ and reduces child process tree depth.

Changes

  • *\NetClientHangDumper.cs* — filter \conhost/\WerFault/\createdump\ from process tree (fixes the 30s timeout per non-.NET process)
  • *\WindowsHangDumper.cs* — add \createdump\ to existing filter
  • *\BlameDataCollectorTests.cs* — add \HangDumpType=mini\ where it defaulted to Full
  • *\child-hang/child-crash* — reduce process tree from 3→2 children

Results

Test Before After Savings
\HangDumpChildProcesses\ 39.4s 16.1s 59%
\CrashDumpChildProcesses\ 32.3s 17.9s 45%
\CrashDumpWhenThereIsNoTimeout\ (2 variants) 62.4s 39.7s 36%

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants