OpenTelemetry Primer
Instrument your stack with vendor-neutral observability. Traces, metrics, and logs — unified, open-source, and production-ready.
What is OpenTelemetry?
OpenTelemetry (OTel) is a CNCF project that provides APIs, SDKs, and tooling to generate, collect, and export telemetry data. It merges OpenTracing and OpenCensus into a single standard. You instrument once and ship to any backend — Jaeger, Datadog, Honeycomb, or your own collector.
The Three Signals
Traces
Follow a request end-to-end across services. Spans capture timing, metadata, and parent-child relationships.
Metrics
Numeric measurements over time — request rate, error count, latency percentiles. Lightweight and aggregatable.
Logs
Structured, context-rich log records correlated with trace and span IDs for seamless debugging.
Quick Start
1. Install SDK
Add the OTel SDK for your language — @opentelemetry/sdk-node for Node.js, opentelemetry-distro for Python, or the Java agent JAR.
2. Configure Exporter
Point the OTLP exporter to your collector endpoint. Default is localhost:4317 (gRPC) or localhost:4318 (HTTP).
3. Auto-Instrument
Use zero-code instrumentation agents to capture HTTP frameworks, databases, and messaging systems without manual span creation.
Context Propagation
OTel uses W3C Trace Context headers (traceparent, tracestate) to propagate span context across process boundaries. Every downstream service automatically joins the same trace, giving you a complete picture of distributed latency.
Pro tip
Start with auto-instrumentation, then add custom spans for business-critical paths. Over-instrumentation is cheaper than blind spots in production.