Inspetor de contexto de rastreamento

Cole um valor traceparent ou um bloco de cabeçalhos para conferir identificadores e amostragem. Gere um contexto raiz ou filho para testar a propagação entre serviços.

Funciona localmente no seu navegador
Esta ferramenta processa todos os dados localmente no seu navegador.
Cabeçalhos de rastreamentoCole um bloco de cabeçalhos ou um valor traceparent.

Cabeçalhos de rastreamento e baggage podem expor contexto de serviço ou cliente. Revise os valores antes de copiá-los para tickets.

Entradas de tracestate
Ainda não há entradas de tracestate.
Entradas de baggage
Ainda não há entradas de baggage.

Como inspecionar um contexto de rastreamento

Cole um valor traceparent ou um bloco de cabeçalhos e a página lê o contexto de rastreamento W3C que ele carrega: o trace ID, o ID do span pai, a flag de amostragem, cada membro de tracestate e cada entrada de baggage. Os valores são conferidos contra as regras de formato das especificações W3C Trace Context e Baggage, não contra um serviço em execução.

O mesmo painel escreve os cabeçalhos de propagação de volta. Gerar contexto filho mantém o trace ID e emite um novo ID de span pai; Gerar contexto raiz inicia um rastreamento novo; os dois preservam as linhas tracestate e baggage originais. Tudo roda no navegador — os cabeçalhos colados não são enviados — e o bloco gerado fica pronto para curl, um log ou um relatório de erro.

  1. Cole um bloco de cabeçalhos (traceparent, tracestate, baggage) ou um valor traceparent solto e clique em Inspecionar contexto; Carregar exemplo preenche uma amostra se você quiser ver antes o formato da saída.
  2. Leia o resumo: versão, trace ID, ID do span pai, estado de amostragem e número de entradas de tracestate e baggage, seguido da lista de achados.
  3. Clique em Gerar contexto filho para manter o trace ID com um novo ID de span pai, ou em Gerar contexto raiz para começar um rastreamento novo; o bloco de cabeçalhos de saída aparece abaixo.
  4. Use Copiar para o bloco gerado e Limpar para reiniciar a entrada, o resumo e as duas tabelas.

O que o inspetor verifica, campo por campo

A verificação do traceparent, regra por regra

Um traceparent são quatro campos separados por hífen: uma versão de dois dígitos hex em minúsculas, um trace ID de 32 hex, um ID de span pai de 16 hex e um campo de flags de dois hex. A versão ff é reservada e rejeitada; a versão 00 precisa ter exatamente quatro campos, enquanto versões maiores podem acrescentar campos e são aceitas por compatibilidade futura. Os dois IDs precisam ser hex em minúsculas e não podem ser só zeros; o estado de amostragem vem do primeiro bit das flags: 01 indica amostrado e 00 não amostrado.

Um bloco com duas linhas traceparent é rejeitado: a especificação exige exatamente uma. Os nomes de cabeçalho são comparados sem diferenciar maiúsculas, então Traceparent: funciona como traceparent:, e os valores são comparados de forma exata: um ID em maiúsculas, um trace ID de 31 caracteres, um campo ausente ou um sufixo extra falham cada um com o motivo que nomeia o campo quebrado.

tracestate e baggage, entrada por entrada

tracestate é uma lista separada por vírgulas de pares chave=valor. Cada chave deve seguir a gramática W3C — uma chave simples em minúsculas como acme, ou uma chave tenant@system — e a lista aceita no máximo 32 membros. A tabela mostra cada entrada, marca pares malformados, sinaliza uma chave repetida e avisa quando a lista passa do limite. Os valores em si são dados do fornecedor e aparecem como chegaram, sem interpretação.

As entradas de baggage usam chaves no formato de token HTTP e podem acrescentar metadados depois de um ponto e vírgula. Chaves que não são tokens válidos são sinalizadas, e uma checagem por palavra-chave destaca entradas cuja chave ou valor menciona secret, token, password, e-mail, authorization, cookie, session ou user. É um lembrete para revisar antes de compartilhar um bloco — não é uma varredura de segurança, não consegue saber se um valor é realmente sensível, e os valores de baggage são impressos como aparecem, sem decodificar a porcentagem.

Gerar contexto — e o que a ferramenta não faz

Gerar contexto filho relê a entrada primeiro, depois mantém o trace ID, cria um novo ID de span pai aleatório e preserva as flags, o tracestate e o baggage originais: é o conjunto de cabeçalhos que um serviço seguinte receberia. Gerar contexto raiz cria um trace ID e um ID de span pai novos e aleatórios com a flag de amostragem ligada: é o conjunto com que um rastreamento novo começa.

Este é um inspetor dos cabeçalhos W3C, não um backend de rastreamento: ele não sabe se um trace ID existe no seu coletor e não interpreta formatos B3, Zipkin, Jaeger nem propagação própria de fornecedor. A entrada nunca sai do navegador, a página continua funcionando sem conexão depois de carregada e a ferramenta não envia os cabeçalhos a nenhum servidor.

Ferramentas recentes: