EventSource和EventProvider类之间的主要区别是什么?
我知道这两个类都是ETW的事件提供者。如果两者没有关键的区别,那么它们的优缺点是什么?
发布于 2017-02-19 17:18:35
在ETW3.5中,EventProvider类是使用.NET进行跟踪的唯一选项。正如documentation所述,您必须为您的自定义事件创建一个Instrumentation Manifest文件,该文件描述了消息中的数据类型。这不是一项简单的任务,它需要使用单独的工具,例如Manifest Generator (ecmangen.exe)。详情请参考this post。
EventSource类是在ETW4.5中添加的,它引入了使用.NET编写自己的事件的simpler approach。而不是创建这些清单文件,它们是自动为您创建的,从而节省了开销。
考虑到上述情况,我看不出任何使用EventProvider的理由。正如您所提到的,EventSource有更多的文档记录,并且更易于使用。
https://stackoverflow.com/questions/42298084
复制相似问题