Todos os produtos
Search
Central de documentação

Application Real-Time Monitoring Service:Enable continuous profiling

Última atualização: Jun 27, 2026

A criação de perfil contínua identifica gargalos de CPU, memória ou E/S em sua aplicação Java no nível de método, com detalhamento por nome da classe, nome do método e número da linha. Use esse recurso para localizar métodos que consomem muitos recursos, reduzir a latência, aumentar o throughput e diminuir os custos de infraestrutura.

A sobrecarga é mínima. Em um benchmark com todos os recursos ativados em uma aplicação Spring Web convencional, a utilização da CPU aumentou cerca de 5%, a memória off-heap cresceu aproximadamente 50 MB e a latência de GC e de requisições praticamente não sofreu alterações. Para resultados detalhados, consulte Relatório de teste de desempenho da tecnologia de criação de perfil contínua do agente ARMS para Java v4.x.

Pré-requisitos

Antes de começar, verifique se você tem:

  • Application Monitoring Pro Edition com o modo de faturamento pagamento conforme dados observáveis. Para ativar a Pro Edition, consulte Pagamento conforme o uso. Para alterar os modos de faturamento, consulte Faturamento

  • Uma aplicação monitorada pelo Application Monitoring com o agente ARMS versão 2.7.3.5 ou posterior. Para obter instruções de configuração, consulte Visão geral do Application Monitoring. Para atualizar o agente, consulte Atualizar o agente ARMS

  • Um bucket do Object Storage Service (OSS) especificado na política de controle de acesso da Virtual Private Cloud (VPC) onde sua aplicação é executada. Esse bucket armazena os dados de perfil e segue o padrão de nomenclatura arms-profiling-<regionId>. Substitua <regionId> pelo ID da sua região. Por exemplo, se sua aplicação for executada na região China (Hangzhou), use arms-profiling-cn-hangzhou. Se o bucket não for especificado, a coleta de dados falhará

  • OpenJDK ou Oracle JDK. Outras distribuições de JDK não têm suporte

Importante

Os dados de criação de perfil contínua são retidos por 7 dias.

Limites

Versão do kernel Linux

O kernel Linux deve ser da versão 2.6.32-431.23.3.el6.x86_64 ou posterior. Execute uname -r para verificar a versão do seu kernel.

Versão do JDK

A criação de perfil contínua usa a JVM TI (Java Virtual Machine Tool Interface) para capturar pilhas de métodos durante a execução. Isso fornece detalhes de utilização de CPU e uso de memória no nível de método.

Algumas versões do JDK contêm um bug na JVM TI (JDK-8283849) que pode causar falhas na aplicação. As versões abaixo corrigiram esse problema:

JDK

Versões recomendadas

OpenJDK

8u352+, 11.0.17+, 17.0.5+

Oracle JDK

11.0.21+, 17.0.9+

Testes internos indicam que falhas ocorrem em cenários raros para outras versões do JDK. O recurso permanece disponível; portanto, ative-o para endereços IP específicos e avalie a estabilidade antes da implantação ampla. Para cargas de trabalho em produção, use uma versão recomendada do JDK.

Imagens base Alpine não têm suporte

A criação de perfil contínua depende dos símbolos de depuração presentes nos JDKs. Imagens base Alpine removem esses símbolos para controlar o uso de memória, o que impede o profiler de coletar dados. Use uma imagem base diferente de Alpine.

Ativar a criação de perfil contínua no console ARMS

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

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

    Nota

    Os ícones na coluna Language indicam a linguagem da aplicação:

    • Java icon: Java

    • Go icon: Go

    • Python icon: Python

    • Hífen (-): aplicação monitorada no Managed Service for OpenTelemetry

  3. No painel de navegação à esquerda, clique em Application Settings e, em seguida, na aba Custom Configuration.

  4. Na seção Continuous profiling, ative a opção Main Switch e configure a IP white list ou o Network segment address para definir quais instâncias terão o perfil coletado.

  5. Clique em Save.

Visualizar dados de perfil

Após ativar a criação de perfil contínua e sua aplicação processar tráfego, visualize os dados de perfil.

  1. No console ARMS, acesse Application Monitoring > Application List, selecione uma região e clique em nome da aplicação.

  2. No painel de navegação à esquerda, clique em Continuous profiling.

  3. Selecione uma instância da aplicação na lista e defina o intervalo de tempo no lado direito da página.

  4. Na aba Single View, explore os dados de perfil:

    1. Na seção Time window size, selecione uma duração de snapshot e arraste no gráfico de linhas para restringir o intervalo de tempo.

    2. Na lista suspensa, escolha os dados que deseja visualizar: CPU, heap da JVM ou GC da JVM.

    3. Analise os dados do intervalo de tempo selecionado e clique em Aggregate analysis para examinar os detalhes do snapshot.

    Profiling data display

Interpretar os resultados do perfil

A visualização de análise agregada exibe um detalhamento no nível de método ao lado de um gráfico de chama.

Performance analysis

Coluna

Descrição

Quando usar

Self

Tempo ou recursos consumidos exclusivamente pelo método, excluindo métodos filhos.

Identificar métodos individualmente custosos.

Total

Tempo ou recursos consumidos pelo método, incluindo todos os métodos filhos.

Encontrar caminhos de chamada que mais contribuem para o uso geral de recursos.

Ao analisar código com hotspots, concentre-se na coluna Self ou nos quadros mais largos na parte inferior do gráfico de chama. Um quadro largo na base geralmente indica um gargalo de desempenho: quanto mais largo o quadro, mais recursos o método consumiu em relação ao total.

Metrics

Snapshots

Comparar dados entre períodos de tempo

Na aba Comparison View, selecione dois períodos de tempo para comparar os dados de perfil lado a lado. Essa comparação ajuda a identificar regressões de desempenho ou verificar o impacto de alterações no código.

Tópicos relacionados