3个版本 (破坏性更改)
0.3.0 | 2024年7月16日 |
---|---|
0.2.0 | 2024年6月18日 |
0.1.0 | 2024年2月29日 |
在调试中排名847
每月下载131次
18KB
137 行
OpenTelemetry度量ETW导出器
本代码包包含OpenTelemetry度量导出器到ETW (事件跟踪Windows),这是一个Windows解决方案,用于高效跟踪内核或应用程序定义的事件,类似于Linux上的用户事件。ETW事件可以实时或从日志文件中消费。
使用此代码包创建的ETW事件可以在Windows Vista或更高版本上生成和收集。
此ETW导出器使应用程序能够使用OpenTelemetry API捕获遥测事件并将其写入ETW子系统。从ETWs,事件可以被本地运行的代理捕获,这些代理正在侦听特定的ETW事件。
查看ETW度量
导出到ETW的度量可以使用像logman
、perfview
等工具查看。此代码包当前使用硬编码提供的GUID EDC24920-E004-40F6-A8E1-0E6E48F39D84
。有效负载以protobuf
格式进行二进制编码,遵循OTLP规范。
// TODO - 添加说明。
跟踪日志
作为命令行实用程序,可以使用以下命令运行tracelog
会话
tracelog-start MyTraceSession-f MyTraceFile.etl-guid#EDC24920-E004-40F6-A8E1-0E6E48F39D84
tracelog-stop MyTraceSession
tracefmt-o MyTraceFile.txt MyTraceFile.etl
notepad MyTraceFile.txt
有效载荷是使用 protobuf 编码的,因此无法直接阅读。// TODO: 展示如何将有效载荷转换为可读格式。
OpenTelemetry 概述
OpenTelemetry 是一个可观测性框架和工具包,旨在创建和管理遥测数据,例如跟踪、指标和日志。OpenTelemetry 具有供应商和工具无关性,这意味着它可以与各种可观测性后端一起使用,包括像 [Jaeger] 和 [Prometheus] 这样的开源工具,以及商业产品。
OpenTelemetry 并不是一个可观测性后端,如 Jaeger、Prometheus 或其他商业供应商。OpenTelemetry 专注于遥测数据的生成、收集、管理和导出。OpenTelemetry 的一个主要目标是您可以轻松地对应用程序或系统进行 instrumentation,无论其语言、基础设施或运行时环境如何。关键的是,遥测数据的存储和可视化是有意留给其他工具的。
依赖关系
~6–8MB
~142K SLoC