Skip to main content...
Observability: Metrics, Logs, Traces
20 min

Day 105: OTel Collector → Tempo/Jaeger

The Collector: a buffer and router for telemetry

Rather than every service sending telemetry directly to a backend, the OpenTelemetry Collector sits in between — receiving data from many services, optionally batching/filtering/enriching it, and exporting to one or more backends (Tempo, Jaeger, a vendor platform). This indirection means changing your backend is a Collector config change, not an application redeploy.

A Collector pipeline config, conceptually
receivers:
  otlp: { protocols: { grpc: {} } }
processors:
  batch: {}
exporters:
  otlp/tempo:
    endpoint: tempo:4317
service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp/tempo]

Tempo and Jaeger are both trace storage/query backends — Tempo is notably designed to be cheap at scale by not requiring its own separate indexing (it relies on trace IDs, often looked up via logs/metrics that reference them), while Jaeger has historically been the more established, full-featured tracing UI/backend.

Key terms

OTel Collector
A telemetry pipeline that receives, processes, and routes data to one or more backends.

Your company wants to switch tracing backends from Jaeger to Tempo. Why does having an OTel Collector in place make this easier?

We use cookies

We use cookies to enhance your browsing experience, serve personalized content, and analyze our traffic. By clicking "Accept All", you consent to our use of cookies. Learn more

    Day 105: OTel Collector → Tempo/Jaeger | RBTechIconX