Anomalias em ambiente de produção, como picos de latência e aumento na taxa de erros, têm diversas causas. As mais comuns incluem tráfego desigual, falhas em instâncias únicas, defeitos na aplicação e problemas em componentes dependentes. Antes de lançar uma nova aplicação ou preparar-se para uma grande promoção, realize um ajuste sistemático de desempenho. Esse processo envolve analisar gargalos existentes e otimizar interfaces e componentes que frequentemente causam erros ou alta latência. Este tópico explica como usar o recurso de análise Wrong/slow Trace no ARMS Trace Explorer para identificar a causa raiz de chamadas incorretas e lentas no sistema ou na aplicação, ajudando a solucionar problemas e localizar gargalos de desempenho.
Pré-requisitos
Instale um agente para sua aplicação. Para mais informações, consulte Visão geral do Application Monitoring.
-
Mude para a nova versão do console ARMS.
Na página Applications, clique em Switch to New Version ao lado do título da página.
Experimente a demonstração
Analisar chamadas incorretas
Etapa 1: Identificar quando as chamadas incorretas ocorreram
Faça login no console ARMS. No painel de navegação à esquerda, escolha .
-
Na página Application List, selecione uma região na parte superior da página e clique em nome da aplicação.
NotaOs ícones na coluna Language indicam o seguinte:
: Uma aplicação Java conectada ao Application Monitoring.
: Uma aplicação Go conectada ao Application Monitoring.
: Uma aplicação Python conectada ao Application Monitoring.-: Uma aplicação integrada ao Tracing Analysis.
-
Na barra de navegação superior, clique em Trace Explorer.
NotaA página Trace Explorer está disponível apenas na nova versão do console. Para obter informações sobre como mudar para a nova versão, consulte Pré-requisitos.
Observe que a aplicação de exemplo mall-gateway apresentou várias chamadas com erro HTTP entre 15:20 e 15:28.

-
Para iniciar a solução de problemas, defina o intervalo de tempo da consulta para o período em que os erros HTTP ocorreram.
Na aba Trace Explorer, reduza o intervalo de tempo no canto superior direito para 8 min (por exemplo, de 2024-06-26 15:20 a 2024-06-26 15:28). A página exibe gráficos de barras para o número de chamadas e erros HTTP 500, além de um gráfico de linhas para o Percentil de Tempo. Utilize esses gráficos para identificar a janela de tempo exata em que os erros aumentaram.
Etapa 2: Localizar a interface ou componente de origem
Na aba Wrong/slow Trace analysis, os traces incorretos concentram-se na interface /components/api/v1/mall/product, e todas retornam erros HTTP 500.
Solucionar problemas da interface /components/api/v1/mall/product
-
Nos gráficos abaixo, clique em spanName: /components/api/v1/mall/product.

Nesse momento, o Trace Explorer define automaticamente serviceName="mall-gateway" AND spanName="/components/api/v1/mall/product" como condição de filtro.
Todos os traces da interface /components/api/v1/mall/product falharam.
A pesquisa retorna 1.440 chamadas, todas com código de erro HTTP
500. A aba Wrong/slow Trace analysis mostra que a análise baseia-se em 1.000 traces incorretos (amostragem aleatória) e 0 traces normais. -
Na aba List, clique em Details ao lado de qualquer trace para visualizar seus detalhes.
Os detalhes do trace mostram que ele contém três spans, e a interface
/components/api/v1/http/successdo serviço mall-user-server retornou um código de status 500. No painel de detalhes do span à direita, a aba Attribute indica que o atributohttp.status_codeé500, confirmando essa interface como a origem do erro.
Analisar interfaces lentas
Etapa 1: Identificar quando as chamadas lentas ocorreram
Faça login no console ARMS. No painel de navegação à esquerda, escolha .
-
Na página Application List, selecione uma região na parte superior da página e clique em nome da aplicação.
NotaOs ícones na coluna Language indicam o seguinte:
: Uma aplicação Java conectada ao Application Monitoring.
: Uma aplicação Go conectada ao Application Monitoring.
: Uma aplicação Python conectada ao Application Monitoring.-: Uma aplicação conectada ao Tracing Analysis.
-
Na barra de navegação superior, clique em Trace Explorer.
Note que a aplicação de exemplo mall-user-server apresenta muitas chamadas lentas, com duração superior a 5 s, entre 15:40 e 15:49.

-
Defina o intervalo de tempo da consulta para o período em que as chamadas lentas ocorreram.
Por exemplo, no seletor de tempo no canto superior direito, selecione o intervalo de 9 minutos de
2024-06-26 15:40a2024-06-26 15:49. -
Na aba Wrong/slow Trace analysis, defina o duration threshold como 5000 ms para iniciar a solução de problemas.
Os resultados da análise de traces lentos aparecem na parte inferior da página e classificam os principais recursos contribuintes por impacto, como nome da interface, código de status de resposta HTTP e namespace. Cada item compara a prevalência do recurso em traces lentos e normais.
Etapa 2: Localizar a interface ou componente de origem
Na aba Wrong/slow Trace analysis, os traces lentos concentram-se principalmente em spans com o nome de interface /components/api/v1/http/success, tipo de protocolo EagleEye e namespace arms-test.
A análise baseia-se na comparação entre 54 traces lentos (definidos como duração ≥ 5 s) e 837 traces normais (amostragem aleatória). O recurso mais bem classificado, /components/api/v1/http/success, representa 100,0% dos traces lentos e 0,0% dos traces normais. O segundo recurso, o protocolo EagleEye, corresponde a 100,0% dos traces lentos e 37,28% dos traces normais. Já o terceiro, o namespace arms-test, abrange 100,0% dos traces lentos e 37,28% dos traces normais.
Solucionar problemas da interface /components/api/v1/http/success****
Nos gráficos abaixo, clique em spanName: /components/api/v1/http/success.

O Trace Explorer define automaticamente serviceName="mall-user-server" AND spanName="/components/api/v1/http/success" como condição de filtro.
Com esse filtro aplicado, todas as chamadas demoram mais de 5 s, indicando que a interface /components/api/v1/http/success é a causa raiz das chamadas lentas.
Na área Time Percentile, também é possível observar que a duração média das chamadas excede 5 s.
Solucionar problemas de spans com attributes._arms.trace.protocol.type=EagleEye**
Nos gráficos abaixo, clique em attributes._arms.trace.protocol.type: EagleEye.

Neste caso, o Trace Explorer define automaticamente serviceName="mall-user-server" AND attributes._arms.trace.protocol.type="EagleEye" como condição de filtro.
Sob essa condição de filtro, nota-se que os traces lentos também apontam para a interface /components/api/v1/http/success.
A análise de traces lentos, baseada na comparação de 54 traces lentos e 312 traces normais, mostra que, além do principal recurso apontar para a interface /components/api/v1/http/success (100% dos traces lentos), o segundo recurso mais relevante é o IP do servidor 10.0.0.42 (46,3% dos traces lentos), e o terceiro é o tipo de componente http (100% dos traces lentos).
Se você adicionar a interface /components/api/v1/http/success ao filtro, todas as chamadas levarão mais de 5 segundos.
Na área Time Percentile, também é possível observar que a duração média das chamadas excede 5 s.
Solucionar problemas de spans no namespace arms-test**
Sob a condição de filtro serviceName="mall-user-server" AND attributes.namespace="arms-test", verifica-se que o trace lento ainda aponta para a interface /components/api/v1/http/success.
Os resultados da análise Wrong/slow Trace, baseados na comparação de 54 traces lentos e 312 traces normais, mostram que o principal recurso contribuinte é a interface /components/api/v1/http/success, com pontuação de contribuição igual a 1. Essa interface representa 100% dos traces lentos e 0% dos traces normais.
Ao adicionar a interface /components/api/v1/http/success ao filtro, todas as chamadas passam a durar mais de 5 segundos.
Esta investigação conclui que todas as chamadas lentas originam-se da interface /components/api/v1/http/success. O atributo attributes._arms.trace.protocol.type="EagleEye" e o namespace arms-test não são, por si só, a causa raiz. Eles aparecem na análise porque o serviço da interface /components/api/v1/http/success está implantado no namespace arms-test e seu tipo de protocolo de trace é EagleEye.