性能计数器与 ETW

2023-12-31

性能计数器是 ETW 的一部分吗?如果不是,两者有什么区别?


性能计数器和 ETW 是不同的技术。性能计数器不通过 ETW 公开。

基本区别:性能计数器提供有关系统行为的高级指标(例如计时器、读取的字节和分配的对象),而 ETW 是一种诊断跟踪和日志记录工具(例如Debug.WriteLine消息,但更丰富、更结构化)。

目前,ETW和性能计数器都得到了Windows的全面支持,作为开发人员,您可以编写代码来生成and消耗这两种技术的数据。

性能计数器

性能计数器 http://msdn.microsoft.com/en-us/library/aa373083(v=VS.85).aspx也称为 PDH(性能数据助手)计数器,是简单的数字指标,可以为您提供特定系统行为方式的高级摘要。例如,% Processor Time是一个性能计数器,它告诉您有多少处理器时间用于执行用户模式代码。作为一个更复杂的例子,# of Methods Jitted in the .NET CLR Jit类别告诉您自应用程序启动以来有多少个 .NET 方法被 JIT 编译。

性能计数器通常用于监视系统运行状况并诊断特定的性能问题。当出现严重错误时,它们可以很好地指示问题,但它们不会为您提供有关特定问题发生原因的详细信息。

要查看 Windows 性能计数器,您只需运行perfmon。在 Vista+ 上,您可能需要单击“性能监视器”节点才能查看计数器图表。要以编程方式访问性能计数器,请查看System.Diagnostics.PerformanceCounter http://msdn.microsoft.com/en-us/library/system.diagnostics.performancecounter.aspx.NET 中的类或PDH文库 http://msdn.microsoft.com/en-us/library/aa373078(v=VS.85).aspx对于本机代码。

Windows 事件跟踪 (ETW)

ETW 是 Windows 内置的跟踪系统。本质上,任何组件(例如用户应用程序,甚至 Windows 内核本身)都可以发送有关该组件关心的特定事件的诊断跟踪信息。例如,当进程启动和停止时、加载和卸载映像(例如 DLL)时、创建或销毁线程时,甚至当线程进行上下文切换时,内核都会发送 ETW 事件。记录的数据采用由其他地方的组件描述的序列化格式,允许诊断工具读取和理解会话期间记录的 ETW 事件。看here http://msdn.microsoft.com/en-us/library/ff190903(VS.85).aspx查看所有内容如何协同工作的盒线图。

ETW 旨在快速,并且在未启用日志记录时不应对系统性能产生重大影响。从 Vista 开始,ETW 在整个 Windows 中普遍存在,旨在供应用程序开发人员使用(具体来说,您的应用程序可以是记录事件的 ETW 提供程序)。 ETW 是事件日志的基础,可供性能分析器、调试器或系统监视器使用。

请参阅我的其他帖子here https://stackoverflow.com/questions/4833736/registry-monitoring-including-kernel-mode-registry-accesses/4835195#4835195有关与 ETW 接口的一些资源。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

性能计数器与 ETW 的相关文章

随机推荐

  • 正确访问存在重复索引值的切片

    我有一个带有索引的数据框 有时包含具有相同索引值的行 现在我想对该数据帧进行切片并根据行索引设置值 考虑以下示例 import pandas as pd df pd DataFrame index 1 2 2 3 values 10 20
  • 在 Selenium python 中通过 xpath 模式查找元素

    我正在使用 selenium python 和 lettuce 来测试 django 应用程序 以下模式中有许多具有 xpath 的元素 我不知道文档中存在多少个这些元素 id accordion note 1 id accordion n
  • “查找最近位置”如何运作?

    如今 大多数餐馆和其他企业都拥有 查找地点 http www fedex com Dropoff start 他们网站上的功能列出了给定地址 邮政编码的最近位置 这是如何实现的 将邮政编码与数据库进行匹配是一种简单的 无需思考的方法 但可能
  • C++17 中有 typeid 的反函数吗?

    C 17 是否提供了一种从 typeid 获取类型的方法 或者工厂模式仍然是唯一的方法 type info是运行时值 其确切内容只能通过运行时执行来确定 C 是一种静态类型语言 在编译时 类型一切必须被知道 像这样 type info基于具
  • 通过 spring-data 迭代 MongoDB 中的大型集合

    Friends 我通过 spring data 在 java 项目中使用 MongoDB 我使用存储库接口来访问集合中的数据 对于某些处理 我需要迭代集合的所有元素 我可以使用存储库的 fetchAll 方法 但它总是返回 ArrayLis
  • Mule OAuth2 使用客户端凭证作为 grant_type

    我的要求是使用OAuth2的client credentials grant type来获取Mule中的访问令牌 我想实现一个支持 OAuth 的自定义连接器 我无法使用以下配置来实现它
  • 电脑锁定时如何发送电子邮件?

    我想使用 Excel VBA 发送 Outlook 电子邮件 代码Sendupdate手动运行时有效 我的第二个宏StartTimer旨在当我不在办公桌前时在设定时间执行上述操作 当计算机被锁定时 电子邮件不会发送 当我回到办公桌前时 电子
  • Itext7 HTML2PDF - PDF 文件中的图片未旋转

    我有一个 HTML 文件 其中包含一些旋转的图片 当我将 HTML 文件转换为 PDF 文件时 图片不会旋转 看来 EXIF 0112 没有正确应用 iText Html2Pdf HtmlConverter ConvertToPdf HTM
  • JQuery 字符串包含检查[重复]

    这个问题在这里已经有答案了 我需要检查一个字符串是否包含另一个字符串 var str1 ABCDEFGHIJKLMNOP var str2 DEFG 我应该使用哪个函数来确定 str1 是否包含 str2 你可以使用javascriptin
  • 我可以向另一个域发出 XMLHttpRequest 吗?

    有没有办法将 XMLHttpRequest 与其他域结合使用 我想解析来自 Google 的一些 xml 而无需使用服务器 因此运行起来非常简单 var req getXmlHttpRequestObject req open GET ht
  • Python截断长字符串

    如何在 Python 中将字符串截断为 75 个字符 JavaScript 中是这样完成的 var data saddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
  • Windows 上的 npm 安装失败并出现错误签名错误

    我正在使用 nvm 来管理我的节点版本 我有一个使用节点 6 10 2 的项目 像这样简单的事情npm install g gulp我收到以下错误 write EPROTO 101057795 error 1408D07B SSL rout
  • 如何使用c#打开excel文档

    我用过创建新的电子表格并保存到用户文件夹 我希望保存后能够自动打开它 该文件为 xlsx 格式 I tried SpreadsheetDocument Open fileName true 这根本不起作用 我想要代码在用户拥有的任何版本的
  • Chrome 88 时区符号不正确

    Starting from about 20 01 2021 after the Chrome update to version 88 0 the time zone incorrectly processed in applicatio
  • 根据类型返回一个值

    考虑下面的例子 template
  • Apache Zeppelin 问题 - Python 错误

    我对 Apache Zeppelin 有疑问 当我运行一个新的 python 笔记本并尝试执行类似的命令时import dask它会导致以下错误 Traceback most recent call last File tmp 159931
  • 从 UIImage 获取二进制数据

    我有一个要求 我必须将图像从 ios 设备发送到另一个设备 corebluetooth 其他设备是 BLE 设备 基本需求是 1 图像尺寸应为128X160 2 8 位 即每种颜色 8 位 3 3个通道 4 每像素 24 位 5 图像应有
  • SAML2.0认证后调用Graph api。如何获取所需的身份验证令牌

    我们的 Web aap 通过 SAML2 0 与 Azure AD 进行身份验证 类似于this https learn microsoft com en us azure active directory develop active d
  • 如何在web.xml中注册Spring @Configuration注解的类而不是applicationContext.xml文件?

    我在 Web 应用程序中一起使用 jsf 和 spring 我在一个配置类中配置了数据源和会话工厂 该类使用注释 例如 Configuration ComponentScan etc 我的项目中没有任何 applicationContext
  • 性能计数器与 ETW

    性能计数器是 ETW 的一部分吗 如果不是 两者有什么区别 性能计数器和 ETW 是不同的技术 性能计数器不通过 ETW 公开 基本区别 性能计数器提供有关系统行为的高级指标 例如计时器 读取的字节和分配的对象 而 ETW 是一种诊断跟踪和