opentelemetry Plugin

OpenTelemetry is a full-dimensional observability solution that integrates logs, metrics, and tracing.

A brief history of OpenTelemetry

  • In 2010, The Dapper paper released by Google marked the beginning of distributed link tracing.
  • In 2012, Twitter open-sourced Zipkin.
  • In 2015, Uber released the open-source version of Jaeger. Currently, Zipkin and Jaeger are still one of the most popular distributed link tracing tools.
  • In 2015, the OpenTracing project was accepted by CNCF as its third hosted project, dedicated to standardizing distributed link tracing across components.
  • In 2017, Google open-sourced its internal Census project, and then OpenCensus became popular in the community.
  • In 2017, W3C started to develop TraceContext related standards.
  • In early 2019, two existing open source projects: OpenTracing and OpenCensus were announced to be merged into the OpenTelemetry project, and Log and Metrics were merged.
  • In 2021, OpenTelemetry released V1.0.0, which provided stability guarantees for the client's link tracing part.
  • 2023 is a milestone for OpenTelemetry, because its three basic signals, link tracing, metrics and logs, have all reached stable versions.

crates.io Documentation

Dependencies

spring-opentelemetry = "<version>"

OTEL uses the W3C format to propagate context information for tracing by default.

Optional features:

  • jaeger: Use jaeger format to propagate context
  • zipkin: Use zipkin format to propagate context
  • more-resource: Add more resource information, such as host Host, operating system, process information

For complete code, refer to opentelemetry-example

Note: opentelemetry-rust is not stable yet, and some features of tracing need to be integrated. The plugin will continue to track the relevant dynamics of opentelemetry-rust and tracing, and update them in a timely manner.