2010-11-06 32 views
3

我最近已经熟悉perfmon和xperf。 Perfmon使用性能计数器,xperf使用ETW(窗口事件跟踪)。 Perfmon具有提供数据的对象,而xperf使用“提供者”组。作为这个领域的新手,我在问是否有人能告诉我perfmon使用的性能指标是否真的基于与xperf使用的ETW事件相同的内容,如果可以的话,是否可以使连接清晰。如果他们不是基于相同的东西,你能解释他们有什么不同吗?perfmon性能计数器是否与xperf使用的ETW事件基于“引擎盖下”相同的事物?

回答

6

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

计数器被用来提供信息 以如何以及 操作系统或应用软件, 服务,或驾驶员正在执行。计数器数据可帮助确定系统瓶颈和微调系统 应用程序的性能。系统,网络和设备的操作提供了应用程序可以消耗的计数器数据,以向用户提供系统 执行得如何的图形视图。

Windows事件跟踪(ETW)是一种高效 内核级的跟踪 设施,让您登录内核或 应用程序定义的事件日志 文件。

它们都可以被用于性能分析,但ETW提供了应用内的行为随时间的审核跟踪(像传统的用户模式的日志文件),而性能监视器在本申请提供任一当前统计的视图('当前队列长度')或其整个生命周期中的聚合数据(例如“平均吞吐量”,“发送字节总数”)。

2

似乎基于this document从Vista +开始,性能计数器具有ETW外观,因此可以像ETW一样使用它们。

新的性能计数器库(PERFLIB 2.0版)包含在WindowsVista®中提供了许多优势,以开发,其中包括:

供应商和消费者之间的标准的进程间通信(IPC)机制,基于Windows事件跟踪(ETW)通知,并且可以实现简化的开发和更统一,更可靠的代码。

enter image description here

相关问题