【问题标题】:.net-traceprocessing How Can WaitAnalysis Be Used?.net-traceprocessing 如何使用WaitAnalysis?
【发布时间】:2019-05-11 22:09:54
【问题描述】:

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

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

【问题讨论】:

    标签: .net-traceprocessing


    【解决方案1】:

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

    要公开此功能需要做一些工作,但我们会将其放在我们的待办事项列表中,如果有更多的兴趣,请告诉我们,这将有助于提高优先级。

    【讨论】:

    • 你能展示一些 WPA 的输出吗?这将有助于判断它的用处。
    【解决方案2】:

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

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

    我很惊讶它被列出来了,我被告知这个功能不是供公众使用的,但那也是 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
    

    【讨论】:

    • 谢谢。尽管我启用了这些提供程序,但图表仍然不会显示。我可以通过 Window-Select Tables (Experimental) 对话框启用它,但它看起来在公共版本中被禁用。
    • 是的,我很惊讶它甚至在 api 中被提及。可能是一个错误,他们遗憾地删除了它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-16
    • 2012-07-07
    • 1970-01-01
    • 2023-01-27
    • 1970-01-01
    • 2012-05-01
    相关资源
    最近更新 更多