.net-traceprocessing How Can WaitAnalysis Be Used?

137 Views Asked by At

In the library .net-traceprocessing is a namespace Microsoft.Windows.EventTracing.WaitAnalysis which contains many types related to Wait Analysis. How can that be used? Based on the name it sounds useful. Has anyone experience with that one and has a sample at hand?

I know that there is a WaitClassifcation Graph in WPA. Which events need to be recorded to make this one show up as graph and how useful is that one?

2

There are 2 best solutions below

1
dmatson On BEST ANSWER

We'd like to make wait analysis available in our public version, but unfortunately we weren't able to do that for our first public release. As you noticed, we removed the top-level entry point but had not cleaned up other types exposed in that namespace. Apologies for the teaser; we'll remove the other remnants of wait analysis in public surface area.

It would take a bit of work to get this feature made public, but we'll put it on our backlog, and let us know if there's more interest here, and that will help raise the priority.

2
Jeff Stokes On

Historically, you needed dispatcher, latency, and disk_io (disk_io might be optional) along with the -stackwalk command for cswitch+readythread+threadcreate+profile

xperf -on disk_io+dispatcher+latency -stackwalk cswitch+readythread+threadcreate+profile

I'm surprised it's listed, I was told that feature was not for public use, but that was 4-6 years ago too.

And example full command might look like the below section;

xperf -on disk_io+dispatcher+latency -f <path to file\xperftrace.etl> -MinBuffers 256 -MaxBuffers 1024 -MaxFile 1024 -FileMode Circular -stackwalk cswitch+readythread+threadcreate+profile