perfone性能计数器是否与xperf使用的ETW事件“引擎盖下”相同?

时间:2010-11-06 07:01:41

标签: windows performance events perfmon xperf

我最近熟悉了perfmon和xperf。 Perfmon使用性能计数器,xperf使用ETW(Windows的事件跟踪)。 Perfmon具有提供数据的对象,而xperf使用“提供者”组。作为这个领域的新手,我问是否有人可以告诉我,perfmon使用的性能计数器是否真的基于与xperf使用的ETW事件相同的内容,如果是这样,你能否清楚地建立连接。如果它们不是基于相同的东西,你能解释它们是如何不同的吗?

2 个答案:

答案 0 :(得分:6)

Perf countersETW是两个不同的东西,它们没有底层基础设施。

  

计数器用于提供   关于如何做好的信息   操作系统或应用程序,   服务或驱动程序正在执行。该   计数器数据可以帮助确定系统   瓶颈和微调系统和   应用性能。经营   系统,网络和设备提供   计数器应用程序可以的数据   消费为用户提供   图形视图系统有多好   正在表演。

     

Windows事件跟踪(ETW)是一个   高效的内核级跟踪   允许您记录内核或设备的工具   应用程序定义的事件到日志   文件。

它们都可用于性能分析,但ETW提供应用程序内部行为的审计跟踪(如传统的用户模式日志文件),而PerfMon提供应用程序中当前统计信息的视图('当前队列长度'),或其生命周期内的聚合数据(例如'平均吞吐量','发送的总字节数')。

答案 1 :(得分:2)

似乎基于this document从Vista +开始,性能计数器有一个ETWFaçade,因此它们可以像ETW一样完全消耗。

WindowsVista®附带的新性能计数器库(PERFLIB 2.0版)为开发人员提供了许多优势,包括:

提供者和使用者之间基于Windows事件跟踪(ETW)通知的标准进程间通信(IPC)机制,可以简化开发并提供更加统一和可靠的代码。

enter image description here