microsoft / perfview

PerfView is a CPU and memory performance-analysis tool
http://channel9.msdn.com/Series/PerfView-Tutorial
MIT License
4.06k stars 696 forks source link

Stack view for Contention events #2000

Closed ezsilmar closed 4 months ago

ezsilmar commented 4 months ago

Contention is an important factor that frequently prevents dotnet applications from scaling well.

Luckily, the dotnet runtime provides Contention/Start and Contention/Stop diagnostic events with all necessary data. However, the usual AnyStack view is not enough: it doesn't take into account lock duration and precise information about each contention case is impossible to get from the UI.

The new view solves this issue, providing a straightforward way to analyze contention.

image image

ezsilmar commented 4 months ago

Also added a view for the recent WaitHandleWait/Start and WaitHandleWait/Stop events

ezsilmar commented 4 months ago

@brianrob please have a look at the update. I also added the help entry for both views, hopefully I didn't write something totally incorrect there 😅.

ezsilmar commented 4 months ago

Hi @brianrob yep it’s ready! Thanks for the review