Todos os produtos
Search
Central de documentação

Application Real-Time Monitoring Service:Dependências

Última atualização: Sep 06, 2026

Após a instalação de um agente na aplicação, o ARMS inicia o monitoramento. Na página Dependencies, visualize as dependências da aplicação, incluindo chamadas externas, chamadas de banco de dados e filas de mensagens.

Pré-requisitos

Importante

O ARMS Application Monitoring oferece uma nova página de detalhes de monitoramento para usuários que ativaram o novo modelo de faturamento. Para obter mais informações sobre o novo modelo de faturamento, consulte Product Billing (New).

Caso ainda não tenha ativado o novo modelo de faturamento, mas deseje acessar a nova página de detalhes de monitoramento, clique em Switch to New Version na página Application List.

Instale uma sonda na aplicação. Para instruções, consulte Overview of Application Monitoring Integration.

Dependências da aplicação

  1. Faça login no console do ARMS. No painel de navegação à esquerda, escolha Application Monitoring > Application List.

  2. Na página Application List, selecione a região na barra de navegação superior e clique em nome da aplicação.

    Nota

    Os ícones na coluna Language têm os seguintes significados:

    • Java icon: aplicação Java conectada ao Application Monitoring.

    • image: aplicação Golang conectada ao Application Monitoring.

    • image: aplicação Python conectada ao Application Monitoring.

    • -: aplicação conectada ao Managed Service for OpenTelemetry.

  3. Na barra de navegação superior, clique em Dependencies.

    • Filtre os gráficos e a lista de serviços por Request Type, Interface Name e Host na área de filtro rápido.

    • A área de gráficos de tendência exibe curvas de séries temporais com o total de requisições, a contagem de erros e o tempo médio de resposta das chamadas às dependências da aplicação no intervalo de tempo selecionado.

      Clique em ícone image.png para visualizar estatísticas de métricas de um período específico ou comparar estatísticas entre datas diferentes. Clique em ícone image.png para alternar entre gráfico de barras e gráfico de tendências.

    • Na área da lista de serviços, visualize informações como nome da interface, tipo e métricas RED (contagem de requisições, contagem de erros e tempo médio de resposta).

      Na lista de serviços, realize as seguintes operações:

      • Clique em nome de uma interface ou em Details, SQL Analysis ou Exception Analysis na coluna Actions para ver detalhes sobre o service correspondente. Para mais informações, consulte Dependency details.

      • Clique em Trace na coluna Actions para visualizar o trace correspondente. Para mais informações, consulte Trace Explorer.

Frameworks suportados

Detalhes das dependências

Chamadas externas

Visão geral

Na aba Overview, visualize estatísticas de contagem de requisições, contagem de erros e tempo médio de resposta para o endereço ou service de destino, além de uma curva temporal de chamadas lentas.

Trace Explorer

O recurso Trace Explorer analisa dados de trace armazenados em tempo real e permite combinar condições de filtro e dimensões de agregação para atender a diversas necessidades personalizadas de diagnóstico. Para mais informações, consulte Trace Explorer.

Publicação de mensagens

Nota

Aplicações Python não suportam a visualização de dados de publicação de mensagens.

Visão geral

Na aba Overview, visualize estatísticas de contagem de requisições, contagem de erros e tempo médio de resposta para a mensagem de destino, além de uma curva temporal de chamadas lentas.

Estatísticas de envio

A aba Sending Statistics lista estatísticas de envio de tópicos sob a perspectiva do remetente, incluindo contagem de requisições, contagem de erros e tempo de resposta.

Trace Explorer

O recurso Trace Explorer analisa dados de trace armazenados em tempo real e permite combinar condições de filtro e dimensões de agregação para atender a diversas necessidades personalizadas de diagnóstico. Para mais informações, consulte Trace Explorer.

Chamadas de banco de dados

Nota

Aplicações Python não suportam a visualização de dados de chamadas de banco de dados.

Visão geral

Na aba Overview, visualize estatísticas, gráficos temporais e distribuições referentes à contagem de requisições, contagem de erros e tempo médio de resposta das chamadas para a instância de banco de dados de destino, juntamente com a distribuição da contagem de chamadas lentas.

Análise de SQL

Na aba SQL Analysis, encontre as tendências de requisições (contagem de requisições, contagem de SQL lento e tempo médio de resposta) para a instância de banco de dados selecionada, bem como métricas estatísticas no nível de chamada SQL. Essas informações ajudam a identificar quais instruções SQL causam respostas lentas no service.

Nota

A métrica Return Size é suportada apenas nas versões MySQL 5.x e requer a versão 2.7.1.3 ou posterior do agente do Application Monitoring.

Clique em Trace à direita de uma instrução SQL para visualizar o trace completo que inclui a execução do SQL. Para mais informações, consulte Trace Explorer.

Análise de exceções

Na aba Exception Analysis, visualize a frequência de cada exceção durante as chamadas ao banco de dados de destino dentro de um intervalo de tempo especificado, além dos detalhes da exceção. Para mais informações, consulte Exception Analysis.

Origem da chamada

Na aba Call Source, visualize curvas temporais para o tempo de resposta, a contagem de requisições e a contagem de erros das interfaces de source que chamam o banco de dados de destino.

Trace Explorer

O recurso Trace Explorer analisa dados de trace armazenados em tempo real e permite combinar condições de filtro e dimensões de agregação para atender a diversas necessidades personalizadas de diagnóstico. Para mais informações, consulte Trace Explorer.

Perguntas frequentes

Banco de dados

Ausência de dados nas chamadas de banco de dados

Possíveis motivos:

Discrepância em chamadas lentas de banco de dados

O ARMS monitora sob a perspectiva do cliente, portanto suas medições cobrem todo o processo: a aplicação inicia uma requisição, a requisição trafega pela rede, o servidor a processa e a resposta retorna ao cliente. Assim, fatores como coleta de lixo (GC) e latência de rede afetam as métricas de banco de dados coletadas pelo ARMS, o que pode resultar em valores maiores do que aqueles reportados diretamente pelo servidor. Além disso, o ARMS identifica chamadas lentas com base no Slow SQL Threshold configurado na página Custom Configuration. Esse limiar tem como padrão 500 ms e pode diferir da configuração do servidor de banco de dados.

Discrepância no volume de chamadas de banco de dados

Várias aplicações podem acessar um único banco de dados. O console do ARMS exibe o volume de chamadas apenas da aplicação atual.

Chamadas externas não registradas

Para o agente 3.x, os possíveis motivos incluem:

  • Chamadas externas sem ponto de entrada.

    Por padrão, o agente 3.x coleta apenas chamadas externas ocorridas dentro do fluxo de processamento de interfaces HTTP, interfaces RPC, tarefas agendadas e consumo de mensagens. Chamadas externas iniciadas por pools de threads em segundo plano, como acesso a banco de dados ou requisições HTTP, não são coletadas.

  • Chamadas externas com ponto de entrada, mas com troca de threads durante a execução.

    O agente 3.x não suporta propagação automática de contextos assíncronos. Se ocorrer uma troca de thread, o contexto de trace será perdido e a chamada não será coletada.

Resolva ambos os problemas upgrading the agent para a versão 4.x.

Dados indefinidos em chamadas externas

As versões 3.1.x e anteriores do agente possuem um defeito na instrumentação do Dubbo que impede a obtenção do endereço IP do par. Esse problema foi corrigido na versão 3.2.x.

Chaves ilegíveis em chamadas Redis

Um problema de instrumentação no framework Lettuce causa recuperação incorreta de chaves. Ignore a parte ilegível da chave; o restante é válido.

Ausência de dados de trace em instruções SQL

Causa: Para evitar custos e sobrecarga de desempenho ao reportar grandes volumes de dados em cenários extremos, o agente do ARMS ativa a compressão de spans por padrão. Quando vários spans filhos sob um span pai compartilham o mesmo nome, eles são comprimidos em um único span representativo. Seus atributos armazenam a contagem, a duração total, a duração máxima e a duração mínima de todos os spans filhos idênticos. No entanto, essa compressão descarta os detalhes individuais dos spans agregados. Consequentemente, não é possível consultar diretamente instruções SQL dentro desses spans comprimidos na página Trace Explorer.

Solução: Desative a trace compression.

Nota

Após desativar a compressão, se uma interface da aplicação acessar frequentemente componentes como bancos de dados ou Redis, a quantidade de dados reportados aumentará e a lógica de amostragem do ARMS para erros e chamadas lentas perderá eficácia.

Publicação de mensagens

Diferença de dados entre as visualizações de cliente e servidor

As páginas de Assinatura de Mensagens e Publicação de Mensagens exibem métricas de desempenho do lado do cliente para a aplicação selecionada atuando como consumidor ou produtor, enquanto o painel de monitoramento de uma instância MQ mostra métricas de desempenho relacionadas a tópicos no lado do servidor.

Formatos de nome de span para mensagens

Tipo de mensagem

Versões do agente anteriores à 4.x

Agente 4.x e posteriores

Envio de mensagem RocketMQ/Ons

Nenhum span é criado. Apenas pilhas de métodos são registradas.

${topic} + publish

Recebimento de mensagem RocketMQ/Ons

Recv Topic@${topic}

Recv Topic@${topic}

Envio de mensagem Kafka

Nenhum span é criado. Apenas pilhas de métodos são registradas.

${topic} + publish

Recebimento de mensagem Kafka

Kafka/topic=${topic}

Kafka/topic=${topic}

Envio de mensagem RabbitMQ

Nenhum span é criado. Apenas pilhas de métodos são registradas.

${exchange} + publish

Recebimento de mensagem RabbitMQ

Recv Exchange@${exchange}

Recv Exchange@${exchange}

Suporte para Spring Cloud Alibaba RocketMQ

Este framework é suportado nas versões 4.x e posteriores do agente. Se a versão do seu agente for anterior à 4.x, faça upgrade the ARMS agent.

Métrica de atraso de mensagem

O atraso da mensagem refere-se ao tempo total desde a produção até o consumo da mensagem. A unidade desta métrica é milissegundos (ms). Atualmente, esta métrica é coletada apenas para RocketMQ Client e Ons Client.

Traces ou métricas de consumidor ausentes

Isso pode acontecer se a versão do agente for anterior à 4.x e você usar expressões lambda para definir a lógica de consumo no listener de mensagens.

Como o aprimoramento de classe para expressões lambda falha nas versões 2.x e 3.x do agente, faça upgrade the agent para a versão 4.x para resolver esse problema.

Erro de cabeçalho 'Magic v1' do Kafka

O agente Java usa o campo Header das mensagens Kafka para propagar o contexto de trace. Em versões do Kafka anteriores à 0.11.0.0 (tanto para clientes quanto para brokers), o formato da mensagem não suporta headers. Se você estiver usando uma versão mais antiga do Kafka para seu broker ou cliente, migre para a versão 0.11.0.0 ou posterior. Caso não possa migrar imediatamente, para versões do agente Java anteriores à 4.x, desative o aprimoramento do componente Kafka (a chave kafka-plugin) na seção Agent Switch Settings da página Custom Configurations da aplicação. Para versões 4.x e posteriores do agente Java, adicione o parâmetro JVM -Dotel.instrumentation.kafka.producer-propagation.enabled=false ao iniciar o service como solução alternativa.

Spans de mensagem ausentes nos traces

  1. Verifique se os SDKs cliente de fila de mensagens usados pelas suas aplicações produtora e consumidora são suportados pelo ARMS. Para componentes suportados, consulte Supported Java components and frameworks for ARMS Application Monitoring.

  2. Confira se tanto a aplicação produtora quanto a consumidora estão conectadas ao Application Monitoring ou ao Managed Service for OpenTelemetry, se têm suas chaves de agente e plugin ativadas e se estão reportando para a mesma região. Spans para envio de mensagens são gerados no produtor, e spans para recebimento de mensagens são gerados no consumidor. Se qualquer uma das aplicações não estiver configurada corretamente, seus spans estarão ausentes.

  3. Se não conseguir ver spans para envio de mensagens, verifique se a versão do agente da aplicação produtora é 4.x ou posterior. Em versões do agente anteriores à 4.x, o envio de uma mensagem não é registrado como um span separado, mas sim incluído na pilha de métodos do span pai. Clique em ícone image ao lado do span pai para visualizar a pilha de chamadas de método.

  4. Se não conseguir ver spans para recebimento de mensagens, verifique se configurou um Invalid API Filter na seção Interface Call Configuration na página Custom Configurations da aplicação consumidora. Este filtro exclui spans indesejados da coleta.

Diferença no tempo de resposta do Kafka entre versões do agente

Sintoma: O tempo de resposta cai de vários segundos para 0,x milissegundos.

Causa:

Nas versões 3.x e anteriores do agente, ao processar um BatchMessageListener, um lote de mensagens é tratado como uma única chamada, e suas durações são agregadas em um único valor.

As versões 4.x e posteriores separam essa lógica e contam cada mensagem como uma chamada individual. Portanto, após atualizar de um agente 3.x para 4.x, o tempo de resposta por chamada diminuirá significativamente, enquanto o número de chamadas aumentará consideravelmente.

O método estatístico usado na versão 3.x era menos preciso e foi aprimorado na versão 4.x.