如何嵌套ETW事件

问题描述:

我在Windows 10上使用TraceLogging,记录事件并使用WPA查看它们。它工作正常,但我想嵌套某些类似堆栈跟踪嵌套的事件。如何嵌套ETW事件

基本上我在我的代码中定义了自定义分析范围,我想嵌套它们来更容易地探索数据。 例如:

  • 深度0 |范围1
    • 深度1 |范围2
    • 深度1 |某些事件
    • 深度1 |范围2结束| (0.2ms)
  • 深度0 |范围1结束| (0.3 ms)

现在,当我通过线程ID向下钻取时,一切都是平坦的。 例如:

  • 深度0 |范围1
  • 深度1 |范围2
  • 深度1 |某些事件
  • 深度1 |范围2结束| (0.2ms)
  • 深度0 |范围1结束| (0.3 ms)

像堆栈一样嵌套的显着好处是,我可以根据需要展开和折叠以显示/隐藏更多信息。

使用ETW ActivityID为group Events。现在,将WPA中的ActivityID移到第一个或第二个位置,将每个ActivityID的事件分组。

enter image description here

这应该给你你想要的分组。玩一下它。