如何使用 Windows 性能分析器查看 EventSource 创建的 ETW 事件?

Posted

技术标签:

【中文标题】如何使用 Windows 性能分析器查看 EventSource 创建的 ETW 事件?【英文标题】:How do you view ETW events created by EventSource using Windows Performance Analyzer? 【发布时间】:2013-01-02 21:57:28 【问题描述】:

我想使用EventSource 触发 ETW 事件并使用 Windows 性能分析器查看它们。

我有一个基本的EventSource

[EventSource(Name = "BasicEventSource")]
public class ETWLogger : EventSource

#if DEBUG
    private const bool ThrowOnError = true;
#else
    private const bool ThrowOnError = false;
#endif

    private ETWLogger(bool throwOnError) : base(throwOnError)  

    private static ETWLogger _log;
    public static ETWLogger Log
     get  return _log ?? (_log = new ETWLogger(ThrowOnError));  

    private static class Keywords
    
        public const EventKeywords Perf = (EventKeywords) 1;
    

    [Event(1, Keywords = Keywords.Perf, Level = EventLevel.Informational)]
    public void Startup()  WriteEvent(1, "StartUp"); 

当我使用 Windows 性能记录器 (WPR) 进行记录时,我在 Windows 性能分析器 (WPA) 的通用事件图中看不到我的提供程序或事件。

感谢您的宝贵时间 :)

【问题讨论】:

你是如何开始你的课程的?这是我们一直在使用的一种方法 - svcperf.codeplex.com/… 【参考方案1】:

WPR 对您的自定义EventSource 一无所知,因此您必须创建一个录制配置文件才能启用它。 WPT 附带了一些示例配置文件,可以帮助您入门。

WPR 8.1 版本支持与 PerfView 相同的命名约定,这意味着您可以使用*YourEventSource 代替配置文件中的 GUID。

根据我的经验,某些EventSource 功能在 8.1 版本的 WPA 中没有得到很好的支持。例如。如果您使用任务,它们将无法正确显示。但是,当您为 EventSource 创建录制配置文件时,EventSource 的基本用法与 8.1 版本的 WPA/WPR 配合良好。

另一种选择是使用 PerfView 收集跟踪并使用 WPA 进行分析(如果您更喜欢 PerfView)。

【讨论】:

我创建了一个配置文件并正在使用 WPR 记录事件。当我在 PerfView 中打开 .etl 文件时,事情看起来与我预期的一样。但是,当我在 WPA 中打开 .etl 文件时,我看到的是指南而不是我的事件源名称和数字,而不是我的事件名称。这是预期的吗?【参考方案2】:

WPR 和 WPA 不支持 EventSource,但支持新的 8.1 ADK。见here。

【讨论】:

Vance 在这里发布了一个自定义版本的 PerfView (sdrv.ms/QnHpd4),它可以收集 EventSource 事件,然后可以在 WPA 中查看这些事件。我怀疑最近发布的 1.5 版本的 PerfView 也支持这一点。 blogs.msdn.com/b/vancem/archive/2013/12/09/…

以上是关于如何使用 Windows 性能分析器查看 EventSource 创建的 ETW 事件?的主要内容,如果未能解决你的问题,请参考以下文章

windows下如何查看磁盘IO性能

如何在 Visual Studio 性能分析器中查看毫秒而不是 % 样本

性能测试工具LoadRunner32-LR之windows性能监控Perfmon

如何1分钟内对 Linux 性能快速分析(113资讯网)

性能测试中如何分析查看网络带宽占用情况

如何使用windows性能监视器监控CPU性能