3

我最近开始熟悉 perfmon 和 xperf。Perfmon 使用性能计数器,而 xperf 使用 ETW(Windows 事件跟踪)。Perfmon 具有提供数据的对象,而 xperf 使用“提供者”组。作为该领域的新手,我想问是否有人能告诉我 perfmon 使用的性能计数器是否真的基于与 xperf 使用的 ETW 事件相同的东西,如果是这样,你能否明确联系。如果它们不是基于同一件事,您能解释一下它们有何不同吗?

4

2 回答 2

7

性能计数器ETW是两个不同的东西,它们不共享底层基础设施。

计数器用于提供有关操作系统或应用程序、服务或驱动程序执行情况的信息。计数器数据可以帮助确定系统瓶颈并微调系统和应用程序性能。操作系统、网络和设备提供应用程序可以使用的计数器数据,以向用户提供系统执行情况的图形视图。

Windows 事件跟踪 (ETW) 是一种高效的内核级跟踪工具,可让您将内核或应用程序定义的事件记录到日志文件中。

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

于 2010-11-06T14:49:17.230 回答
2

It would seem that based on this document starting in Vista+ performance counters have an ETW Façade so they can be consumed exactly in the same way as ETW.

The new Performance Counter Library (PERFLIB version 2.0) included with Windows Vista® offers a number of advantages to the developer, including:

A standard inter-process communication (IPC) mechanism between a provider and consumer that is based on Event Tracing for Windows (ETW) notification, and which results in simplified development and more uniform and reliable code.

enter image description here

于 2013-02-27T07:22:17.227 回答