The Big Picture - open-telemetry/opentelemetry.io - Design Philosophy

OpenTelemetry Design Philosophy

OpenTelemetry is an open-source project that aims to make observability a built-in feature of cloud-native software. The project was started in 2019 and has since grown to include a community of passionate people with diverse expertise and experience. The primary objective of OpenTelemetry is to enable effective observability by making high-quality, portable telemetry ubiquitous.

OpenTelemetry follows a design philosophy that focuses on creating easy-to-use, uniform, and extensible clients across all supported languages. The project’s design principles are based on the following key concepts:

  1. Easy to Use: OpenTelemetry clients are designed to be easy to use, with full features out of the box and the ability to allow for innovation and experimentation through extensibility.
  2. Uniform: OpenTelemetry clients are expected to provide the same semantic conventions across all supported languages, ensuring that they produce the same data when observing common operations.
  3. Extensible: OpenTelemetry clients are designed to be an extensible framework, allowing for language-specific expressiveness while maintaining a consistent interface.

OpenTelemetry is developed on a signal-by-signal basis, with tracing, metrics, baggage, and logging being examples of signals. Each signal consists of four core components: APIs, SDKs, OpenTelemetry Protocol (OTLP), and Collector. Signals also have contrib components, an ecosystem of plugins and instrumentation.

OpenTelemetry follows a development lifecycle for its components, with each component following a lifecycle of Draft, Experimental, Stable, Deprecated, and Removed. Draft components are under design and have not been added to the project, while Stable components are ready for production use.

OpenTelemetry provides multiple resources for end-users, including a synchronous monthly discussion group, a private Slack channel, talks about OpenTelemetry in practice, and direct interview/feedback sessions. These forums provide a vendor-neutral space for users to discuss best practices, ask questions, and meet other observability-minded folks.

OpenTelemetry’s mission is to enable effective observability by making high-quality, portable telemetry ubiquitous. The project’s vision is to create a world where developers can innovate faster while maintaining high reliability, and where observability is a built-in feature of software, not an afterthought.

Sources: