opentelemetry插件

OpenTelemetry是一个集log、metrics、tracing于一体的全维度可观测性方案

OpenTelemetry简史

  • 2010年 Google发布的 Dapper 论文是分布式链路追踪的开端
  • 2012年 Twitter 开源了 Zipkin
  • 2015年 Uber 发布了 Jaeger 的开源版本。目前 Zipkin 和 Jaeger 仍然是最流行的分布式链路追踪工具之一。
  • 2015年 OpenTracing 项目被 CNCF 接受为它的第三个托管项目,致力于标准化跨组件的分布式链路追踪。
  • 2017年 Google 将内部的 Census 项目开源,随后 OpenCensus 在社区中流行起来。
  • 2017年 W3C 着手制定 TraceContext 相关标准。
  • 2019年初,两个现有开源项目:OpenTracing 和 OpenCensus 被宣布合并为 OpenTelemetry 项目,并将Log和Metrics整合进观测性标准。
  • 2021年, OpenTelemetry 发布了V1.0.0,为客户端的链路追踪部分提供了稳定性保证。
  • 2023年对于 OpenTelemetry 来说是一个里程碑,因为其三个基本信号,链路追踪、指标和日志,都达到了稳定版本。

crates.io Documentation

依赖

spring-opentelemetry = "<version>"

OTEL默认使用W3C格式传递链路追踪的上下文信息。

可选的features:

  • jaeger: 使用jaeger格式透传上下文
  • zipkin: 使用zipkin格式透传上下文
  • more-resource: 添加更多的资源信息,如主机Host、操作系统、进程信息

完整代码参考opentelemetry-example

注意: opentelemetry-rust尚未稳定,与tracing的部分功能需要整合。插件会持续跟踪opentelemetry-rust和tracing的相关动态,并及时更新。