Skip to main content
cd ../lexicon
sys/docs/lexicon/opentelemetry.md
Lexicon
OpenTelemetry

OpenTelemetry

OpenTelemetry is a vendor-neutral observability framework providing APIs, SDKs and a Collector for generating, processing and exporting traces, metrics and logs; correct use requires bounded pipeline configuration, validated exporters and a defined rollback path.
Difficulty: Intermediate
6 min read
Updated 2026-08-28

In plain English

Plain definition

OpenTelemetry is a vendor-neutral observability framework providing APIs, SDKs and a Collector for generating, processing and exporting traces, metrics and logs; correct use requires bounded pipeline configuration, validated exporters and a defined rollback path.

Technical Definition

OpenTelemetry (often abbreviated OTel) is a Cloud Native Computing Foundation project defining a specification, language-specific APIs and SDKs, and a semantic convention layer for telemetry data. It separates instrumentation (embedded in application code or auto-injected via agents) from the OpenTelemetry Collector, an optional but commonly deployed pipeline component that receives data via receivers, applies processors (batching, filtering, attribute manipulation) and forwards it through exporters to observability backends. Data is exchanged using the OTLP (OpenTelemetry Protocol) over gRPC or HTTP, though the Collector also supports many legacy formats via dedicated receivers and exporters.

Operational Relevance

OpenTelemetry matters operationally because it decouples telemetry generation from the backend that stores or analyses it. Teams can change observability vendors, run dual-write during migration, or centralise cross-language instrumentation standards without re-instrumenting every service. The Collector also acts as a buffering and transformation point, which reduces direct coupling between application processes and backend availability.

Architecture Relationship

In a typical architecture, instrumented services (using an OpenTelemetry SDK per language) export telemetry via OTLP to a locally or centrally deployed Collector. The Collector’s pipeline — receivers, processors, exporters — then routes data onward to one or more backends such as a tracing store, metrics store or log aggregator. Multiple Collector instances can be chained (agent tier and gateway tier) for scaling and resilience, and configuration is typically expressed as YAML pipeline definitions.

Example

A representative bounded workflow: deploy a single Collector instance in a non-production namespace, configure one receiver (OTLP), one processor (batch) and one exporter (a logging or debug exporter for validation), then confirm that a test span emitted by an instrumented sample service appears in the Collector’s own logs before pointing the pipeline at a real backend.

receivers:
  otlp:
    protocols:
      grpc:
processors:
  batch:
exporters:
  debug:
    verbosity: detailed
service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [debug]

Misunderstanding

A common misunderstanding is treating OpenTelemetry itself as an observability backend or dashboarding product. It is not a storage or visualisation system; it standardises collection and transport. A second misunderstanding is assuming the Collector is mandatory: SDKs can export directly to a backend that accepts OTLP, though most production deployments use a Collector for buffering, transformation and vendor flexibility.

  • OTLP (OpenTelemetry Protocol)
  • Distributed tracing
  • Observability
  • Metrics exporter
  • Instrumentation SDK

Further Reading

Consult the official OpenTelemetry documentation for current architecture diagrams, supported languages and Collector configuration reference before making version-specific implementation decisions, since component maturity and defaults change between releases.

Validating a Bounded Deployment

Before relying on any OpenTelemetry pipeline in a shared environment, validate it in isolation: confirm the Collector process starts without configuration errors, confirm a single test signal traverses the configured pipeline end-to-end, and confirm no unintended receiver is exposed on a network-reachable port. Only extend the pipeline to a production exporter once this bounded check passes, and keep the previous known-good Collector configuration file available so a failed change can be reverted by redeploying it.