这个类是在.NET 4.5新推出的一个类,用来提供创建事件用于 Windows 事件跟踪的功能 (ETW)。在之前如果要配置一个Event Tracing for Windows是比较繁琐的:
http://msdn.microsoft.com/en-us/magazine/cc163437.aspx
但是在.NET 4.5之后,微软推出了这个新类,大大的简化了创建一个ETW的难度。
这个类文档上就有如何使用的例子,很简单:
class Program { static void Main(string[] args) { //这里是触发记录事件的地方,你可以些在你需要的地方 MinimalEventSource.Log.Load(1, "This is a test message"); } } //这个类就相当于以前的Provider了 sealed class MinimalEventSource : EventSource { //你要记录的事件的类型,你可以随便写多少个 public void Load(long ImageBase, string Name) { WriteEvent(1, ImageBase, Name); } public static MinimalEventSource Log = new MinimalEventSource(); }
但是有个问题,这些数据被会被存储到呢。怎么看呢????
在网上一同一通search后终于找到了一篇相关的blog:
http://blogs.msdn.com/b/vancem/archive/2012/07/09/logging-your-own-etw-events-in-c-system-diagnostics-tracing-eventsource.aspx
可以用。
一句简单的命令行:
PerfView /OnlyProviders=*MinimalEventSource runeventSourceDemo.exe
然后就会在PerfView里看到一个以那个继承了EventSource的字类的为名的provider.