What is OpenTelemetry?
OpenTelemetryopen in new window is an open source and vendor-neutral API for distributed traces (including logs and errors) and metrics. It specifies how to collect and send telemetry data to backend platforms. With OpenTelemetry, you can instrument your application once and then add or change backends without changing the instrumentation.
OpenTelemetry is available for most programming languages and provides interoperability across different languages and environments.
Step 1. Use Instrumentations to find examples for your framework and libraries.
Step 3. Learn about OpenTelemetry tracing API for your programming language to create custom instrumentations.
- Step 4. Install OpenTelemetry Collector to gather infrastructure metrics.
OpenTelemetry API is a programming interface that you use to instrument code and collect telemetry data.
OpenTelemetry SDK is the official implementation of OpenTelemetry API that processes and exports collected telemetry to backends.
Instrumentations are plugins for popular frameworks and libraries that use OpenTelemetry API to record important operations, for example, HTTP requests, DB queries, logs, errors, and more.
OpenTelemetry Collector is a proxy between your application and a backend. It receives telemetry data, transforms it, and then exports data to backends that can store it permanently. Collector can also act as an agent that pulls telemetry data from monitored systems, for example, Redis or filesystem metrics.
OTLP is the OpenTelemetry protocol used by SDK and Collector to export data to backends or other collectors. As a transport, OTLP can use gRPC (OTLP/gRPC) or HTTP (OTLP/HTTP).