ETW、.NET 4.5 - 如何写入事件日志?

2024-06-19

我正在尝试了解 ETW 以及如何将其集成到高性能应用程序中。

我们都知道旧的令人恐惧的 EventLog 及其非结构化(因此不是最佳的)API。

现在有一个用于高性能跟踪的新奇 API - ETW,它在 4.5 中以 EventSource 类的形式在 .NET 端获得了一个新的 API,您可以轻松地对其进行子类化(因此不再需要编写清单)。

这给我留下了很多问题,试图让它发挥作用。

  • 当前建议的使用 ETW 并将事件从那里获取到事件日志的最佳方法(根据文档、指南)是什么?我这里有一个应用程序,必须编写(性能)事件并且很想使用 ETW;但事件应出现在(自定义)事件日志中。
  • 有完整的例子吗?我可以找到一些,但它们都可以追溯到 .NET 4.0 时间并从清单开始。

我尝试了什么?我有一个 EventSource 正在工作,但只是未能获得有关如何让其余的下游工作从那里开始工作的正确文档。


2013年8月,Microsoft.Diagnostics.Tracing.EventSource https://www.nuget.org/packages/Microsoft.Diagnostics.Tracing.EventSource1.0.4 测试版在 NuGet 上发布。三大优势是通道支持、静态(已安装)清单支持(进入事件查看器所需的两件事)和 .NET 4.0 支持。

根据博客文章 http://blogs.msdn.com/b/dotnet/archive/2014/01/30/microsoft-diagnostics-tracing-eventsource-rtms.aspx宣布 RTM、Microsoft.Diagnostics.Tracing.EventSource“支持快速应用程序跟踪 Windows 事件日志,包括在生产中”。

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

ETW、.NET 4.5 - 如何写入事件日志? 的相关文章

随机推荐

  • 如何将字符串转换为 Indian Money 格式?

    我正在尝试将字符串转换为印度货币格式 例如如果输入为 1234567 则输出应为 12 34 567 我编写了以下代码 但它没有给出预期的输出 CultureInfo hindi new CultureInfo hi IN string t
  • 如何在 Bootstrap 列中使用文本溢出?

    假设我有一行具有固定高度 并且我在其列中插入了一些文本 如果太长 我希望将其剪掉 并在行尾添加三个点 如下所示 我在用着文本溢出 省略号 我的行中有此属性 但无法使其工作 JsFiddle http jsfiddle net Alexnot
  • 更改列时快速删除并重新创建多个索引、视图、统计信息

    我的 项目 表中有一个 StoreNumber 列 我想将其更改为 NOT NULL 我最近清理了所有旧数据 以便不存在空条目 但是 当我执行以下语句时 由于对各种视图 索引和统计信息的多重依赖 它失败了 ALTER TABLE Proje
  • 是什么原因导致 Linq 错误:此方法无法转换为存储表达式?

    我有一堆具有相同 select 语句的 Linq to Entity 方法 所以我想我会很聪明 并将其分离到它自己的方法中以减少冗余 但是当我尝试运行代码时 我得到了以下内容错误 该方法不能转化为 商店表达式 这是我创建的方法 public
  • AWS 将 MQTT 消息存储到 DynamoDB

    我构建了一个定期发送 MQTT 消息的 python 脚本 这是发送到后端的 JSON 字符串 Id 1234 Ut 1488395951 Temp 22 86 Rh 48 24 在后端 我想将 MQTT 消息存储到 DynamoDB 表中
  • toLocaleDateString() 在 Chrome 中如何工作?

    我理解了javascript方法toLocaleDateString 使用的计算机设置 让我们来W3Schools 示例 http www w3schools com jsref tryit asp filename tryjsref to
  • 没有 addService() 的 C++ Binder

    是否可以使用 C Binder API 在两个非特权进程之间进行通信 我找到的所有例子 例如https github com mcr Android HelloWorldService https github com mcr Androi
  • 用 pandas DataFrame 替换 mysql 数据库表中的行

    Python 版本 2 7 6 熊猫版本 0 17 1 MySQLdb 版本 1 2 5 在我的数据库中 PRODUCT 我有一张桌子 XML FEED 表 XML FEED 很大 数百万条记录 我有一个 pandas DataFrame
  • 如何从批量数据中的mysql列中删除所有非数字字符

    我想从列中删除所有非数字字符 我的数据库中有大量数据 目前我正在使用以下链接中描述的方法 http venerableagents wordpress com 2011 01 29 mysql numeric functions http
  • 字形和 bootstrap 4

    我正在尝试使用 glyphicon 中的 glyphicon 当您单击一个 glyphicon 时 它会提示您所需要做的就是添加 span class span 你想要字形的地方 但在下载它们后 我注意到它们都保存为 png 文件 有谁知道
  • `cosf`、`sinf` 等不在 `std` 中 [重复]

    这个问题在这里已经有答案了 根据这里的讨论 我有报告了一个错误 https bugs launchpad net ubuntu source gcc 8 bug 1831385给 Ubuntu 开发者 编译以下示例 C 程序时 includ
  • 找不到符号assertEquals

    我正在尝试为计算器编写第一个单元测试 但 NetBeans 说它找不到该符号assertEquals和注释 Test 我应该包括一些东西吗 我正在使用 NetBeans 7 3 1 和 W7 package calculator impor
  • PhantomJS 网页内存消耗?

    是否有一种编程方式 因为我想在运行时自动执行 方式来查看网页在通过 PhantomJs 运行时使用了多少内存 我也在使用 casperjs 如果这有帮助的话 我已经搜索了很多但没有找到任何方法 PhantomJs 使用 QtWebKit 因
  • Admob 广告无法快速显示

    您好 我正在尝试将 admob 广告添加到已使用 swift 上传到应用商店的应用程序中 我在 admob 中制作了一个应用程序并复制了 appid 和广告 id 并显示了各自的横幅广告和插页式广告 这里的问题是当我写这行时 request
  • xpath:选择中断标签之前和之后的文本节点

    考虑以下因素 混合 br and br text1 br text2 br text3 br text4 br text5 如何找到每个文本节点 我正在考虑符合 br 标签之前或之后的条件的东西 但不确定是否 br and br 在 xpa
  • 递归获取数组的键并创建下划线分隔的字符串

    现在我得到了一个包含某种信息的数组 我需要从中创建一个表 例如 Student Address StreetAddress gt Some Street StreetName gt Some Name Marks1 gt 100 Marks
  • Google Place Api:来自此 Android 客户端应用程序 com.package.name 的请求被阻止

    我在用PlaceAutocompleteFragment当我单击搜索字段 PlaceAutocompleteFragment 对话框消失时 我收到此错误 errors domain global re ason forbidden mess
  • 如何生成 JavaScript 堆栈跟踪? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 关于如何以跨浏览器的方式在 javascript 中生成堆栈跟踪有什么建议吗 较新的浏览器 Chrome 和 Firefox 公开了一个允
  • 快速查询最新记录的方法?

    我有一张这样的表 USER PLAN START DATE END DATE 1 A 20110101 NULL 1 B 20100101 20101231 2 A 20100101 20100505 在某种程度上 如果END DATE i
  • ETW、.NET 4.5 - 如何写入事件日志?

    我正在尝试了解 ETW 以及如何将其集成到高性能应用程序中 我们都知道旧的令人恐惧的 EventLog 及其非结构化 因此不是最佳的 API 现在有一个用于高性能跟踪的新奇 API ETW 它在 4 5 中以 EventSource 类的形