ETW hieararchical活动ID仅在PerfView同时收集时才有效

时间:2018-02-15 10:53:01

标签: c# etw eventlog-source perfview activity-tracing

尝试让ETW活动跟踪在我的项目中运行很长一段时间没有太大成功之后,我想我应该退后一步,看看微软的演示项目是否适用于this page 。不幸的是,事实并非如此。问题是,事件确实显示在VS的诊断事件窗口中,但它们具有正常的GUID作为ActivityID而不是分层活动ID,而RelatedActivityID仅包含空值:

enter image description here

尝试了几个小时之后,我发现有一种方法可以让它工作:当我在生成事件时使用PerfView收集数据时,他们会突然得到像他们一样的层次结构ID应该甚至设置相关的活动ID:

enter image description here

但是一旦我停止使用PerfViewer收集事件,事件再次只有活动ID的GUID并且错过相关的活动ID。

有谁知道为什么会这样?这真的只有在外部应用程序监视事件时才有效,或者我能以某种方式让它在VS中工作吗? 有没有人知道这是否适用于Azure诊断?我想稍后使用Azure诊断程序监听事件,但如果没有以这种方式生成分层ID,则对我没有多大用处。

非常感谢!

0 个答案:

没有答案