Lo standard CNCF per instrumentare applicazioni. Un'API, sei lingue, qualsiasi backend — niente vendor lock-in.
OPENTELEMETRY · open sourceOpenTelemetry (OTel) è il progetto CNCF che unifica instrumentation di metriche, log e trace. È il successore di OpenTracing + OpenCensus, sviluppato da Microsoft, Splunk, Google, Honeycomb, Lightstep, Grafana Labs e centinaia di altri.
Tre componenti: SDK per ogni linguaggio (Java, .NET, Go, Node, Python, Rust, PHP, Ruby), auto-instrumentation per i framework più diffusi (zero codice), OTel Collector come gateway agnostico verso qualunque backend.
È il modo per evitare vendor lock-in sull'observability: oggi i dati vanno a Grafana Tempo/Mimir/Loki, domani anche a un altro backend, semplicemente cambiando la destinazione del Collector. Le tue app non sanno nemmeno cosa sia sotto.
Standard, neutrale, completo.
Java, .NET, Go, Node, Python, Rust, PHP, Ruby. Stessa API, stesse convenzioni semantiche.
Java agent, .NET profiler API, Python autoload — zero codice per framework comuni.
Protocollo binario gRPC/HTTP per spedire metriche+log+trace. Ricevuto da quasi ogni backend moderno.
Gateway processo: ricevi da N protocolli, processi/sample/redact, spedisci a N backend.
Attributi standard (http.route, db.system, k8s.pod.name): dashboard portabili tra clienti.
Cambi backend senza re-instrumentare. Spedisci ai più: Tempo + Datadog in parallelo, ok.
$ wget https://github.com/open-telemetry/.../opentelemetry-javaagent.jar $ java -javaagent:opentelemetry-javaagent.jar \ -Dotel.service.name=checkout-api \ -Dotel.exporter.otlp.endpoint=http://otel-collector:4317 \ -jar checkout.jar › OpenTelemetry · auto-instrument bootstrap › Spring Boot 3.x detected · instrumented › JDBC detected · instrumented (postgresql, redis) › Kafka client detected · instrumented › HTTP client detected · instrumented (OkHttp, Apache) › Exporting OTLP to otel-collector:4317 › 47 spans/s · 1.2M metrics points/min
Auto-instrumentation + OTel Collector + pipeline verso Grafana stack. Zero modifiche applicative tipiche.