Quando aplicações distribuídas apresentam respostas lentas ou falhas, isolar a causa raiz entre dezenas de serviços exige correlacionar spans, filtrar por duração e comparar traces em escala. O Trace Explorer no Application Real-Time Monitoring Service (ARMS) oferece consulta e análise em tempo real dos dados completos de traces armazenados. Combine condições de filtro e dimensões de agregação para identificar requisições lentas, diagnosticar falhas e detectar padrões comuns nos traces.
Pré-requisitos
Antes de começar, verifique se você possui:
Um agente do ARMS instalado na aplicação
O Application Monitoring disponibiliza uma página de detalhes da aplicação redesenhada para usuários no novo modo de faturamento. Caso ainda não tenha migrado para o novo modo de faturamento, clique em Switch to New Version na página Application List para acessar a nova interface.
Inicialização de dados
Ao abrir o Trace Explorer pela primeira vez em uma região onde a Observabilidade de Aplicações ainda não foi inicializada, uma notificação aparece no topo da página. Ela informa que a Observabilidade de Aplicações ainda não está ativada para a região e que a ausência dos recursos subjacentes afeta a funcionalidade da página.
Clique no link de inicialização na notificação para acionar a criação automática dos recursos de armazenamento subjacentes necessários ao Trace Explorer.
A inicialização é um processo assíncrono. A notificação permanece visível enquanto os recursos estão sendo criados e desaparece quando a criação é concluída e a página carrega normalmente. Regiões onde a Observabilidade de Aplicações já foi inicializada não exibem essa notificação.
Abrir o Trace Explorer
Faça login no console do ARMS. No painel de navegação à esquerda, escolha Application Monitoring > Application List.
-
Na página Application List, selecione uma região na barra de navegação superior e clique no nome da aplicação.
NotaA coluna Language indica a linguagem em que cada aplicação foi escrita:
: Java
: Go
: PythonHífen (-): aplicação monitorada por meio do Managed Service for OpenTelemetry.
Na barra de navegação superior, clique em Trace Explorer.
No canto superior direito, selecione um intervalo de tempo.
Filtrar traces
Utilize qualquer um dos métodos a seguir para refinar os resultados:
Quick Filter: Na seção Quick Filter, filtre por status, duração, nome da aplicação, nome do span ou endereço do host. As condições selecionadas aparecem na caixa de pesquisa.
Caixa de pesquisa: Clique na caixa de pesquisa para modifique condições de filtro existentes ou adicionar novas pelo menu suspenso.
Instrução de consulta: Digite uma consulta diretamente na caixa de pesquisa. Para detalhes sobre a sintaxe, consulte Sintaxe de consulta do Trace Explorer.
Clique no ícone
ao lado da caixa de pesquisa para salve as condições de filtro.Clique em Saved View para carregar filtros salvos anteriormente.
Agrupe os dados consultados por dimensões específicas para uma análise mais detalhada.
Lista de traces
Após aplicar filtros, o Trace Explorer exibe os resultados em várias seções: um gráfico de barras mostrando contagens de chamadas e erros HTTP, uma curva de série temporal para a duração das chamadas, além de listas de spans e traces. Use a lista de traces para examinar os resultados e navegar até traces individuais para uma investigação mais profunda.
Legendas de status do span
|
Legenda |
Significado |
Origem |
|
|
Normal |
Spans com |
|
|
Erro |
Spans com |
|
|
Exceção |
Spans em que |
O gráfico de barras na seção superior codifica por cores os códigos de status HTTP: 2XX (verde), 3XX (amarelo), 4XX (laranja) e 5XX (vermelho). Esses códigos vêm do campo attributes.http.status_code ou attributes.http.response.status_code. Se um span contiver ambos os campos, o código de status HTTP terá precedência sobre o indicador de estado do span.
Ações disponíveis
Clique em um ID de trace ou em Details na coluna Actions para visualize os detalhes e a topologia do trace. Consulte Detalhes do trace.
Clique em Logs na coluna Actions para visualize logs relacionados ao trace. Consulte Análise de logs.
Clique no ícone
para expandir todos os spans sob um ID de trace. Por padrão, apenas os spans raiz são exibidos por ID de trace.Clique no ícone
no canto superior direito para mostrar ou ocultar colunas da lista.Passe o mouse sobre um trace e clique no ícone
para adicionar seus valores de parâmetro como condição de filtro.
Gráfico de dispersão
A aba Scatter plot plota cada trace como um ponto, com o tempo no eixo X e a duração no eixo Y. Utilize esta visualização para identificar traces atípicos com latência incomumente alta. Passe o mouse sobre um ponto para visualize informações básicas do trace ou clique nele para abrir os detalhes. Consulte Detalhes do trace.

Agregação de traces
Enquanto a lista de traces analisa spans individuais, a agregação de traces reconstrói traces completos para uma visão de nível superior. Ela consulta até 5.000 traces distribuídos com base nas suas condições, recupera todos os spans correspondentes por ID de trace e agrega os resultados preservando a integridade do trace. Use esta visualização para entender como o tempo e os erros estão distribuídos no grafo de chamadas do seu service.
Consultas de agregação são executadas em dados de traces que correspondem às suas condições. Combinar múltiplas condições pode aumentar o tempo de cálculo.

Parâmetros de agregação
| Parâmetro | Descrição |
|---|---|
| spanName | Nome do span. |
| serviceName | Aplicação associada ao span. |
| Número de requisições / porcentagem de requisições | Porcentagem do total de requisições que chamam este span. Fórmula: requisições que chamam este span / total de requisições x 100%. |
| span / Multiplicador de Requisição | Número médio de vezes que cada requisição chama este span. Fórmula: total de spans / total de requisições. |
| Autoconsumo médio / proporção | Duração média do span excluindo seus spans filhos. Fórmula: duração do span - duração total dos spans filhos. Importante Para chamadas assíncronas, as durações dos spans filhos são incluídas. |
| Duração Média | Duração média do span. |
| Número de exceções / porcentagem de exceções | Porcentagem de requisições com exceções. Fórmula: requisições com exceções / total de requisições. Importante O número de requisições com exceções não é igual à contagem total de exceções. Se o multiplicador de requisição for maior que 1, uma única requisição pode gerar múltiplas exceções. |
Exemplo de agregação
Considere um trace em que o Span A chama o Span B e o Span C:
|
spanName |
serviceName |
Requisições / porcentagem |
span / Multiplicador de Requisição |
Autoconsumo médio / proporção |
Duração Média |
Exceções / porcentagem |
|
A |
demo |
10 / 100,00% |
10 / 1,00 |
5,00 ms / 25,00% |
20 ms |
2 / 20,00% |
|
- B |
demo |
4 / 40,00% |
8 / 2,00 |
16,00 ms / 100,00% |
16 ms |
2 / 50,00% |
|
- C |
demo |
1 / 10,00% |
1 / 1,00 |
4,00 ms / 100,00% |
4 ms |
1 / 100,00% |
Como ler esta tabela:
Distribuição de requisições: O Span A tem 10 requisições (100%). Apenas 4 dessas requisições chamam o Span B (40%) e apenas 1 chama o Span C (10%). As requisições restantes ignoram o Span B e C devido a lógica condicional ou exceções.
Frequência de spans: O Span A é chamado uma vez por requisição (multiplicador = 1,00). O Span B tem 8 spans em 4 requisições, então cada requisição chama o Span B duas vezes em média (multiplicador = 2,00).
Distribuição de tempo próprio: O tempo próprio do Span A é de 5,00 ms (25% da duração média de 20 ms), o que significa que 75% do tempo é gasto em spans filhos. O Span B e C mostram 100% de tempo próprio porque não possuem filhos.
Distribuição de exceções: O Span A tem 2 exceções em 10 requisições (20%). O Span B tem 2 exceções em 4 requisições (50%). Como o multiplicador de requisição do Span B é 2,00, uma distribuição provável é: 2 das 4 requisições encontram uma exceção na primeira chamada, com a segunda chamada sendo bem-sucedida.
Para visualize detalhes de um trace específico, passe o mouse sobre o nome do span (exibido em azul) e clique no traceId recomendado.
Topologia de traces
A aba Full Link Topology mostra a topologia de chamadas entre aplicações para traces agregados. Utilize esta visualização para visualize dependências de serviços e identificar links propensos a erros ou lentos entre aplicações. Cada nó de aplicação exibe a contagem de requisições, a contagem de erros e o tempo de resposta.

Analisar traces lentos e com falha
O Trace Explorer destaca padrões comuns em traces lentos e com falha para ajudar a localizar causas raiz. Refine sua investigação por host, interface ou condições combinadas, como serviceName="arms-demo" AND ip="192.168.1.1". Esta análise também ajuda a identificar interfaces lentas para otimização direcionada.
Análise de traces lentos
O ARMS analisa os 1.000 traces de maior duração e destaca as cinco dimensões mais correlacionadas com a lentidão.
Detalhes de traces lentos
O ARMS seleciona os 1.000 traces mais longos que excedem o limiar configurado, amostra 1.000 traces abaixo do limiar, compara-os e identifica as três características mais correlacionadas com chamadas lentas.
Defina o limiar conforme suas necessidades. Por exemplo, para encontrar características de traces que excedem 1 minuto, defina o limiar como 60000 milissegundos.
Nos resultados da análise, o IP 10.219.154.56 representa 21,8% das amostras de traces lentos, mas apenas 10,2% dos traces normais; o spanName /eventCenter representa 71,9% das amostras de traces lentos, mas apenas 64,5% dos traces normais.
Análise de traces com falha
O ARMS amostra aleatoriamente 1.000 traces com falha e destaca as cinco dimensões mais correlacionadas com as falhas.
Detalhes de traces com falha
O ARMS compara traces com falha e traces normais, identificando as três características mais correlacionadas com as falhas.
Detalhes do trace
A visualização de detalhes do trace possui quatro seções, numeradas de 1 a 4 na figura a seguir.

Tags de componentes (1)
As tags representam tipos de chamada e contagens de spans. Os tipos de chamada são determinados pelo campo attributes.component.name. Clique em uma tag para mostrar ou ocultar seus spans relacionados.
Gráfico de barras do trace (2)
O gráfico de barras horizontais fornece uma visão geral de alto nível do trace e da distribuição de seus spans. Utilize-o para identificar rapidamente onde o tempo é gasto ao longo do trace.
Cada barra representa um span. Apenas spans com duração superior a 1% da duração total do trace são exibidos.
Cores distinguem diferentes aplicações. Na figura anterior, o azul representa a aplicação opentelemetry-demo-adservice.
Uma linha preta dentro de cada barra representa o tempo próprio: a duração total do span menos o tempo gasto em spans filhos. Por exemplo, se o Span A leva 10 ms e seu filho Span B leva 8 ms, o tempo próprio do Span A é de 2 ms.
A linha do tempo mostra o intervalo de tempo completo do trace.
Focar e filtrar spans (3)
Cada linha representa um span com sua hierarquia pai-filho. Spans pais exibem um número indicando a contagem de seus spans filhos. Operações disponíveis:
Recolher/Expandir: Clique no ícone
para recolher ou expandir um span e seus filhos.Focar: Selecione um span e clique no ícone
para exibir apenas esse span e seus spans downstream.Desfocar: Clique no ícone
para sair do modo de foco.Filtrar: Insira um nome de span, nome de aplicação ou atributo na caixa de pesquisa para filtrar o trace até os spans correspondentes e seu caminho até o span de entrada. Limpe a caixa de pesquisa e clique no ícone de Pesquisa para remover o filtro.
Zoom: Clique no ícone
para ampliar e ocultar o gráfico de barras. Clique no ícone
para restaurá-lo.
Detalhes do span (4)
O painel de detalhes do span mostra atributos, métricas, logs e dados de exceção para o span selecionado.
Additional Information: Exibe atributos do span, recursos, detalhes e eventos, agrupados por tipo. Para descrições dos campos, consulte Parâmetros do Trace Explorer.
-
Metrics: Mostra métricas relacionadas ao span.

Para aplicações Java monitoradas pelo ARMS: métricas de JVM e do host.
Para traces de agentes open source: métricas do Método RED (taxa, erros, duração).
Logs: Exibe logs de negócio vinculados ao trace. Se um Logstore do Simple Log Service (SLS) estiver configurado para a aplicação, consulte logs de negócio por ID de trace no Logstore.
Exceptions: Mostra informações de exceção para o span, se houver.
Event Config: Configure eventos de interação para um ou mais atributos de trace para acessar detalhes adicionais do trace ou logs e métricas relacionados. Consulte Configurar um evento de interação personalizado para um trace.
Acessar dados de traces programaticamente
Os dados de traces são armazenados no Simple Log Service (SLS). Acesse-os programaticamente para análises personalizadas:
Projeto SLS:
proj-xtrace-<encode>-<region-id>(por exemplo, se a região forcn-hangzhou)Logstore:
logstore-tracing
Para detalhes sobre o formato dos dados, consulte Parâmetros do Trace Explorer. Para exemplos de análise, consulte Analisar dados de traces em tempo real.
Perguntas frequentes
Por que as instruções SQL são truncadas nos traces?
O ARMS limita as instruções SQL a 1.024 caracteres por padrão. Para aumentar esse limite, acesse a aba Custom Configurations da sua aplicação e altere o Maximum retention length for SQL collection na seção Database call configuration.
Itens de configuração de chamada de banco de dados na aba Custom Configurations:
Slow SQL Threshold: Padrão de 500 ms. Consultas SQL que excedem esse limiar são marcadas como SQL lento.
Maximum Retention Length for SQL Collection: Padrão de 1.024 caracteres. Instruções SQL que excedem esse comprimento são truncadas.
Display Variable Binding Values in SQL: Quando ativado, captura valores de vinculação de parâmetros PrepareStatement. Suportado apenas para MySQL.
Display Constant Values in SQL: Ative para exibir valores constantes em instruções SQL.
Record MySQL Query Return Value Size: Ative para registrar o tamanho dos valores de retorno de consultas MySQL.
Após configurar, clique em Save ou em Save and Batch Copy to Other Applications para sincronizar a configuração com outras aplicações.
Por que spans do Nacos com duração de 30 segundos aparecem após a atualização para o agente ARMS V4.x?
O agente ARMS 4.x instrumenta requisições de long polling HTTP que o Nacos utiliza para atualizações de configuração e descoberta de serviços. Esses spans não são capturados na V3.x. Para detalhes, consulte Anúncio de atualização do agente ARMS V4.x.
Para excluir esses spans, adicione uma regra de filtro na seção Interface call configuration na aba Custom Configurations da sua aplicação.
Este recurso requer o agente ARMS V4.2.x ou posterior.
Na seção Interface Call Configuration da aba Custom Configurations, insira os caminhos de interface que deseja excluir na caixa de texto Invalid Interface Call Filter para suprimir esses spans. A seção também inclui Slow Call Threshold (padrão 500 ms), Exception Allowlist, HTTP Status Code Allowlist e vários alternadores para registro de métricas.


