windows - perfmon 性能计数器是否基于与 xperf 使用的 ETW 事件相同的 "under the hood"?

标签 windows performance events perfmon xperf

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

最佳答案

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

Counters are used to provide information as to how well the operating system or an application, service, or driver is performing. The counter data can help determine system bottlenecks and fine-tune system and application performance. The operating system, network, and devices provide counter data that an application can consume to provide users with a graphical view of how well the system is performing.

Event Tracing for Windows (ETW) is an efficient kernel-level tracing facility that lets you log kernel or application-defined events to a log file.

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

关于windows - perfmon 性能计数器是否基于与 xperf 使用的 ETW 事件相同的 "under the hood"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4112272/

相关文章:

windows - 在 Windows 7 上通过 cygwin/node.js 创建音频 Sprite 需要一些帮助

windows - 从 CMD %CD% 输出中删除感叹号 (!)

windows - 如何更新日期和时间控制面板以匹配 W32Time 服务配置?

asp.net - 在生产服务器中分析 asp.net 网站的可能方法?

C# CS0079 事件处理编译错误

windows - Phonegap 从 Mac OSX 为 Windows Mobile 创建构建

mysql - 在大型表上使用多个 where 条件提高 mysql 查询的性能

JavaScript 性能 – 删除伪 DOM 项

c# - 在对象成为孤立对象之前,我是否需要从对象中删除事件订阅?

jquery 表单事件监听器