首页 > 解决方案 > 是否可以在 PerfMon 中查看使用 EventSource 在 C# 中引发的自定义 ETW 事件?实时?

问题描述

我想从服务器应用程序内部引发 ETW 事件以监控性能。我想在 perfMon 或类似工具中使用这些事件,以便以图形方式查看事件。这可能吗?(perfView 在我的工作环境中不可用,无论如何也不以图形方式显示事件)

我可以简单地引发事件,我一直在使用 Ben Watsons“编写高性能 .Net 代码”一书中的示例,但是在添加新数据收集器集时无法在 perfMon.exe 中查看这些事件。

我在示例中添加了代码,创建了一个事件源

if(!EventLog.SourceExists("EtlDemo"))
{
    EventLog.CreateEventSource("EtlDemo", "EtlDemoLog");
}

我怀疑 EtlDemo“事件跟踪提供程序”需要做更多的事情才能对 perfMon(可能还有 Windows 性能分析器)可见,但文档似乎很少。有任何想法吗?

标签: etwperfmon

解决方案


推荐阅读