首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只有当PerfView同时收集时,ETW分层活动ID才能工作。

只有当PerfView同时收集时,ETW分层活动ID才能工作。
EN

Stack Overflow用户
提问于 2018-02-15 10:53:00
回答 1查看 356关注 0票数 1

在尝试让ETW活动跟踪在我的项目中工作了很长一段时间之后,我觉得我应该后退一步,看看微软在此页上提供的演示项目是否适合我。不幸的是,两者都不是。问题是,事件确实显示在VS的诊断事件窗口中,但它们有一个普通GUID作为ActivityID,而不是分层活动id,而RelatedActivityID只包含一个空值:

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

但是,当我停止使用PerfViewer收集事件时,这些事件同样只有一个活动id的GUID,而忽略了相关的活动id。

有人知道为什么会这样吗?这真的只有在外部应用程序监视事件的情况下才能起作用,还是我可以让它只在VS中工作呢?有没有人知道这是否适用于Azure诊断学?稍后我想听听Azure诊断的事件,但是如果没有这样的层次I生成,它对我没有多大用处。

非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2018-02-26 11:49:40

PerfView通过为2e5dba47-a3d2-4d16-8ee0-6671ffdcd7b5 (System.Threading.Tasks.TplEventSource)事件源设置关键字0x80 (TasksFlowActivityIds)来打开这个功能,解释了这里

我不认为从VS中的诊断事件中为事件源设置这个关键字是可能的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48805466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档