MÓDULO 10 · CONCEITO 09 DE 12

APM e Ferramentas Comerciais

Datadog, New Relic, Dynatrace, Honeycomb — make vs buy, lock-in, eBPF, e quando a ferramenta comercial é a decisão certa

Tempo de leitura ~28 min Pré-requisito 05 · OpenTelemetry Próximo 10 · Profiling Contínuo

APM (Application Performance Monitoring) é uma categoria de ferramentas que combina traces, métricas, logs, profiling e alertas em uma única plataforma integrada — com foco em performance de aplicação e experiência do usuário. A diferença entre APM comercial e observabilidade self-hosted é primariamente operacional: ferramentas comerciais oferecem auto-instrumentation avançado (bytecode injection, eBPF), correlação automática de sinais, e dashboards prontos — em troca de custo de SaaS e graus variados de lock-in. A questão central não é qual ferramenta é tecnicamente superior, mas qual decisão faz sentido dado o tamanho do time, o estágio da empresa, e os requisitos de compliance.

Datadog

Datadog é a plataforma APM dominante no mercado enterprise. Cobre traces, métricas, logs, RUM (Real User Monitoring), profiling contínuo, e SIEM — tudo no mesmo produto com correlação nativa entre sinais.

Diferenciais técnicos

Modelo de custo

O Datadog tem um modelo de preço que pode surpreender: você paga por host, por serviço instrumentado, por volume de logs ingeridos (separado de métricas e traces), e por funcionalidades (APM, Log Management, RUM, SIEM são cobrados separadamente). Em escala, o custo pode ser significativo — times sem gestão ativa frequentemente recebem surpresas na fatura.

# Táticas de controle de custo no Datadog

# 1. Sampling de APM — reduzir volume de traces
DD_TRACE_SAMPLE_RATE=0.1          # 10% de sampling global
DD_APM_ANALYZED_SPANS="service|operation=sample_rate"  # por operação

# 2. Excluir endpoints de alto volume e baixo valor
DD_APM_IGNORE_RESOURCES="health_check,GET /metrics,GET /readiness"

# 3. Log management: exclusion filters antes da ingestão
# Logs descartados via exclusion filter não são cobrados
# Configure no Datadog UI: Logs > Configuration > Indexes

# 4. Métricas custom: evitar alta cardinalidade (cada série = $)
# Nunca user_id, request_id como tag de métrica custom
# Use DDSketch para distribuições sem explodir cardinalidade

# 5. Budget alerts via Datadog Cost Management
# Receber alertas quando custo projetado exceder threshold

Integração com OTel

O Datadog Agent aceita traces via OTLP desde 2021. Instrumentar com o OTel SDK e exportar para o Datadog Agent via OTLP elimina o lock-in de instrumentação — se você sair do Datadog, trocar o exportador no OTel Collector é suficiente, sem reescrever nada na aplicação.

New Relic

New Relic foi o pioneiro do APM (fundado em 2008) e passou por uma transformação profunda nos últimos anos: de modelo por host para modelo de dados ingeridos, e forte aposta no OTel como padrão de instrumentação.

# New Relic via OTLP — zero SDK proprietário
# Configurar OTel Collector para exportar para NR OTLP endpoint
exporters:
  otlp/newrelic:
    endpoint: https://otlp.nr-data.net:4317
    headers:
      api-key: ${NEW_RELIC_LICENSE_KEY}

# Ou configurar diretamente no SDK via variáveis de ambiente:
OTEL_EXPORTER_OTLP_ENDPOINT=https://otlp.nr-data.net:4317
OTEL_EXPORTER_OTLP_HEADERS=api-key=${NEW_RELIC_LICENSE_KEY}
OTEL_SERVICE_NAME=order-service

Dynatrace

Dynatrace é o APM premium com foco em enterprise e automação máxima. Seu diferencial histórico: o OneAgent injeta instrumentação automaticamente em qualquer processo Java, .NET, Node.js, Go via bytecode manipulation — zero configuração manual de SDK. Isso o torna especialmente atraente para enterprises com muitos serviços legados que seriam difíceis de instrumentar manualmente.

Davis AI — causa raiz automática

O Davis AI é o motor de análise de causa raiz do Dynatrace. Ao detectar um problema, Davis automaticamente: identifica o serviço afetado, mapeia as dependências upstream, determina a causa raiz provável (ex: "problema causado por aumento de latência no banco de dados PostgreSQL na instância X"), e calcula o impacto em usuários. Diferente de sistemas de alertas tradicionais que geram dezenas de alertas independentes, o Davis cria um único "Problem" por incidente com a cadeia causal completa — reduzindo radicalmente o ruído durante um outage.

Grail — Lakehouse nativo

Dynatrace Grail é um storage de observabilidade baseado em lakehouse — traces, logs, métricas, eventos no mesmo engine de query (DQL — Dynatrace Query Language). Elimina a necessidade de múltiplos datastores especializados e permite queries cross-signal, mas cria forte lock-in de dados.

Honeycomb

Honeycomb nasceu com uma filosofia diferente de todos os APMs acima: foi desenhada para observabilidade de alta cardinalidade — queries arbitrárias em eventos com centenas de atributos (user_id, tenant_id, feature_flag, build_sha) sem degradação de performance. A ideia central: em vez de decidir antecipadamente quais métricas monitorar, você instrumenta com eventos ricos e explora esses eventos para responder perguntas que você ainda não sabia que teria.

BubbleUp

BubbleUp é a feature icônica do Honeycomb: dado um time range de degradação de performance (selecionado manualmente no gráfico), o BubbleUp automaticamente identifica quais combinações de atributos (tenant, feature flag, versão de app, região, tipo de device) aparecem desproporcionalmente nas requests lentas vs. nas rápidas. É análise de causa raiz por correlação estatística — você não precisa saber qual dimensão causou o problema, o BubbleUp mostra.

Observability-Driven Development

Honeycomb popularizou o conceito de observability-driven development: instrumentar código com eventos ricos antes de debugar, e usar a observabilidade durante o desenvolvimento (não só em produção) para entender o comportamento do sistema. O fluxo: escrever código → adicionar campos de contexto ao evento → deployar → explorar eventos no Honeycomb para verificar o comportamento esperado. Substitui o ciclo de "adicione um log, redeploye, verifique" por exploração iterativa.

Make vs Buy — A Decisão Central

A decisão entre construir uma stack open source (Prometheus + Grafana + Jaeger/Tempo + Loki) vs adotar uma ferramenta comercial é uma das mais impactantes em termos de custo total de propriedade e velocidade de time-to-value.

Argumentos para Buy (ferramentas comerciais)

Argumentos para Make (open source)

# Framework de decisão make vs buy

# 1. Calcule o custo real do vendor para 3 anos
#    (não subestime add-ons: APM, Logs, RUM, SIEM são separados)
#    Datadog example: 50 hosts × $18/host/mês = $900/mês = $10.8k/ano
#    + Log Management: 500GB/mês × $0.10/GB = $600/mês = $7.2k/ano
#    Total 3 anos: ~$54k — só para 50 hosts, sem RUM e SIEM

# 2. Calcule o custo real do OSS (não esqueça o operacional)
#    Engenheiro sênior para operar a stack: ~$15k/mês
#    Mesmo 20% do tempo = $3k/mês = $36k/ano
#    Stack OSS raramente é "gratuita"

# 3. Verifique requisitos de compliance
#    Dados na EU/Brasil: onde ficam os dados do Datadog?
#    HIPAA: Datadog tem BAA disponível — verifique
#    PCI DSS: quais certificações o vendor tem?

# 4. Avalie o stage da empresa
#    < 20 engenheiros crescendo rápido → buy, foque no produto
#    Time de plataforma dedicado + volume alto → avaliar OSS

# 5. Mitigue o lock-in com OTel independente da decisão
#    Instrumente com OTel SDK → configure exporter para o vendor
#    Migrar backend no futuro = mudar config do Collector, não o código

Mitigando o Lock-in

O lock-in de ferramentas de observabilidade tem duas camadas distintas: lock-in de instrumentação (SDK proprietário no código da aplicação) e lock-in de dados/configuração (dashboards, alertas, queries no formato proprietário).

Lock-in de instrumentação — solução: OTel

Instrumentar com o OTel SDK e exportar para o backend comercial via OTLP elimina o lock-in de instrumentação. A migração entre backends vira apenas mudança de configuração no OTel Collector — sem tocar o código da aplicação. Todos os backends principais (Datadog, New Relic, Dynatrace, Honeycomb) aceitam OTLP.

Lock-in de dashboards e alertas

Dashboards no Datadog usam DDMetrics queries — não portáveis para Grafana. Alertas em formato Datadog não migram para Alertmanager. Estratégia de mitigação: manter dashboards core em Grafana com Prometheus como fonte de verdade, mesmo que o Datadog seja o APM principal. Grafana suporta datasource nativo para Datadog, New Relic e CloudWatch — você pode usar Grafana como UI única sobre múltiplos backends.

grafana como camada de unificação

Grafana suporta datasources nativos para Datadog, New Relic, Elastic, CloudWatch, Prometheus, Loki e Tempo. É possível usar Grafana como UI única sobre múltiplos backends — você mantém os backends especializados (Datadog para APM, Loki para logs) mas unifica a experiência de visualização. Isso reduz o lock-in de UI enquanto mantém os benefícios operacionais de cada backend. Dashboards em Grafana são portáveis; dashboards no Datadog não são.

Decisões de engenharia

Datadog vs New Relic vs Dynatrace — qual escolher?

Datadog: melhor integração com infraestrutura (Kubernetes, AWS, GCP, Azure), eBPF-based universal monitoring, ecossistema de integrações mais amplo. New Relic: melhor custo em ingestion-based pricing, free tier generoso (100GB/mês), NRQL muito poderoso para analytics. Dynatrace: melhor auto-discovery e Davis AI para causa raiz — preferido em enterprises com muitos hosts e pouco tempo de engenharia para configuração. Honeycomb: melhor para observabilidade de alta cardinalidade e debugging de problemas complexos onde você não sabe qual dimensão olhar.

Quando migrar de ferramenta comercial para open source?

O gatilho mais comum: fatura do Datadog/NR começa a ultrapassar 1-2% da receita, ou a equipe de plataforma tem capacidade para absorver a operação. A migração raramente vale a pena com menos de 20 engenheiros — o custo de engenharia de operar a stack OSS supera o custo do SaaS. Com time de plataforma dedicado e volume de dados alto, o math muda: cada $100k economizado em SaaS paga ~1 engenheiro sênior por ano. A estratégia mais comum: migrar log storage para Loki (maior economia), manter Datadog para APM e alertas onde o valor diferenciado é maior.

Como justificar o custo do APM para stakeholders?

Calcule o custo de um incidente não detectado: MTTR sem APM vs com APM. Se o MTTR cai de 4h para 30min, e o custo de downtime é $10k/hora, cada incidente resolvido mais rápido economiza $35k. Com 5 incidentes por ano, o Datadog a $100k/ano se paga. O argumento correto não é "o Datadog custa $X" — é "não ter observabilidade custa $Y por incidente, e temos Z incidentes por ano". O ROI em MTTR é calculável e tangível para qualquer gestor.

Como usar OTel com ferramentas comerciais sem perder features?

OTel cobre traces, metrics e logs com boa cobertura, mas algumas features dos vendors são específicas do backend — Datadog Dynamic Instrumentation, Dynatrace Davis AI, Honeycomb BubbleUp. Essas são features do backend, não da instrumentação — você pode usar OTel SDK e ainda se beneficiar delas enviando via OTLP para o backend. A única perda são features que requerem o SDK proprietário em alguns casos específicos (Datadog APM profiling contínuo, por exemplo, requer o DD tracer em algumas linguagens). Na prática: instrumente com OTel, configure o exporter para o vendor, e avalie caso a caso quais features específicas do vendor justificam o SDK proprietário.

Como praticar

  1. Instrumente uma aplicação simples (API REST com 2-3 endpoints) com o OTel SDK e configure dois exporters no OTel Collector: um para um backend open source local (Jaeger ou Tempo) e um para New Relic via OTLP (usando o free tier de 100GB/mês). Compare a experiência de debugging de um trace complexo nos dois backends — velocidade de query, navegação de trace, correlação com logs.
    Critério: o mesmo trace aparece em ambos os backends com spans idênticos; a mudança de backend foi feita apenas no Collector (zero alteração no código da aplicação); um incidente simulado (latência alta em um endpoint) é debugado em ambos os ambientes e o processo é documentado comparando a experiência; o setup completo está em um docker-compose.yaml reproduzível.
  2. Configure o Datadog Agent (ou New Relic) para receber traces via OTLP e demonstre portabilidade: instrumente uma aplicação com OTel SDK, envie para Datadog, depois reconfigure apenas o Collector para enviar para Jaeger local — sem mudar uma linha de código da aplicação. Documente o processo de migração.
    Critério: a aplicação não tem nenhum import ou dependência do SDK proprietário Datadog/NR; a mudança de backend é feita em um único arquivo de configuração do Collector; os traces aparecem corretamente em ambos os backends; o documento de migração descreve exatamente quais arquivos foram alterados (deve ser só o config do Collector).
  3. Construa o framework de decisão make vs buy para um cenário concreto: escolha um cenário realista (startup com 15 engenheiros e 20 serviços, OU empresa mid-size com 80 engenheiros e 100 serviços) e calcule o TCO de 3 anos para cada opção — Datadog (com preços reais do site) vs stack OSS (Grafana Cloud ou self-hosted, calculando horas de engenharia para operação).
    Critério: o cálculo inclui todos os componentes de custo do Datadog (hosts, APM, logs, alertas); o cálculo do OSS inclui custo de infra E custo de engenharia (% do tempo de um engenheiro × salário); a conclusão é fundamentada nos números calculados (não em preferência); o documento inclui sensibilidade — "se o volume de logs dobrar, como muda a decisão?"
  4. Crie uma estratégia de controle de custo para um Datadog simulado: dado um cenário com 50 hosts, 500GB de logs/dia, e 10 serviços com APM, identifique as 3 maiores fontes de custo usando o modelo de preços do Datadog e proponha táticas concretas (sampling rate, exclusion filters, ILM, métricas custom vs standard) para reduzir o custo em 30% sem perder visibilidade crítica.
    Critério: as 3 maiores fontes de custo são corretamente identificadas com valores em dólar; cada tática proposta tem o impacto estimado em custo; as táticas não comprometem alertas de SLO críticos; o plano inclui como validar que a visibilidade foi mantida após a otimização.
  5. Compare a abordagem de observabilidade-driven development do Honeycomb com a abordagem tradicional de logging: pegue um bug real ou simulado (ex: latência alta em alguns tenants mas não outros) e resolva-o duas vezes — uma usando apenas logs estruturados e grep/search, outra usando uma ferramenta com suporte a alta cardinalidade (Honeycomb free tier ou Grafana Loki com queries LogQL avançadas). Documente o número de iterações e o tempo em cada abordagem.
    Critério: o mesmo bug é resolvido com ambas as abordagens; o processo com alta cardinalidade requer menos iterações para identificar o tenant/dimensão afetado; o documento explica por que a dimensão problemática não seria descoberta facilmente com métricas agregadas; a instrumentação criada para o exercício inclui pelo menos 5 atributos de contexto por evento (user_id, tenant_id, feature_flag, etc.).

Perguntas de entrevista

    Como você estruturaria a decisão de adotar Datadog vs construir uma stack open source?

    Avaliaria em quatro dimensões: (1) Custo total de propriedade real: calcular o custo do Datadog projetado para 3 anos (hosts, log ingestion, APM, RUM — todos são cobrados separadamente) e comparar com o custo de engenharia de operar Prometheus+Grafana+Loki+Tempo em alta disponibilidade — frequentemente o OSS parece mais barato mas não considera o custo de engenharia de operação; (2) Expertise disponível: o time tem experiência com Prometheus HA (Thanos/Mimir), Elasticsearch, Kubernetes operators para Loki? Sem isso, o custo de aprendizado e incidentes operacionais é real; (3) Compliance e localização de dados: existe regulação que exija dados on-prem? O Datadog tem BAA para HIPAA e certifications relevantes, mas se compliance exigir processamento no datacenter próprio, OSS é obrigatório; (4) Stage e velocidade: startup crescendo rápido com 10 engenheiros — compre, foque no produto. Time de plataforma com 5+ engenheiros dedicados — a equação muda. Minha recomendação padrão: começar com uma ferramenta comercial, migrar componente a componente para OSS quando o custo justificar e o time tiver capacidade. Nunca migrar tudo de uma vez.

    O que é Universal Service Monitoring e por que o eBPF é tecnicamente diferente de outros APMs?

    Universal Service Monitoring (Datadog) usa eBPF para capturar métricas de serviço (request rate, error rate, latência) diretamente no kernel — sem agente na aplicação e sem mudança de código. eBPF (extended Berkeley Packet Filter) é uma tecnologia Linux que permite executar programas sandboxed no kernel, capturando eventos de rede e sistema com overhead mínimo e zero modificação do processo observado.

    A diferença técnica: APMs tradicionais requerem SDK no código (Datadog tracer, New Relic agent) ou bytecode injection (Dynatrace OneAgent). Universal Service Monitoring não requer nenhum dos dois — observa o tráfego de rede do serviço via eBPF e infere métricas de L7 (HTTP, gRPC, banco de dados). Isso significa: você tem métricas de qualquer serviço em qualquer linguagem, sem nenhuma mudança no deployment ou restart do processo. A limitação importante: você obtém métricas (request rate, error rate, latência por endpoint), não traces completos com propagação de contexto — para spans detalhados e trace IDs propagados entre serviços, ainda é necessário SDK ou OTel instrumentation.

    Como o OpenTelemetry muda a decisão de make vs buy para observabilidade?

    O OTel essencialmente elimina o lock-in de instrumentação — que era o argumento mais forte contra ferramentas comerciais. Antes do OTel, adotar Datadog significava colocar o SDK proprietário em todo o código da aplicação; migrar exigia reescrever toda a instrumentação. Com OTel: instrumente uma vez com o OTel SDK, configure o exporter no OTel Collector para apontar para Datadog, New Relic, ou um backend open source.

    Isso transforma a decisão de make vs buy de permanente para reversível. Você pode começar com Datadog (time-to-value rápido, sem esforço de operação), e quando o custo ou compliance exigirem, migrar para um backend open source sem tocar o código da aplicação — apenas reconfigurando o Collector. O lock-in remanescente é o de dashboards e alertas (no formato proprietário do vendor) e features específicas do backend (Datadog Dynamic Instrumentation, Dynatrace Davis, Honeycomb BubbleUp). Mas esses são lock-ins de configuração, não de código — muito mais fáceis de migrar. A recomendação prática: sempre instrumente com OTel SDK, independente do backend escolhido.

    O que é o Dynatrace Davis AI e como ele difere de sistemas tradicionais de alertas?

    Sistemas tradicionais de alertas disparam um alerta por condição violada: se o serviço A tem latência alta, você recebe um alerta; se o banco de dados tem CPU alta, outro alerta; se o serviço B começa a falhar, mais um alerta. Durante um incidente real, você pode receber dezenas de alertas de sintomas diferentes — todas consequências de uma única causa raiz. O engenheiro on-call precisa correlacionar manualmente todos esses alertas para entender o que está acontecendo.

    Davis AI funciona diferente: em vez de disparar alertas individuais por condição, ele analisa continuamente todas as métricas, traces e dependências mapeadas pelo Dynatrace (a topologia completa do sistema). Quando um problema é detectado, Davis não dispara 15 alertas — cria um único "Problem" com: a causa raiz provável identificada automaticamente (ex: "aumento de latência no banco PostgreSQL instância prod-db-3"), a cadeia de impacto (serviços afetados como consequência), e o impacto calculado em usuários. A diferença técnica é que Davis usa o mapa de dependências completo do Dynatrace para raciocinar de causa para efeito, não de sintoma para sintoma. O resultado prático: durante um incidente, você começa na causa raiz, não no rádio de explosão de alertas.

    O que é "observability-driven development" e por que Honeycomb defende esse modelo?

    Observability-driven development (ODD) é a prática de usar observabilidade durante o desenvolvimento — não apenas em produção. O fluxo tradicional de debugging: escrever código → deployar → ver que algo está errado → adicionar um log → redeployar → esperar o problema reaparecer → analisar. O fluxo ODD: escrever código com instrumentação rica (eventos com múltiplos atributos de contexto) → deployar → explorar os eventos no sistema de observabilidade para verificar se o comportamento é o esperado — sem esperar por problemas.

    Honeycomb defende esse modelo por uma razão técnica: sistemas distribuídos têm comportamentos emergentes que não são previsíveis antes do deployment. Um sistema que funciona perfeitamente em staging pode ter comportamento completamente diferente em produção com tráfego real e dados reais de usuários. Logs com mensagens estáticas não capturam o contexto necessário para entender esses comportamentos — você precisa de eventos ricos com user_id, tenant_id, feature_flag, build_sha, duração de cada operação. Com esses eventos, você pode responder perguntas ad-hoc que você não sabia que teria antes — "por que o P99 subiu apenas para usuários no plano enterprise com mais de 1000 registros?" — sem precisar adicionar mais logs e redeployar.

Referências para aprofundar

  1. livro Observability Engineering — Charity Majors, Liz Fong-Jones, George Miranda (O'Reilly, 2022). A referência definitiva sobre observabilidade moderna — escrita pelos fundadores da Honeycomb. Cobre a diferença entre monitoring e observabilidade, eventos de alta cardinalidade, e como instrumentar para debugging eficiente. Capítulos 12-14 são especialmente relevantes para make vs buy.
  2. artigo Observability is a Many-Splendored Thing — Charity Majors (2020). charity.wtf — Ensaio seminal que define o que observabilidade significa na prática (vs monitoring tradicional): capacidade de responder qualquer pergunta sobre o estado interno de um sistema a partir de outputs externos, sem precisar de instrumentação adicional.
  3. artigo So You Want to Build an Observability Tool — Honeycomb Engineering Blog (2022). honeycomb.io/blog — Análise honesta dos trade-offs de construir vs comprar observabilidade: por que ferramentas open source são mais difíceis de operar do que parecem, onde as ferramentas comerciais adicionam valor real, e quando a decisão de build faz sentido.
  4. docs Datadog — OpenTelemetry Compatibility — Datadog (2024). docs.datadoghq.com/opentelemetry — Como configurar o Datadog Agent para receber traces, metrics e logs via OTLP, quais features do Datadog são compatíveis com instrumentação OTel, e limitações (onde o DD SDK ainda é necessário para features específicas).
  5. docs New Relic — OpenTelemetry Guide — New Relic (2024). docs.newrelic.com/docs/opentelemetry — Guia completo de integração OTel com New Relic: configuração do Collector, NRQL para dados OTel, e diferenças entre instrumentação OTel e o agente proprietário New Relic. Um dos backends com melhor suporte nativo ao OTLP.
  6. docs Dynatrace — Davis AI Causality Engine — Dynatrace (2024). dynatrace.com/support/help/how-dynatrace-works/davis-ai — Documentação técnica do Davis AI: como ele usa o mapa de dependências (Smartscape) para inferir causa raiz, a diferença entre Problems e Events, e como configurar o sistema para seu contexto.
  7. docs Honeycomb — BubbleUp — Honeycomb (2024). docs.honeycomb.io/investigate-incidents-with-honeycomb/bubble-up — Como usar o BubbleUp para análise de causa raiz por correlação estatística. Inclui exemplos de como identificar qual combinação de atributos de alta cardinalidade explica uma degradação de performance.
  8. artigo eBPF: A New Type of Software — Brendan Gregg (2022). brendangregg.com/blog — Explicação técnica de como eBPF funciona no kernel Linux e por que ele é transformador para observabilidade: captura de eventos com zero overhead para a aplicação, visibilidade de L7 sem SDKs, e aplicações em segurança e networking além de APM.
  9. artigo The True Cost of Observability — Lightstep Engineering (2023). lightstep.com/blog — Análise do custo total de propriedade de diferentes abordagens de observabilidade: custo direto de SaaS, custo oculto de operação de stack OSS, e framework para comparação honesta entre make vs buy considerando todos os fatores.
  10. artigo Observability-Driven Development — Honeycomb Engineering (2022). honeycomb.io/blog/od-development — A proposta de ODD em detalhes: como mudar o loop de desenvolvimento para instrumentar antes de debugar, o papel de eventos ricos vs logs estáticos, e exemplos práticos de como o ciclo de debugging muda com alta cardinalidade.
  11. docs Datadog — Cost Management and Estimated Usage — Datadog (2024). docs.datadoghq.com/account_management/billing — Como entender e controlar o custo do Datadog: budget alerts, estimated usage dashboards, exclusion filters para log management, e as alavancas de controle de custo para cada produto (APM, Logs, Infrastructure).
  12. artigo How OpenTelemetry Changes the Observability Market — CNCF Blog (2023). cncf.io/blog — Análise do impacto do OTel no ecossistema de ferramentas de observabilidade: como a standardização de instrumentação muda a dinâmica de lock-in, a resposta dos vendors ao OTel (aceitação universal do OTLP), e o que ainda não é coberto pelo padrão.