Skip to content

What is OpenTelemetry

Key idea:

OpenTelemetry (OTel) — CNCF-graduated vendor-neutral standard and tooling for collecting + exporting observability data. Merges OpenTracing + OpenCensus (2019). Supports: metrics, logs, traces via a single SDK for 15+ languages. Auto-instrumentation for popular frameworks (Express, FastAPI, Django, Spring). Export to any backend: Jaeger, Prometheus, Datadog, New Relic, Grafana Tempo.

Below: details, example, related terms, FAQ.

Details

  • SDK (in app): generates spans, metrics
  • Collector: receives from SDK, processes (sampling, filtering), exports
  • Exporters: Jaeger, Prometheus, OTLP (open protocol), vendor-specific
  • Auto-instrumentation: drop-in for Express, Flask, Django, FastAPI, Spring, Rails
  • Context propagation: trace_id via HTTP headers (W3C Trace Context)

Example

// Node.js Express auto-instrumentation
const { NodeSDK } = require('@opentelemetry/sdk-node');
const { getNodeAutoInstrumentations } = require('@opentelemetry/auto-instrumentations-node');
const sdk = new NodeSDK({
  instrumentations: [getNodeAutoInstrumentations()],
});
sdk.start();  // All Express routes auto-traced

Related Terms

Learn more

Frequently Asked Questions

OpenTelemetry vs Datadog agent?

OTel — open standard, vendor-neutral. Datadog agent — vendor-specific, deeper integrations. OTel migration easier if you switch vendors.

Performance overhead?

2-5% CPU overhead with auto-instrumentation. Sampling (1-10% traces) reduces it.

Is it stable?

Tracing — stable since 2021. Metrics — stable since 2023. Logs — stable since 2024. All three usable in prod.