ANÚNCIO

~/questoes/devops

Como a maioria dos projetos combina instrumentação automática e manual?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência Primeiros passos com OpenTelemetry: O que você precisa saber?
Para fixar

Estratégia Híbrida de Instrumentação em OpenTelemetry

Conceito central

A maioria dos projetos combina instrumentação automática e manual para aproveitar o melhor de cada abordagem. A automática captura dados de infraestrutura sem modificar o código, enquanto a manual fornece rastreamentos customizados específicos do negócio.

Por que essa resposta faz sentido

A estratégia híbrida começa com instrumentação automática para infraestrutura (bancos de dados, HTTP, cache) e depois adiciona instrumentação manual para eventos específicos de negócio que precisam de contexto customizado.

Armadilhas comuns

  • Achar que instrumentação automática é suficiente sozinha para entender o que está acontecendo no negócio
  • Começar implementando rastreamentos manuais antes de ter uma cobertura automática de infraestrutura
  • Confundir o backend de observabilidade (Jaeger, Datadog) com a estratégia de instrumentação no código

Entenda as alternativas

A

Instrumentação manual é absolutamente necessária. Só com automática você captura apenas o comportamento técnico genérico, perdendo eventos específicos do seu negócio e lógica de domínio que são fundamentais para observabilidade real.

B

Essa é a abordagem padrão na indústria. Começar com automática reduz tempo de setup e oferece visibilidade imediata; depois adicionar manual permite rastrear regras de negócio, decisões de roteamento, ou eventos customizados importantes para sua aplicação.

C

A escolha entre automática e manual não depende do tipo de backend. O backend (Jaeger, Prometheus, Datadog) recebe dados via OTLP e é agnóstico à estratégia de instrumentação usada no código.

D

Implementar manual primeiro é ineficiente e resulta em retrabalho. A ordem correta é inversa: começar com automática para ganhar velocidade, depois enriquecer com manual conforme necessidades aparecem.

Dica prática: Quando iniciar um projeto com OpenTelemetry, comece ativando a instrumentação automática da SDK para sua linguagem (via agente JVM, variáveis de ambiente, ou decoradores). Isso te dará visibilidade imediata. Depois, conforme entender melhor o fluxo, adicione spans manuais nos pontos críticos de negócio—como processamento de pagamento, validação de regras ou decisões de roteamento.

Revise pensando: Por que não é recomendado começar apenas com instrumentação manual em um novo projeto?