使用 .NET 处理 ETW 跟踪
Windows 事件跟踪 (ETW) 是内置于 Windows 操作系统的功能强大的跟踪收集系统。 Windows 与 ETW 深度集成,其中包括系统行为的数据,甚至内核的数据,用于上下文切换、内存分配、进程创建和退出等事件。 ETW 中可用的系统范围数据使其非常适合端到端性能分析,或者用于解决其他需要查看整个系统中多个组件之间交互的问题。
与文本日志记录不同,ETW 提供专为自动化数据处理设计的结构化事件。 Microsoft 在这些结构化事件的基础上构建了功能强大的工具,包括 Windows Performance Analyzer (WPA),它提供一个图形化界面,用于可视化和浏览在 ETW 跟踪文件 (.etl) 中捕获的跟踪数据。
在 Microsoft 内部,我们大量使用 ETW 跟踪来衡量 Windows 新版本的性能。 鉴于 Windows 工程系统产生的数据量,自动分析至关重要。 对于自动跟踪分析,我们会大量使用 C# 和 .NET,因此我们创建了 .NET TraceProcessing API 来访问多种 ETW 跟踪数据。 Windows Performance Analyzer 中也使用了此技术,来为它的多种表提供支持。
借助 .NET TraceProcessing NuGet 包,你可以使用 Microsoft 用于分析 Windows 的工具来分析自己的应用程序和系统。
后续步骤
在本概述中,你了解了 .NET TraceProcessing 是什么。
下一步是处理你的第一个跟踪。