Rastreamentos

Visão geral

A seção APM > Traces exibe os traces coletados de seus aplicativos e serviços.

Um trace representa o caminho percorrido por uma solicitação através de seus aplicativos e serviços. Por exemplo, quando um usuário clica no botão Fazer pedido em uma loja online, a solicitação pode passar pelo serviço frontend, pelos serviços de checkout e pagamento e chegar ao banco de dados.

Um trace consiste em spans. Cada span representa uma única operação, como uma solicitação HTTP que o serviço frontend envia ao serviço de checkout, uma consulta ao banco de dados que salva o pedido ou uma chamada de função que calcula o custo de envio.

Os spans formam uma hierarquia. O span raiz representa a primeira operação da solicitação. Todos os outros spans são spans filhos do span durante o qual sua operação foi iniciada. Por exemplo, o serviço frontend que recebe a solicitação Fazer pedido é o span raiz, e o serviço de checkout que processa o pedido é seu span filho.

Cada span é produzido por um serviço (por exemplo, zabbix-frontend; nomeado pelo atributo de recurso service.name do OpenTelemetry) e por um escopo de instrumentação, a parte do código que o criou (por exemplo, uma biblioteca que rastreia solicitações HTTP).

Para fornecer contexto sobre cada operação, os spans também têm atributos de chave-valor: os atributos de span descrevem a própria operação (por exemplo, http.method: POST), enquanto os atributos de recurso descrevem o serviço e o ambiente no qual ele é executado (por exemplo, host.name: eabf8c2a5ddc).

Para obter mais detalhes sobre traces, consulte a documentação do OpenTelemetry.

A seção APM > Traces contém os seguintes elementos:

  • Botão Modo quiosque - exibe apenas o conteúdo da página, sem o menu e o cabeçalho.
  • Seletor de período - seleciona o período para o qual os traces serão exibidos.
  • Filtro - exibe apenas os traces de seu interesse.
  • Lista de traces - exibe os traces, descritos por seus spans raiz.
  • Painel de trace - exibe todos os spans do trace selecionado em uma linha do tempo.

Lista de traces

Cada linha na lista de traces representa um trace; as colunas mostram os dados do span raiz.

Os traces são exibidos em uma tabela personalizável. O botão Personalizar tabela, no cabeçalho da tabela, permite mostrar, ocultar ou reordenar colunas e redefinir o layout para o padrão. Você também pode redimensionar cada coluna arrastando sua borda direita; clique duas vezes na borda para redefini-la. Todas as personalizações são aplicadas imediatamente e lembradas para o usuário atual.

A lista de traces pode ter as seguintes colunas:

Cada coluna corresponde a uma coluna na tabela otel_traces da fonte de dados de telemetria; para ver a lista de colunas, consulte Colunas de dados de telemetria compatíveis. A maioria das colunas tem o mesmo nome que na fonte de dados (por exemplo, ID do trace corresponde à coluna TraceId). Quando os nomes diferem, a coluna da fonte de dados é especificada na tabela abaixo.

Coluna Descrição
ID do trace ID do trace, compartilhado por todos os spans que pertencem ao trace.
ID do span ID do span raiz.
Estado do trace Dados adicionais, se houver, que as ferramentas de tracing associam ao trace (consulte W3C Trace Context).
Nome do serviço Serviço que produziu o span raiz, seguido pelo número de spans no trace.
Se algum span tiver o código de status Error (consulte abaixo), um ícone vermelho mostrará o número deles.
Nome da operação Operação representada pelo span raiz (por exemplo, POST /zabbix.php).
Coluna da fonte de dados: SpanName.
Tipo do span Função do span raiz:
Unspecified - não especificada.
Internal - operação executada dentro de um aplicativo.
Server - tratamento de uma solicitação recebida.
Client - solicitação de saída.
Producer - criação de uma operação assíncrona (por exemplo, envio de uma mensagem).
Consumer - processamento de uma operação assíncrona.
Nome do escopo Escopo de instrumentação que produziu o span raiz.
Versão do escopo Versão do escopo de instrumentação.
Código de status Status da operação representada pelo span raiz:
Unset - nenhum status explícito foi atribuído ao span raiz.
Ok - a operação foi concluída com sucesso.
Error - a operação foi concluída com um erro.
Mensagem de status Informações adicionais, se houver, sobre o status.
Hora de início Data e hora em que o span raiz foi iniciado.
Coluna da fonte de dados: Timestamp.
Atributos do span Atributos do span raiz.
Clique no botão de três pontos para exibir todos os atributos.
Atributos do recurso Atributos do recurso do span raiz.
Clique no botão de três pontos para exibir todos os atributos.
Duração Duração do trace; a barra cinza mostra a duração em relação aos outros traces.

Painel de trace

Clique em um trace na lista de traces para abrir o painel de trace, que mostra todos os spans do trace em uma linha do tempo: quais operações foram realizadas, em que ordem e quanto tempo cada uma levou.

O painel de trace pode conter os seguintes elementos:

Elemento Descrição
ID do trace ID do trace selecionado.
Visão geral da linha do tempo do trace O trace completo, com spans em até 8 linhas (vários spans podem compartilhar uma linha).
Arraste as bordas do intervalo selecionado, ou o próprio intervalo, para ampliar a linha do tempo dos spans nessa parte do trace.
Árvore de spans Spans organizados em sua hierarquia; cada um mostra seu serviço (em negrito), o nome da operação e o número de spans filhos diretos.
Linha do tempo dos spans Spans representados como barras: a posição e o comprimento mostram quando cada span foi iniciado e quanto tempo levou.
Os marcadores mostram eventos (por exemplo, exceções); passe o cursor sobre um marcador ou clique nele para ver os detalhes.
Detalhes do span Clique em um span na árvore de spans para ver seus detalhes e atributos.

Usando o filtro

Você pode usar o filtro para exibir apenas os traces nos quais está interessado.

Para filtrar por atributos, insira a chave do atributo, selecione o operador e insira o valor do atributo.

Os seguintes operadores são compatíveis:

  • Contém - (padrão) o valor do atributo contém a string inserida.
  • É igual a - o valor do atributo é igual à string inserida.
  • Não contém - o valor do atributo não contém a string inserida.
  • Não é igual a - o valor do atributo não é igual à string inserida.
  • Existe - o atributo com a chave inserida existe.
  • Não existe - o atributo com a chave inserida não existe.

Se você adicionar várias condições, selecione como avaliá-las:

  • E/Ou - (padrão) todas as condições devem ser atendidas; as condições com a mesma chave de atributo são combinadas com Ou.
  • Ou - pelo menos uma condição deve ser atendida.