.net-traceprocessing WaitAnalysis如何使用?

.net-traceprocessing How Can WaitAnalysis Be Used?

库中的.net-traceprocessing 是一个命名空间Microsoft.Windows.EventTracing.WaitAnalysis,其中包含许多与等待分析相关的类型。那怎么用呢?根据名称,它听起来很有用。有没有人有这方面的经验并且手头有样品?

我知道 WPA 中有一个 WaitClassifcation Graph。需要记录哪些事件才能将此事件显示为图表,该事件有多大用处?

从历史上看,您需要调度程序、延迟和 disk_io(disk_io 可能是可选的)以及用于 cswitch+readythread+threadcreate+profile

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

我很惊讶它被列出来了,有人告诉我该功能不适合 public 使用,但那也是 4-6 年前的事了。

完整命令示例可能类似于以下部分;

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

我们希望在我们的 public 版本中提供等待分析,但不幸的是我们无法在我们的第一个 public 版本中做到这一点。正如您所注意到的,我们删除了 top-level 入口点,但没有清除该命名空间中公开的其他类型。为预告片道歉;我们将删除 public 表面积中等待分析的其他残余。

完成此功能需要一些工作 public,但我们会把它放在待办事项列表中,如果有更多人对此感兴趣,请告诉我们,这将有助于提高优先级.