Chr*_*ich 38
性能计数器和ETW是不同的技术.性能计数器不通过ETW公开.
基本区别:性能计数器提供系统行为的高级指标(考虑定时器和读取的字节数以及分配的对象),而ETW是诊断跟踪和日志记录工具(思考Debug.WriteLine消息,但更丰富,更结构化).
目前,ETW和性能计数器都得到了Windows的全力支持,作为开发人员,您可以编写代码来生成和使用这两种技术的数据.
性能计数器
性能计数器(也称为PDH(性能数据助手)计数器)是简单的数字度量标准,可为您提供特定系统行为方式的高级摘要.例如,% Processor Time是一个性能计数器,它告诉您处理器的时间用于执行用户模式代码的时间.作为一个更复杂的示例,# of Methods Jitted该.NET CLR Jit类别告诉您自应用程序启动以来有多少.NET方法是JIT编译的.
性能计数器通常用于监视系统运行状况并诊断特定的性能问题.当出现严重错误时,它们是问题的良好指标,但它们并没有详细说明为什么会发生特定问题.
要查看Windows性能计数器,只需运行即可perfmon.在Vista +上,您可能需要单击"性能监视器"节点才能查看计数器图表.要以编程方式访问性能计数器,请查看System.Diagnostics.PerformanceCounter.NET 中的类或PDH库中的本机代码.
Windows事件跟踪(ETW)
ETW是Windows内置的跟踪系统.实质上,任何组件(例如,用户应用程序,甚至Windows内核本身)都可以发送有关组件关注的特定事件的诊断跟踪信息.例如,内核在进程启动和停止时,在加载和卸载图像(例如DLL)时,在创建或销毁线程时,或者甚至在线程执行上下文切换时发送ETW事件.记录的数据采用序列化格式,由其他组件描述,允许诊断工具读取和理解会话期间记录的ETW事件.请参阅此处,了解一切如何协同工作的方框图.
ETW意味着速度快,并且在未启用日志记录时不应对系统的性能产生重大影响.从Vista开始,ETW遍布整个Windows,旨在供应用程序开发人员使用(具体而言,您的应用程序可以是记录事件的ETW提供程序).ETW是事件日志的基础,可供性能分析器,调试器或系统监视器使用.
| 归档时间: |
|
| 查看次数: |
5760 次 |
| 最近记录: |