What is OpenTelemetry?
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.
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).