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.

CNCF has many observability backend implementations available for use.

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.