OpenTelemetry Atingiu Maturidade de Produção — Agora as Equipes Estão Aprendendo Quanto a Observabilidade Realmente Custa

A especificação de rastreamento do OpenTelemetry alcançou estabilidade em 2021. A especificação de métricas seguiu em 2023. No início de 2025, o OTel é o segundo projeto da CNCF mais ativo em número de contribuidores, atrás do Kubernetes. Todos os principais backends de observabilidade — Datadog, New Relic, Honeycomb, Grafana, Dynatrace e AWS CloudWatch — agora aceitam dados OTel nativamente. A pesquisa da CNCF de 2024 descobriu que 44% das organizações têm OTel em produção, acima dos 27% do ano anterior. Essa é uma velocidade de adoção genuína, não ruído de pesquisa.
O que esses números obscurecem é a realidade operacional que as equipes enfrentam quando ativam o OTel em um ambiente de produção sério: o volume de dados é enorme, e o custo de armazenar, consultar e gerar alertas sobre eles cresce mais rapidamente do que o sistema.
O Problema da Cardinalidade em Termos Concretos
Cardinalidade, no contexto da observabilidade, refere-se ao número de séries temporais únicas que seu sistema de métricas precisa rastrear. Um único endpoint HTTP instrumentado com OTel pode emitir um span para cada requisição com atributos como http.method, http.status_code, http.route, http.target e uma tag personalizada user_id adicionada pelo desenvolvedor. No momento em que você inclui user_id em uma métrica (não apenas em um trace), sua cardinalidade explode: em vez de algumas séries temporais para aquele endpoint, você agora tem uma série temporal por usuário que já o acessou.
Isso não é uma preocupação teórica. O Prometheus, o backend de métricas de código aberto mais amplamente utilizado, começa a sofrer degradação séria de desempenho em torno de 10 milhões de séries temporais ativas. Equipes que instrumentam levianamente IDs de usuário, tokens de sessão ou endereços IP no nível da requisição em suas métricas podem atingir esse limite com um único serviço de tráfego moderado. Thanos e VictoriaMetrics, ambos projetados para estender o Prometheus em escala, podem elevar esse teto significativamente, mas nenhum deles resolve a economia subjacente: cada série temporal custa armazenamento e computação de consulta proporcionais à sua cardinalidade.