What is OpenTelemetry?
OpenTelemetry is an open source and vendor-neutral API for distributed tracing, logs, and metrics.
OpenTelemetry specifies how to collect and send telemetry data to backend platforms. With OpenTelemetry, you can instrument your application once and then add or change vendors without changing the instrumentation.
OpenTelemetry is available for most programming languages and provides interoperability across different languages and environments.
How to use OpenTelemetry?
Step 1. Install a distributed tracing tool.
Step 2. Use OpenTelemetry Instrumentations to find examples for your framework and libraries.
Step 3. Configure OpenTelemetry SDK to export telemetry data to the tracing tool.
Step 4. Learn about OpenTelemetry tracing API for your programming language to create custom instrumentations.
- Step 5. Install OpenTelemetry Collector to gather infrastructure metrics.
Glossary
OpenTelemetry API is a programming interface that you can 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).
Tracing tools allow to observe requests as they propagate through distributed systems, especially those built using a microservices architecture. See also DataDog competitors and alternatives.