Jacar mascot — reading along A laptop whose eyes follow your cursor while you read.
Arquitectura Tecnología

OpenTelemetry: Unifying Logs, Metrics, and Traces

OpenTelemetry: Unifying Logs, Metrics, and Traces

Actualizado: 2026-05-03

For years, observability in distributed systems meant three separate tools: Prometheus for metrics, Jaeger/Zipkin for traces, Elasticsearch/Loki for logs. Each with its agent, protocol, format. OpenTelemetry[1] (OTel) is the CNCF[2] project unifying the three signals under a single standard, and it has reached enough maturity to be the default choice for new projects.

Key takeaways

  • Before OTel, instrumenting an application required three libraries, three formats, and three configuration models; changing backends meant re-instrumenting.
  • OTel proposes one instrumentation library, one transport protocol (OTLP), and interchangeable backends.
  • Traces are GA since 2021; metrics are GA since 2023; logs are in beta but already worth using for new projects.
  • The OpenTelemetry Collector is the most underrated component: it enables backend changes without touching application code.
  • The practical recommendation is auto-instrumentation for basic coverage plus manual instrumentation for critical business spans.

The problem it solves

Before OTel, instrumenting an application required:

  • Metrics: Prometheus client library, export at /metrics.
  • Traces: Jaeger/Zipkin library, configure sampler.
  • Logs: structured-format library, ship to stdout or backend.

Three libraries, three formats, three configuration models. If you changed backends, you re-instrumented. If you wanted trace-log correlation, you implemented it manually.

OTel proposes: one instrumentation library, one transport protocol (OTLP), and interchangeable backends.

The state of the three signals

Each signal has different maturity:

  • Traces: GA since 2021. Stable and production-ready in every major language. Integration with Jaeger, Tempo, Datadog, New Relic, Grafana Cloud — trivial.
  • Metrics: GA since 2023. Stable but with backend ecosystem still transitioning. Prometheus isn’t OTel-native but has an OTLP receiver adapter.
  • Logs: in beta. Standard defined, implementations maturing. For new projects already worth it; for migrating existing pipelines, waiting 6-12 months can pay off.

Typical architecture

A typical OTel deployment has three layers:

  1. SDK instrumenting the application (auto or manual, depending on language).
  2. OpenTelemetry Collector as local or regional proxy — receives, processes (sampling, filtering, enrichment), and exports.
  3. Backends receiving the data: Prometheus, Grafana, Jaeger, etc.

The Collector is the most underrated component. It lets you change backends without touching application code, add metadata, apply dynamic sampling, and aggregate metrics before sending — all in declarative YAML.

OpenTelemetry architecture diagram with SDK, Collector, and observability backends

Auto-instrumentation vs. manual

Two paths, each with its profile:

  • Auto-instrumentation: agents that inject instrumentation without touching code. For Java (with Javaagent), Python, .NET, and Node.js, it works notably well: you get HTTP, DB, and gRPC traces out-of-the-box.
  • Manual: explicit tracer.start_span(...) calls in code. More work, but captures business semantics that auto can’t infer — “process_payment” as its own span.

Practical recommendation: auto for basic coverage + manual for critical business spans.

Integrations with existing stack

OTel doesn’t force you to abandon what already works. Three common integrations:

  • Prometheus exporter: the Collector can expose metrics in Prometheus format, so Grafana keeps working unchanged.
  • Jaeger backend: OTLP → native Jaeger. No historical data migration, just redirect new flows.
  • Promtail/Fluent Bit: you can complement OTel logs with existing pipelines without conflict.

See the complete Grafana stack in Loki, Tempo, and Mimir for open observability — OTel as unified SDK and Grafana as visualisation layer form a natural combination. For the network context where signals originate, see Cilium and Hubble and Pixie for K8s.

Cross-correlation diagram: from metric to log to trace with shared namespace and service labels

When to adopt

Recommendation by team type:

  • Greenfield: adopt OTel from day one. Cost is identical to any other library and avoids future migrations.
  • Mature stack with Prometheus + Jaeger working: migrate gradually. Instrument new services with OTel, let them send to your existing backend via exporters. Medium-term, unify.
  • No formal observability yet: start with OTel traces + Grafana Tempo. Add metrics and logs as they stabilise.

Conclusion

OpenTelemetry is no longer the future of observability — it’s the present. For new projects, it’s the default choice. For teams with established infrastructure, gradual migration is feasible without disruption. What remains is deciding when to start, not whether.

Was this useful?
[Total: 14 · Average: 4.6]
  1. OpenTelemetry
  2. CNCF

Written by

CEO - Jacar Systems

Passionate about technology, cloud infrastructure and artificial intelligence. Writes about DevOps, AI, platforms and software from Madrid.