OpenTelemetry
SDKs & Auto-Instrumentation
Generate telemetry from apps with minimal code via APIs, SDKs, and agents.
OpenTelemetry separates the API from the SDK. The API is a thin surface your code (or a library) calls to create spans and record measurements; it does nothing on its own. The SDK is the configurable implementation that actually samples, batches, and exports the data. This split means library authors can instrument against the stable API without forcing a backend choice on their users.
A car with both factory-fitted sensors (auto-instrumentation covering the common systems) and a few aftermarket gauges you add for the specific things you care about (manual spans).
Key Concepts
1
Two instrumentation styles exist. Manual instrumentation has you create spans and metrics explicitly around important operations — the most precise but most effort. Auto-instrumentation uses language-specific agents or libraries that hook popular frameworks and clients (HTTP servers, gRPC, database drivers) to emit spans and metrics with no code change — for example a Java agent attached via -javaagent, or zero-code Python/Node packages. Most teams combine the two: auto-instrumentation for breadth, a few manual spans for domain-specific detail.