CLR 4.0中新的ETW功能究竟是什么?

时间:2011-02-01 14:22:37

标签: .net clr clr4.0 etw

我的同事提到CLR 4.0与Event Tracing for Windows有一些重大改进,但我找不到具体内容的细节。很少有博客文章仅提及改进,但没有提供有关新内容的详细信息。任何人都能更深入地了解它吗?

3 个答案:

答案 0 :(得分:4)

以下是CLR 4.0中的ETW事件列表

  1. 运行时信息ETW事件
  2. Exception Thrown_V1 ETW事件
  3. 争夺ETW事件
  4. 线程池ETW事件
  5. 装载机ETW事件
  6. 方法ETW事件
  7. 垃圾收集ETW活动
  8. JIT追踪ETW事件
  9. Interop ETW Events Application
  10. 域资源监控(ARM)  ETW活动
  11. 安全ETW活动
  12. Stack ETW Event
  13. 有关这些内容的详细说明,您可以在msdn

    中阅读

    并且XPERF也无法使用ETW解码托管堆栈,因此BCL团队已经在codeplex中发布了另一个名为Perfmonitor的工具,可以使用它。

    HTH

答案 1 :(得分:1)

  • 应用程序域资源监视可通过托管和本机托管API以及Windows事件跟踪(ETW)获得。
  • 您现在可以访问ETW事件以进行诊断,以提高性能。

http://msdn.microsoft.com/en-us/library/ms171868.aspx#core_new_features_and_improvements

答案 2 :(得分:0)

如果你在上面的一些链接中挖掘出来,你可能会发现的两个改进是一个新的EventProviderTraceListener类和一个新的EventProvider类。

EventProviderTraceListener可以侦听TraceSources(与任何其他TraceListener一样)并将TraceSource消息路由到ETW系统。

EventProvider类允许您将消息直接记录到ETW系统。

这些类仅适用于Vista及更高版本(实际上,它们在.NET框架4.0中“可用”,无论您使用何种级别的操作系统,但它们都不适用于XP及更低版本。)

我没有使用过这些类中的任何一个(我也没有使用过ETW),但在我看来,它们使得从.NET应用程序中使用ETW变得更加容易。如果你想使用ETW,你仍然需要做一些工作才能配置ETW。

这是一篇描述如何使用ETW的文章。我不确定是否有关于ETW的更多当前信息。请注意,本文是在新的.NET ETW类可用之前编写的。