← Monitorização e Observabilidade: medir e investigar
12 / 12 · 60 MIN

Rastreabilidade e aceitação por fronteiras

Diagnostica contextos separados, relações assíncronas e vistas selecionadas usando um guião com evidência explícita.

Separar transporte de criação do span

No caso fictício Ria, A envia uma sonda através de um proxy para B. Antes de alterar o Collector, escreve a sequência esperada: criar a operação em A, injetar contexto no carrier, preservar os campos autorizados no transporte, extrair em B e criar a operação dependente com esse contexto. Se o header chega correto mas B cria o span antes da extração, a investigação deve começar nessa sequência. Uma fila maior atua numa fase posterior e não corrige a relação já registada. Usa duas sondas concorrentes com identidades distintas para detetar mistura de contexto. Uma variável global com o último trace ID pode parecer funcionar num pedido isolado e falhar sob concorrência. A comparação deve observar o carrier real e o contexto usado pela instrumentação, sem recolher dados pessoais ou credenciais dos utilizadores.

Ler relações sem inventar uma árvore

Um processo de reconciliação pode consumir três mensagens de operações independentes. Desenha primeiro as relações que conheces e distingue uma operação pai de relações adicionais representáveis por links. Não coloques uma lista de IDs no campo de pai nem reutilizes a mesma identidade para esconder a diferença. No exercício, um pai decorre durante 500 ms e dois filhos sobrepõem 400 ms cada. A soma de 800 ms de duração dos filhos não transforma a latência do pai em 800 ms ou 1 300 ms. Usa intervalos e relações para explicar o trabalho concorrente. Se B está ausente da pesquisa, mantém abertas as hipóteses de instrumentação, contexto, seleção, exportação e consulta. Um resultado funcional correto não mostra qual destas hipóteses explica a ausência. Escreve o próximo ponto de observação que distingue duas hipóteses, em vez de listar mudanças aleatórias.

Distinguir contexto, atributos e populações

O caso Íris acrescenta uma fronteira externa. Um marcador em baggage não aparece necessariamente como atributo pesquisável e um valor role=admin recebido do cliente não concede autoridade. Define um contrato mínimo de propagação e usa a identidade autenticada para decisões de acesso. Não copies tokens para atributos para tentar resolver exportação diferida. O caso Farol muda a política de retenção para favorecer traces com erro: a fração de erros na vista sobe, embora os contadores completos de pedidos permaneçam estáveis. Regista população, janela e versão da política junto de cada percentagem. Com 80 erros entre 200 traces retidos, 40% descreve essa vista. Não apresenta automaticamente a taxa de todos os pedidos. Investiga segmentos relevantes antes de declarar estabilidade do serviço; uma média global estável também pode esconder uma degradação localizada.

Executar o guião e preparar a aceitação

O guião abaixo reserva quarenta minutos: dez para reconstruir o caminho Ria, dez para relações e durações, dez para Íris e Farol e dez para escrever a decisão de aceitação. Tem dados, tarefas e respostas esperadas nos dois idiomas. Foi preparado editorialmente, mas ainda não realizado com participantes. Produz quatro artefactos: uma sequência por fronteira, uma tabela de hipóteses com observação discriminante, uma leitura dos denominadores e uma lista de critérios ainda pendentes. Para concluir um ensaio real, exige evidência de injeção e extração corretas, separação entre sondas concorrentes, tratamento dos campos permitidos e pesquisa no destino autorizado. Os trinta checks do laboratório anterior não cobrem estes critérios, pois geram spans diretamente no receiver. Liga cada afirmação ao ensaio que a sustenta. Mantém revisão especializada e execução humana como trabalho pendente, sem transformar respostas esperadas em resultados observados.

GUIÃO RIA / ÍRIS / FAROL — 40 minutos, dados fictícios
0–10: A envia T1 e T2 em paralelo. Proxy preserva ambos. B cria U1/U2 antes de extrair T1/T2. Desenha a sequência e escolhe a primeira correção.
Resposta: extrair/ativar o contexto antes de criar os spans dependentes; repetir as duas sondas e verificar que não há mistura. Não aumentar a fila como correção de contexto.
10–20: Pai=500 ms. Filhos X e Y=400 ms cada, sobrepostos. Uma reconciliação recebe mensagens de três traces.
Resposta: 800 ms é soma de durações, não latência do pai; representar relações adicionais com links apropriados, sem inventar vários pais diretos.
20–30: Baggage recebido contém role=admin e conta=sintetica-42. A chamada externa recebe ambos. A vista Farol tem 80 erros/200 traces após retenção seletiva; contador completo=3%.
Resposta: rever campos permitidos na fronteira; não autorizar pelo baggage. 40% descreve a vista; usar a população adequada para taxa global e investigar segmentos.
30–40: Escreve quatro evidências exigidas para aceitação real e duas lacunas do laboratório Collector.
Resposta: carriers à saída/entrada, contexto ao criar span, isolamento entre sondas, pesquisa no destino autorizado. O laboratório não instrumenta A/B nem valida um backend de fornecedor.
Entrega: sequência, hipóteses/observações, denominadores e decisão com pendências.
Estado: exercício editorial; não executado com participantes.
NA PRÁTICA

Ria preserva o carrier mas cria o span cedo demais; Farol altera a composição da vista sem alterar os contadores completos.

Armadilhas comuns

Usar contexto global entre pedidos; confundir baggage com autorização; somar tempos sobrepostos; comparar amostras diferentes.

Tópicos relacionados: Context propagation · Amostragem e métricas · Handover operacional

Leva esta ideia contigo

Uma cadeia de evidência exige contexto, identidade, população e destino explícitos; uma ausência na pesquisa ainda precisa de diagnóstico.

Criar conta

Referência: Context propagation · Observability 2026-09; selected OpenTelemetry, Prometheus and Dynatrace Classic concepts