【发布时间】: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/…
标签: c# performance etw wpa