OpenTelemetry (OTel) é o segundo maior projeto da CNCF, atrás apenas do Kubernetes, e tornou-se o padrão de fato para coleta de telemetria. Com base em Dynatrace e na documentação OTel:
1. O que é OpenTelemetry
Estrutura unificada para traces, métricas e logs — e em evolução para profiling. Mais de 90 vendors de observabilidade e inúmeros usuários adotam OTel.
2. Tendências 2025
- Convenções semânticas estáveis — HTTP já estável; databases e messaging em estabilização. Dados consistentes entre sistemas.
- Collector 1.0 — Simplificação de deployments: ingestão, processamento e roteamento para backends. 200+ componentes, 12+ linguagens.
- Profiling — Nova signal com suporte experimental no Collector e agente de Continuous Profiling baseado em eBPF.
- GenAI Observability — Convenções para IA generativa e instrumentação para OpenAI.
- OpenTelemetry Weaver — Ferramenta para observability by design, type-safe e baseada em convenções.
3. Por que Adotar
- Vendor-neutral — troque de backend sem reescrever instrumentação
- Padrão da indústria
- Ecossistema amplo de exportadores e backends
4. Quando Começar
Ideal para novos projetos ou quando planejar consolidar traces, métricas e logs em uma stack moderna de observabilidade.
5. Pilares: Traces, Métricas e Logs
- Traces: Mostram o caminho de uma requisição entre serviços. Um request HTTP pode gerar spans em API, banco e cache — você vê onde o tempo foi gasto.
- Métricas: Contadores, gauges e histogramas (ex: latência P99, taxa de erro).
- Logs: Texto estruturado com contexto. O OTel propõe convenções para enriquecer logs com trace_id e span_id, ligando-os aos traces.
6. Migração Gradual
Você não precisa adotar tudo de uma vez. Comece instrumentando o serviço mais crítico com traces. Depois adicione métricas e, por fim, correlacione logs. A maioria dos backends (Datadog, Grafana, etc.) já suporta OTLP (protocolo do OTel).
7. Auto-instrumentação
Muitas libs (HTTP clients, frameworks) têm instrumentação automática. Você adiciona o pacote e os spans aparecem sem alterar o código. Para o resto, use a API do OTel manualmente ou com decorators/wrappers.
8. OTLP e Exportadores
O protocolo OTLP (OpenTelemetry Protocol) é o padrão para enviar dados ao Collector ou backends. Exportadores para Datadog, Grafana, Honeycomb e outros estão disponíveis. Um Collector centralizado permite rotear para múltiplos destinos sem alterar o código da aplicação.