我最近已经熟悉perfmon和xperf。 Perfmon使用性能计数器,xperf使用ETW(窗口事件跟踪)。 Perfmon具有提供数据的对象,而xperf使用“提供者”组。作为这个领域的新手,我在问是否有人能告诉我perfmon使用的性能指标是否真的基于与xperf使用的ETW事件相同的内容,如果可以的话,是否可以使连接清晰。如果他们不是基于相同的东西,你能解释他们有什么不同吗?perfmon性能计数器是否与xperf使用的ETW事件基于“引擎盖下”相同的事物?
3
A
回答
6
Perf counters和ETW是两个不同的东西,它们没有底层基础设施。
计数器被用来提供信息 以如何以及 操作系统或应用软件, 服务,或驾驶员正在执行。计数器数据可帮助确定系统瓶颈和微调系统 应用程序的性能。系统,网络和设备的操作提供了应用程序可以消耗的计数器数据,以向用户提供系统 执行得如何的图形视图。
Windows事件跟踪(ETW)是一种高效 内核级的跟踪 设施,让您登录内核或 应用程序定义的事件日志 文件。
它们都可以被用于性能分析,但ETW提供了应用内的行为随时间的审核跟踪(像传统的用户模式的日志文件),而性能监视器在本申请提供任一当前统计的视图('当前队列长度')或其整个生命周期中的聚合数据(例如“平均吞吐量”,“发送字节总数”)。
2
似乎基于this document从Vista +开始,性能计数器具有ETW外观,因此可以像ETW一样使用它们。
新的性能计数器库(PERFLIB 2.0版)包含在WindowsVista®中提供了许多优势,以开发,其中包括:
供应商和消费者之间的标准的进程间通信(IPC)机制,基于Windows事件跟踪(ETW)通知,并且可以实现简化的开发和更统一,更可靠的代码。
相关问题
- 1. 使用Javascript - 事件侦听器的引擎盖下是如何工作的
- 2. 性能计数器vs ETW
- 3. 与虚假共享相关的性能计数器事件
- 4. 事件侦听器是否与html事件相同?
- 5. 用户故事是否与Yourdon的事件相同?
- 6. 软件事务内存是否与数据库事务相同?
- 7. 在节点中使用的基于事件的模型是否与C#应用程序中使用的基于事件的模型相同?
- 8. 使用基于事件的定时器与轮询的性能考虑
- 9. 用XPerf查看事件数据?
- 10. 可以使用ETW事件来追踪perf性能问题吗?
- 11. 如何使用Windows性能分析器查看由EventSource创建的ETW事件?
- 12. 基于组件的游戏引擎设计中的事件处理
- 13. 什么是基于Node.js的引擎盖下?
- 14. Java NIO的选择器如何在引擎盖下检查可用事件?
- 15. Windows 2000中的事件查看器是否可以使用ETW跟踪?
- 16. 用于从数组中选择事物的C++计数器
- 17. 是否有与'touchstart'事件相同的e.PageX位置,因为有点击事件?
- 18. 使用XPerf.exe获取WPF ETW事件
- 19. 如何在openCL中检查事物的引用计数器?
- 20. ThreeJS与PhysiJS物理引擎没有触发碰撞事件
- 21. 事件处理多个对象与参数,参数是相同的事件
- 22. 计时器事件是否优先于Node.js中的I/O事件?
- 23. 是否有任何事件基于日历的可用于ASP.NET
- 24. 使用EventFlow监视本地机器上的ETW事件
- 25. 基于OpenOffice的基于Java的计算引擎计算
- 26. 使用KeyPress事件的计数器
- 27. 如何嵌套ETW事件
- 28. 写入ETW事件日志
- 29. MySQL:基于事件类型计数事件出勤
- 30. 使用Perfmon测量性能