写点什么

更进一层的.Net 事件跟踪机制

  • 2012-07-18
  • 本文字数:698 字

    阅读完需:约 2 分钟

.NET 4.5 新增了 EventSource EventListener 两个类,为那些使用 Windows 事件跟踪 (Event Tracing for Windows, ETW) 工具来记录事件的应用程序提供了一个更加简单的编程机制。若与 PerfView 这样的分析工具结合在一起,便能更好地发挥.NET 应用程序中的跟踪功能。

.NET 4.5 引入的 EventSource 类是一个可供开发人员继承和扩展他们自己的事件源的基类。开发人员可以给他们想要记录的每个不同事件类型添加新的方法——这些方法会在适当的位置被应用程序调用。从代码级别来分析,这些方法都会调用 WriteEvent() 这一方法,它会依次发送事件给设定好的 EventListener ,其中包括会发送日志信息给 ETW 的内置侦听器。 Vance Morrison 对此做了详细介绍

Vance 发布的一份参考指南" Strongly Typed Events (EasyETW) "中提到:

ETW 是 Windows 下一个高效的事件系统,它不仅在 Windows 核心层,而且在许多 Windows 子系统中都得到了广泛运用。内置 ETW 源提供了丰富的‘底层’信息(如指示 CPU、磁盘以及网络活动在哪儿发生等),而 EventSource 就基于这些构建而成,它允许程序员来标注“高级”语义行为,进而再为高级任务分配资源。

当然,你还能自定义 EventListeners 做更多工作,而不仅仅是给 ETW 发送信息——例如,开发 silverlight 程序时,你可以通过网络向主机发送跟踪数据。

PerfView 则是微软提供的一个性能分析工具。它被部署为一个单独的执行文件,能够支持监测任何程序的 CPU 和内存使用情况,同时还具备一些非常有用的功能,特别是在分析托管代码方面。如果你想了解更多关于如何使用这个工具的内容,请参考 Vance 发布的一些相关视频

查看英文原文: Better Tracing And Instrumentation For .NET Apps

2012-07-18 23:342422
用户头像

发布了 114 篇内容, 共 33.5 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

创建第一个微信小程序

坚果

微信小程序 11月日更

linux下prometheus+grafana安装

小鲍侃java

11月日更

关于HTTPS认证,这里解决你所有疑惑

华为云开发者联盟

https 证书 数据加密 认证 签发证书

云原生社区上线了

云原生

开源 云原生 技术社区 社区

「Oracle」Oracle 数据库安装

恒生LIGHT云社区

数据库 oracle

“愚公移山”的方法解atoi,自以为巧妙!

老表

Python LeetCode 11月日更 算法与数据结构

数仓如何限制临时数据文件下盘量

华为云开发者联盟

sql 线程 GaussDB(DWS) 临时文件 落盘

在线数值列表求和工具

入门小站

工具

有幸和美团大佬共同探讨单节点连接数超1.5W的问题

中间件兴趣圈

架构 微服务 11月日更

Junit 4 的 @Before 和 @BeforeClass 对比 Junit 5 @BeforeEach 和 @BeforeAll

HoneyMoose

如何让 Sublime Text 编辑器支持新的 ABAP 关键字

汪子熙

SAP abap 11月日更 Sublime

奖金翻倍!Flink Forward Asia Hackathon 最新参赛指南请查收

Apache Flink

大数据 flink 编程 后端 hackathon

又添权威认定,旺链科技通过可信区块链专项认证!

旺链科技

区块链 产业区块链 技术测评 数字化经济

🏆【Alibaba中间件技术系列】「RocketMQ技术专题」让我们一起探索一下DefaultMQPushConsumer的实现原理及源码分析

洛神灬殇

RocketMQ 11月日更 Apache RocketMQ DefaultMQPushConsumer

Hibernate H2 数据库连接配置 URL 解读

HoneyMoose

一次谈不上有点内卷的美东某金融公司面试

HoneyMoose

吐司盒子?芝士码?HarmonyOS创新音视频测试技术来啦|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

OpenHarmony驱动框架解读和开发实践|HDC2021 技术分论坛

HarmonyOS开发者

HarmonyOS

Chrome 插件特性及实战场景案例分析

vivo互联网技术

大前端 插件设计 chrome扩展

美东某 IoT 公司技术流程第一轮沟通就挂了

HoneyMoose

SAP Cloud for Customer Extensibility的设计与实现

汪子熙

SAP abap C4C 11月日更

搞定大厂算法面试之leetcode精讲4.贪心

全栈潇晨

LeetCode 算法面试

分析一个错误使用MemoryCache导致的BUG

喵叔

11月日更

筹备两年,60万字诚意续作《腾讯游戏开发精粹Ⅱ》正式发布

博文视点Broadview

填坑总结:python内存泄漏排查小技巧

华为云开发者联盟

Python 内存 内存泄漏 回收 全局变量

dart系列之:在dart中使用数字和字符串

程序那些事

flutter dart 程序那些事 11月日更

前端开发:数据处理方法分享(其一)

三掌柜

11月日更

IntelliJ IDEA 如何针对 Java 项目创建 H2 数据库连接

HoneyMoose

MySQL Workbench 使用教程 - 如何使用 Workbench 操作 MySQL / MariaDB 数据库中文指南

蒋川

MySQL MariaDB MySQL 数据库

IoT 的概念、发展趋势与挑战

liuzhen007

11月日更

Android C++系列:Linux进程(三)

轻口味

c++ android jni 11月日更

更进一层的.Net事件跟踪机制_.NET_Roopesh Shenoy_InfoQ精选文章