Todos os produtos
Search
Central de documentação

Application Real-Time Monitoring Service:Application Monitoring metrics

Última atualização: Oct 30, 2026

Este tópico descreve as métricas comumente usadas no Application Monitoring, um service do Application Real-Time Monitoring Service (ARMS). Use-as para criar painéis personalizados do Grafana e consultas PromQL.

Importante

Se a sua aplicação for ingerida por meio do Managed Service for OpenTelemetry, apenas as métricas de negócio estarão disponíveis. Métricas da JVM, métricas do sistema e outras categorias não têm suporte.

Métricas de negócio

Dimensões comuns

Nome da dimensão

Chave da dimensão

Nome do service

service

PID do service

pid

IP do host

serverIp

Interface

rpc

Lista de métricas

As métricas a seguir aplicam-se a todos os tipos de acesso. Nas consultas, substitua $callType pelo tipo de acesso real. Para obter a lista de tipos de acesso, consulte Tipos de acesso ao service e dimensões disponíveis.

Por exemplo, para consultar a contagem de requisições http, altere arms_$callType_requests_count para arms_http_requests_count.

Nome da métrica

Métrica

Tipo de métrica

Intervalo de coleta

Unidade

Dimensões

Contagem de requisições

arms_$callType_requests_count

Gauge

15 segundos

Nenhuma

Diferentes tipos de acesso ao service possuem dimensões diferentes. Para mais detalhes, consulte Tipos de acesso ao service e dimensões disponíveis.

Contagem de requisições com falha

arms_$callType_requests_error_count

Gauge

15 segundos

Nenhuma

Latência de requisição

arms_$callType_requests_seconds

Gauge

15 segundos

Segundos

Contagem de requisições lentas

arms_$callType_requests_slow_count

Gauge

15 segundos

Nenhuma

Quantis de latência de requisição

arms_$callType_requests_latency_seconds

Summary

15 segundos

Segundos

Disponível apenas quando o tipo de acesso é http e as estatísticas de quantil estão ativadas. Para ativá-las, defina as Advanced settings.

Dimensões de quantil:

  • 0.5

  • 0.75

  • 0.90

  • 0.99

Nota

Exceto pelas métricas de quantil, as métricas acima são do tipo Gauge: cada ponto representa o valor acumulado ao longo do intervalo de coleta, o que difere das métricas típicas de código aberto. Por exemplo, para estimar um QPS médio de 1 minuto, use o PromQL do ARMS como sum_over_time(arms_$callType_requests_count[1m])/60, enquanto frameworks de código aberto geralmente usam rate(http_server_requests_count[1m]).

Armazenamento de métricas

As métricas de negócio são armazenadas no repositório de métricas detalhadas (metricstore-apm-metrics-detail).

Métricas de negócio agregadas

  • Como cada tipo de chamada usa seu próprio nome de métrica, o PromQL pode ficar muito extenso quando uma aplicação usa vários tipos de chamada (por exemplo, http e Dubbo).

  • As métricas de negócio retêm todas as dimensões de observação, mas alguns cenários de análise não precisam de todas elas. Nesses casos, a consulta às métricas de negócio brutas pode ser lenta.

Para resolver esses problemas, o ARMS fornece métricas de negócio agregadas.

Descrição das métricas

As métricas de negócio agregadas dividem-se nas seguintes categorias:

  • Geral

    Registra a contagem de requisições, a contagem de requisições com falha, a contagem de requisições lentas e a latência média de requisição em todos os tipos de acesso.

  • Tipos de banco de dados

    Igual à categoria Geral, mas restrita aos tipos de acesso a bancos de dados.

  • SQL

    As mesmas métricas da categoria de banco de dados, com uma dimensão SQL adicional.

  • Exceção

    Registra a contagem de requisições e a latência média de requisição quando ocorrem exceções em todos os tipos de acesso.

  • Código de status

    Registra a contagem de requisições por código de status http.

  • Quantil

    Registra os quantis de latência de requisição em todos os tipos de acesso.

Exceto pela categoria de quantil, cada categoria oferece dois formatos de métrica: um agregado padrão cujo nome termina com xxx_raw e uma variante de dimensão reduzida chamada xxx_ign_x_y, onde x e y são dimensões agrupadas (omitidas da série de métricas).

Tipo de métrica e intervalo de coleta

Salvo indicação em contrário, as métricas de negócio agregadas são métricas do tipo Gauge com um intervalo de coleta de 15 segundos.

Dimensões comuns

Toda métrica agregada inclui as seguintes dimensões:

Dimensões

Descrição

pid

PID da aplicação

service

Nome da aplicação

serverIp

IP da instância

source

source da métrica:

  • apm

    Aplicações monitoradas com o Application Monitoring.

  • xtrace

    Aplicações ingeridas por meio do Managed Service for OpenTelemetry.

  • ebpf

    Aplicações monitoradas com o Application Monitoring eBPF Edition.

Lista de métricas

Categoria da métrica

Nome da métrica

Métrica

Unidade

Dimensões adicionais

Geral

Contagem de requisições

arms_app_requests_count_raw

Contagem

  • callType: Tipo de acesso

  • rpc: nome da interface

  • prpc: nome da interface upstream

  • ppid: PID da aplicação upstream

  • parent: nome da aplicação upstream

  • endpoint: para http_client, a interface do par; em todos os outros casos, o endereço remoto.

  • destId: para tipos de chamada de banco de dados, o nome do banco de dados; em todos os outros casos, o endereço remoto.

arms_app_requests_count_ign_destid_endpoint_parent_ppid_prpc_rpc

Contagem

Exclui as dimensões destId, endpoint, parent, ppid, prpc e rpc.

arms_app_requests_count_ign_destid_endpoint_prpc_rpc

Contagem

Exclui as dimensões destId, endpoint, rpc e prpc.

arms_app_requests_count_ign_destid_endpoint_parent_ppid_prpc

Contagem

Exclui as dimensões destId, endpoint, parent, ppid e prpc.

arms_app_requests_count_ign_parent_ppid_prpc_rpc

Contagem

Exclui as dimensões parent, ppid, prpc e rpc.

Contagem de requisições com falha

arms_app_requests_error_count_raw

Contagem

  • callType: Tipo de acesso

  • rpc: nome da interface

  • prpc: nome da interface upstream

  • ppid: PID da aplicação upstream

  • parent: nome da aplicação upstream

  • endpoint: para http_client, a interface do par; em todos os outros casos, o endereço remoto.

  • destId: para tipos de chamada de banco de dados, o nome do banco de dados; em todos os outros casos, o endereço remoto.

arms_app_requests_error_count_ign_destid_endpoint_prpc_rpc

Contagem

Exclui as dimensões destId, endpoint, rpc e prpc.

arms_app_requests_error_count_ign_destid_endpoint_parent_ppid_prpc

Contagem

Exclui as dimensões destId, endpoint, parent, ppid e prpc.

arms_app_requests_error_count_ign_parent_ppid_prpc_rpc

Contagem

Exclui as dimensões parent, ppid, prpc e rpc.

arms_app_requests_error_count_ign_parent_ppid_prpc_rpc

Contagem

Exclui as dimensões parent, ppid, prpc e rpc.

Contagem de requisições lentas

arms_app_requests_slow_count_raw

Contagem

  • callType: Tipo de acesso

  • rpc: nome da interface

  • prpc: nome da interface upstream

  • ppid: PID da aplicação upstream

  • parent: nome da aplicação upstream

  • endpoint: para http_client, a interface do par; em todos os outros casos, o endereço remoto.

  • destId: para tipos de chamada de banco de dados, o nome do banco de dados; em todos os outros casos, o endereço remoto.

arms_app_requests_slow_count_ign_destid_endpoint_parent_ppid_prpc_rpc

Contagem

Exclui as dimensões destId, endpoint, parent, ppid, prpc e rpc.

arms_app_requests_slow_count_ign_destid_endpoint_prpc_rpc

Contagem

Exclui as dimensões destId, endpoint, rpc e prpc.

arms_app_requests_slow_count_ign_destid_endpoint_parent_ppid_prpc

Contagem

Exclui as dimensões destId, endpoint, parent, ppid e prpc.

arms_app_requests_slow_count_ign_parent_ppid_prpc_rpc

Contagem

Exclui as dimensões parent, ppid, prpc e rpc.

Latência de requisição

arms_app_requests_seconds_raw

Segundos

  • callType: Tipo de acesso

  • rpc: nome da interface

  • prpc: nome da interface upstream

  • ppid: PID da aplicação upstream

  • parent: nome da aplicação upstream

  • endpoint: para http_client, a interface do par; em todos os outros casos, o endereço remoto.

  • destId: para tipos de chamada de banco de dados, o nome do banco de dados; em todos os outros casos, o endereço remoto.

arms_app_requests_seconds_ign_destid_endpoint_parent_ppid_prpc_rpc

Segundos

Exclui as dimensões destId, endpoint, parent, ppid, prpc e rpc.

arms_app_requests_seconds_ign_destid_endpoint_prpc_rpc

Segundos

Exclui as dimensões destId, endpoint, rpc e prpc.

arms_app_requests_seconds_ign_destid_endpoint_parent_ppid_prpc

Segundos

Exclui as dimensões destId, endpoint, parent, ppid e prpc.

arms_app_requests_seconds_ign_parent_ppid_prpc_rpc

Segundos

Exclui as dimensões parent, ppid, prpc e rpc.

Tipos de banco de dados

Contagem de requisições de banco de dados

arms_db_requests_count_raw

Contagem

  • callType: Tipo de acesso

  • rpc: nome da interface

  • endpoint: endereço da instância do banco de dados

  • destId: nome do banco de dados

arms_db_requests_count_ign_rpc

Contagem

Exclui a dimensão de interface.

Contagem de requisições de banco de dados com falha

arms_db_requests_error_count_raw

Contagem

  • callType: Tipo de acesso

  • rpc: nome da interface

  • endpoint: endereço da instância do banco de dados

  • destId: nome do banco de dados

arms_db_requests_error_count_ign_rpc

Contagem

Exclui a dimensão de interface.

Contagem de requisições lentas de banco de dados

arms_db_requests_slow_count_raw

Contagem

  • callType: Tipo de acesso

  • rpc: nome da interface

  • endpoint: endereço da instância do banco de dados

  • destId: nome do banco de dados

arms_db_requests_slow_count_ign_rpc

Contagem

Exclui a dimensão de interface.

Latência de requisição de banco de dados

arms_db_requests_seconds_raw

Segundos

  • callType: Tipo de acesso

  • rpc: nome da interface

  • endpoint: endereço da instância do banco de dados

  • destId: nome do banco de dados

arms_db_requests_seconds_ign_rpc

Segundos

Exclui a dimensão de interface.

SQL

Contagem de requisições SQL

arms_sql_requests_count_raw

  • callType: Tipo de acesso

  • rpc: nome da interface

  • endpoint: endereço da instância do banco de dados

  • destId: nome do banco de dados

  • sqlId: ID da instrução SQL

arms_sql_requests_count_ign_rpc

Exclui a dimensão de interface.

Contagem de requisições SQL com falha

arms_sql_requests_error_count_raw

Contagem

  • callType: Tipo de acesso

  • rpc: nome da interface

  • endpoint: endereço da instância do banco de dados

  • destId: nome do banco de dados

  • sqlId: ID da instrução SQL

arms_sql_requests_error_count_ign_rpc

Contagem

Exclui a dimensão de interface.

Contagem de requisições SQL lentas

arms_sql_requests_slow_count_raw

Contagem

  • callType: Tipo de acesso

  • rpc: nome da interface

  • endpoint: endereço da instância do banco de dados

  • destId: nome do banco de dados

  • sqlId: ID da instrução SQL

arms_sql_requests_slow_count_ign_rpc

Contagem

Exclui a dimensão de interface.

Latência de requisição SQL

arms_sql_requests_seconds_raw

Segundos

  • callType: Tipo de acesso

  • rpc: nome da interface

  • endpoint: endereço da instância do banco de dados

  • destId: nome do banco de dados

  • sqlId: ID da instrução SQL

arms_sql_requests_seconds_ign_rpc

Segundos

Exclui a dimensão de interface.

Exceção

Contagem de requisições anormais

arms_exception_requests_count_raw

Contagem

  • callType: Tipo de acesso

  • rpc: nome da interface

  • endpoint: para http_client, a interface do par; em todos os outros casos, o endereço remoto.

  • destId: representa o nome do banco de dados quando o callType é um tipo de banco de dados e o endereço remoto em outros cenários.

  • excepInfo: método de codificação da exceção

  • excepType: ID de codificação da exceção

  • excepName: nome da exceção

arms_exception_requests_count_ign_destid_endpoint_rpc

Contagem

Exclui as dimensões destid, endpoint e rpc.

arms_exception_requests_count_ign_destid_endpoint

Contagem

Exclui as dimensões destid e endpoint.

Latência de requisição de exceção

arms_exception_requests_seconds_raw

Segundos

  • callType: Tipo de acesso

  • rpc: nome da interface

  • endpoint: para http_client, a interface do par; em todos os outros casos, o endereço remoto.

  • destId: para tipos de chamada de banco de dados, o nome do banco de dados; em todos os outros casos, o endereço remoto.

  • excepInfo: método de codificação da exceção

  • excepType: ID de codificação da exceção

  • excepName: nome da exceção

arms_exception_requests_seconds_ign_destid_endpoint_rpc

Segundos

Exclui as dimensões destid, endpoint e rpc.

arms_exception_requests_seconds_ign_destid_endpoint

Segundos

Exclui as dimensões destid e endpoint.

Código de status

Contagem de requisições por código de status

arms_requests_by_status_count_raw

Contagem

  • rpc: nome da interface

  • código de status:

    • 200: o código de status http é 200

    • 2xx: código de status http maior que 200 e menor que 300

    • 3xx: código de status http maior ou igual a 300 e menor que 400

    • 4xx: código de status http maior ou igual a 400 e menor que 500

    • 5xx: código de status http maior ou igual a 500

arms_requests_by_status_count_ign_rpc

Contagem

Exclui a dimensão de interface.

Quantil

Quantis de latência de requisição

Nota

Compatível apenas com as versões 4.x e posteriores do agente.

arms_uni_requests_latency_seconds

  • callType: Tipo de acesso

  • rpc: nome da interface

  • quantil:

    • 0.5: 50º percentil

    • 0.75: 75º percentil

    • 0.90: 90º percentil

    • 0.99: 99º percentil

  • endpoint: para http_client, a interface do par; em todos os outros casos, o endereço remoto.

  • destId: para tipos de chamada de banco de dados, o nome do banco de dados; em todos os outros casos, o endereço remoto.

  • excepInfo: método de codificação da exceção

  • excepType: ID de codificação da exceção

  • excepName: nome da exceção

  • código de status:

    • 200: o código de status http é 200

    • 2xx: código de status http maior que 200 e menor que 300

    • 3xx: código de status http maior ou igual a 300 e menor que 400

    • 4xx: código de status http maior ou igual a 400 e menor que 500

    • 5xx: código de status http maior ou igual a 500

Exemplo de uso

escolha uma métrica ao usar o PromQL para somar requisições em todas as interfaces de uma aplicação

  1. É necessária uma métrica que exponha a contagem de requisições por interface. A categoria Geral neste tópico atende a esse requisito.

  2. Se for necessária apenas a dimensão de interface — e não as interfaces upstream, aplicações upstream ou hosts remotos —, escolha uma métrica que mantenha a dimensão de interface e omita o máximo possível das outras dimensões.

Na prática, arms_app_requests_count_ign_destid_endpoint_parent_ppid_prpc é uma boa escolha.

Armazenamento de métricas

Métricas armazenadas no repositório principal de métricas (metricstore-apm-metrics):

  • arms_app_requests_{metric}_ign_destid_endpoint_parent_ppid_prpc_rpc

  • arms_app_requests_{metric}_ign_destid_endpoint_rpc_prpc

  • arms_app_requests_{metric}_ign_destid_endpoint_parent_ppid_prpc

As métricas de negócio agregadas restantes são armazenadas no repositório de métricas detalhadas (metricstore-apm-metrics-detail).

Métricas da JVM

Dimensões comuns

Nome da dimensão

Chave da dimensão

Nome do service

service

PID do service

pid

IP do host

serverIp

Lista de métricas

Nome da métrica

Métrica

Tipo de métrica

Intervalo de coleta

Unidade

Dimensões

Contagem de GC (cumulativa)

arms_jvm_gc_total

Counter

15 segundos

Nenhuma

Área de ocorrência da geração do GC:

  • Young: geração jovem

  • Old: geração antiga

Motivo do acionamento do GC (versão 4.4.0 e posterior do agente): System.gc(), Heap Dump Initiated GC, Allocation Failure, etc.

Expanda e visualize a descrição detalhada dos motivos do GC

  • System.gc(): quando o programa chama explicitamente System.gc(). Este motivo é acionado quando a coleta de lixo é solicitada.

  • FullGCAlot/ScavengeAlot: esses motivos podem estar relacionados a cenários de teste ou depuração em que full GC ou small GC ("scavenge") frequentes são acionados intencionalmente.

  • Allocation Profiler: este motivo de coleta de lixo pode envolver a criação de perfil de alocação de memória para entender melhor o uso da memória.

  • JvmtiEnv ForceGarbageCollection: indica que a Java Virtual Machine Tool Interface (JVMTI) emitiu uma solicitação para forçar a coleta de lixo.

  • Heap Inspection Initiated GC & Heap Dump Initiated GC: geralmente não são operações de rotina, mas são usadas para inspecionar o heap ou fazer um dump do heap.

  • WhiteBox Initiated Young/Full GC & execute to Breakpoint: são acionados por testes WhiteBox e geralmente são usados para fins de teste interno da JVM.

  • No GC: a JVM pode acionar o GC com base em heurísticas internas (como a previsão de tendência de uso do heap no algoritmo CMS) em vez de condições específicas (como memória insuficiente); portanto, é exibido como No GC.

  • Allocation Failure: uma coleta de lixo acionada porque a JVM não consegue alocar memória para um novo objeto, indicando uma possível situação de pressão de memória.

  • CodeCache GC Threshold/Aggressive: envolve o cache de código, que armazena código compilado. O GC pode ser acionado quando o cache atinge um determinado limiar ou requer gerenciamento ativo.

  • Metadata GC Threshold/Clear Soft References: o GC acionado por limiares de espaço de metadados ou limpeza de referências fracas (soft references) pode liberar memória sem afetar a execução da aplicação.

  • G1 Evacuation Pause / Compaction Pause / Humongous Allocation / Periodic Collection: são motivos específicos de GC relacionados ao coletor de lixo G1, otimizado para baixos tempos de pausa.

  • Diagnostic Command: acionado por um comando de diagnóstico, geralmente usado para fins de monitoramento ou diagnóstico interno.

  • Shenandoah GC Causes: relacionados ao coletor de lixo Shenandoah, projetado para reduzir os tempos de pausa por meio de operações concorrentes.

  • Z Garbage Collector Causes (Timer, Warmup, etc.): específicos do ZGC (Z Garbage Collector), focam em aspectos de ajuste de desempenho, como aquecimento (warm-up), taxas de alocação e medidas proativas.

  • ILLEGAL VALUE: indica um valor de motivo de coleta de lixo inválido ou não reconhecido, como proteção contra situações inesperadas.

Tempo de GC (cumulativo)

arms_jvm_gc_seconds_total

Counter

15 segundos

Segundos

Contagem de GC entre intervalos de coleta

arms_jvm_gc_delta

Gauge

15 segundos

Nenhuma

Duração do GC entre intervalos de coleta

arms_jvm_gc_seconds_delta

Gauge

15 segundos

Segundos

Contagem de threads da JVM

arms_jvm_threads_count

Gauge

15 segundos

Nenhuma

status da thread:

  • Blocked: estado bloqueado

  • Live: estado ativo

  • Daemon: estado daemon

  • New: estado inicial

  • Dead-lock: estado de deadlock

  • Runnable: estado de execução

  • Terminated: estado finalizado

  • Timed-wait: estado de espera com tempo limite

  • Wait: estado de espera

Tamanho inicial da memória da JVM

arms_jvm_mem_init_bytes

Gauge

15 segundos

Bytes

Área:

  • Heap: área do heap

  • Nonheap: área non-heap

  • Total: total

Detalhamento da área:

  • Eden: área Eden

  • Old: geração antiga

  • Survivor: zona Survivor

  • Metaspace: área de metadados

  • Code cache: área de cache de código

  • Compressed class space: espaço de classes compactadas

  • Total: total

Tamanho máximo da memória da JVM

arms_jvm_mem_max_bytes

Gauge

15 segundos

Bytes

Tamanho da memória usada da JVM

arms_jvm_mem_used_bytes

Gauge

15 segundos

Bytes

Tamanho da memória committed da JVM

arms_jvm_mem_committed_bytes

Gauge

15 segundos

Bytes

Taxa de uso de memória da JVM

arms_jvm_mem_usage_ratio

Gauge

15 segundos

Taxa (0–1)

Contagem de classes carregadas da JVM

arms_class_load_loaded

Counter

15 segundos

Nenhuma

Nenhuma

Contagem de classes descarregadas da JVM

arms_class_load_un_loaded

Counter

15 segundos

Nenhuma

Nenhuma

Tamanho do buffer pool da JVM

arms_jvm_buffer_pool_total_bytes

Gauge

15 segundos

Bytes

Área:

  • Direct

  • Mapped

Tamanho usado do buffer pool da JVM

arms_jvm_buffer_pool_used_bytes

Gauge

15 segundos

Bytes

Contagem do buffer pool da JVM

arms_jvm_buffer_pool_count

Gauge

15 segundos

Nenhuma

Contagem de descritores de arquivo abertos

arms_file_desc_open_count

Gauge

15 segundos

Nenhuma

Nenhuma

Taxa de uso de descritores de arquivo (abertos / limite)

arms_file_desc_open_ratio

Gauge

15 segundos

Taxa (0–1)

Nenhuma

Armazenamento de métricas

As métricas da JVM são armazenadas no repositório principal de métricas (metricstore-apm-metrics).

Métricas do sistema

Dimensões comuns

Nome da dimensão

Chave da dimensão

Nome do service

service

PID do service

pid

IP do host

serverIp

Lista de métricas

Nome da métrica

Métrica

Tipo de métrica

Intervalo de coleta

Unidade

Taxa de ociosidade da CPU

arms_system_cpu_idle

Gauge

15 segundos

Porcentagem

Taxa de espera de I/O da CPU

arms_system_cpu_io_wait

Gauge

15 segundos

Porcentagem

Taxa de CPU do sistema

arms_system_cpu_system

Gauge

15 segundos

Porcentagem

Taxa de CPU do usuário

arms_system_cpu_user

Gauge

15 segundos

Porcentagem

Carga do sistema (1 minuto)

arms_system_load

Gauge

15 segundos

Nenhuma

Espaço livre em disco

arms_system_disk_free_bytes

Gauge

15 segundos

Bytes

Espaço total em disco

arms_system_disk_total_bytes

Gauge

15 segundos

Bytes

Taxa de uso de disco

arms_system_disk_used_ratio

Gauge

15 segundos

Taxa (0–1)

Tamanho do buffer de memória do sistema

arms_system_mem_buffers_bytes

Gauge

15 segundos

Bytes

Tamanho do cache de memória do sistema

arms_system_mem_cached_bytes

Gauge

15 segundos

Bytes

Memória livre do sistema

arms_system_mem_free_bytes

Gauge

15 segundos

Bytes

Espaço livre de swap

arms_system_mem_swap_free_bytes

Gauge

15 segundos

Bytes

Espaço total de swap

arms_system_mem_swap_total_bytes

Gauge

15 segundos

Bytes

Memória total do sistema

arms_system_mem_total_bytes

Gauge

15 segundos

Bytes

Memória usada do sistema

arms_system_mem_used_bytes

Gauge

15 segundos

Bytes

Tráfego de entrada de rede

arms_system_net_in_bytes

Gauge

15 segundos

Bytes

Tráfego de saída de rede

arms_system_net_out_bytes

Gauge

15 segundos

Bytes

Contagem de erros de entrada de rede

arms_system_net_in_err

Gauge

15 segundos

Nenhuma

Contagem de erros de saída de rede

arms_system_net_out_err

Gauge

15 segundos

Nenhuma

Armazenamento de métricas

As métricas do sistema são armazenadas no repositório principal de métricas (metricstore-apm-metrics).

Métricas de pool de threads/pool de conexões

Dimensões comuns

Nome da dimensão

Chave da dimensão

Nome do service

service

PID do service

pid

IP do host

serverIp

Nome do pool de threads (compatível com versões do agente anteriores a 4,1.x)

name

Tipo do pool de threads (compatível com versões do agente anteriores a 4,1.x)

type

Lista de métricas

Agente versão 4,1.x e posteriores

Métricas do pool de threads

Nome da métrica

Métrica

Tipo de métrica

Intervalo de coleta

Dimensões

Contagem de threads principais do pool de threads

arms_thread_pool_core_pool_size

Gauge

15 segundos

  • thread_name_pattern: padrão de nome da thread, por exemplo http-nio-8080-*.

  • thread_pool_usage: uso do pool de threads, como Tomcat, Dubbo, Undertow, etc.

Contagem máxima de threads do pool de threads

arms_thread_pool_max_pool_size

Gauge

15 segundos

  • thread_name_pattern: padrão de nome da thread, por exemplo http-nio-8080-*.

  • thread_pool_usage: uso do pool de threads, como Tomcat, Dubbo, Undertow, etc.

Contagem de threads ativas do pool de threads

arms_thread_pool_active_thread_count

Gauge

15 segundos

  • thread_name_pattern: padrão de nome da thread, por exemplo http-nio-8080-*.

  • thread_pool_usage: uso do pool de threads, como Tomcat, Dubbo, Undertow, etc.

Contagem atual de threads do pool de threads

arms_thread_pool_current_thread_count

Gauge

15 segundos

  • thread_name_pattern: padrão de nome da thread, por exemplo http-nio-8080-*.

  • thread_pool_usage: uso do pool de threads, como Tomcat, Dubbo, Undertow, etc.

Contagem máxima histórica de threads do pool de threads (desde a criação do pool)

arms_thread_pool_max_thread_count

Gauge

15 segundos

  • thread_name_pattern: padrão de nome da thread, por exemplo http-nio-8080-*.

  • thread_pool_usage: uso do pool de threads, como Tomcat, Dubbo, Undertow, etc.

Contagem de tarefas agendadas do pool de threads

arms_thread_pool_scheduled_task_count

Counter

15 segundos

  • thread_name_pattern: padrão de nome da thread, por exemplo http-nio-8080-*.

  • thread_pool_usage: uso do pool de threads, como Tomcat, Dubbo, Undertow, etc.

Contagem de tarefas concluídas do pool de threads

arms_thread_pool_completed_task_count

Counter

15 segundos

  • thread_name_pattern: padrão de nome da thread, por exemplo http-nio-8080-*.

  • thread_pool_usage: uso do pool de threads, como Tomcat, Dubbo, Undertow, etc.

Contagem de tarefas rejeitadas do pool de threads

arms_thread_pool_rejected_task_count

Counter

15 segundos

  • thread_name_pattern: padrão de nome da thread, por exemplo http-nio-8080-*.

  • thread_pool_usage: uso do pool de threads, como Tomcat, Dubbo, Undertow, etc.

Tamanho da fila de tarefas do pool de threads

arms_thread_pool_queue_size

Gauge

15 segundos

  • thread_name_pattern: padrão de nome da thread, por exemplo http-nio-8080-*.

  • thread_pool_usage: uso do pool de threads, como Tomcat, Dubbo, Undertow, etc.

Métricas do pool de conexões

Descrição da métrica

Nome da métrica

Tipo de métrica

Intervalo de coleta

Dimensões

Contagem de conexões

arms_connection_pool_connection_count

Gauge

15 segundos

  • state: status da conexão.

    • used

    • idle

  • pool_type: tipo de pool de conexões, como Druid, c3p0.

  • URL: string de conexão do banco de dados.

Contagem mínima de conexões ociosas

arms_connection_pool_connection_min_idle_count

Gauge

15 segundos

  • pool_type: tipo de pool de conexões, como Druid, c3p0.

  • URL: string de conexão do banco de dados.

Contagem máxima de conexões ociosas

arms_connection_pool_connection_max_idle_count

Gauge

15 segundos

  • pool_type: tipo de pool de conexões, como Druid, c3p0.

  • URL: string de conexão do banco de dados.

Contagem máxima de conexões

arms_connection_pool_connection_max_count

Gauge

15 segundos

  • pool_type: tipo de pool de conexões, como Druid, c3p0.

  • URL: string de conexão do banco de dados.

Contagem de requisições de conexão bloqueadas

arms_connection_pool_pending_request_count

Counter

15 segundos

  • pool_type: tipo de pool de conexões, como Druid, c3p0.

  • URL: string de conexão do banco de dados.

Versões do agente anteriores a 4,1.x

Nome da métrica

Métrica

Tipo de métrica

Intervalo de coleta

Dimensões

Contagem de threads principais do pool de threads

arms_threadpool_core_size

Gauge

15 segundos

Nenhuma

Contagem máxima de threads do pool de threads

arms_threadpool_max_size

Gauge

15 segundos

Nenhuma

Contagem de threads ativas do pool de threads

arms_threadpool_active_size

Gauge

15 segundos

Nenhuma

Tamanho da fila do pool de threads

arms_threadpool_queue_size

Gauge

15 segundos

Nenhuma

Tamanho do pool de threads

arms_threadpool_current_size

Gauge

15 segundos

Nenhuma

Contagem de tarefas do pool de threads por estado

arms_threadpool_task_total

Gauge

15 segundos

status da tarefa:

  • Scheduled: agendada

  • Completed: concluída

  • Rejected: rejeitada

Armazenamento de métricas

As métricas de pool de threads/pool de conexões são armazenadas no repositório principal de métricas (metricstore-apm-metrics).

Métricas de tarefas agendadas

As métricas a seguir aplicam-se apenas a tarefas agendadas.

Dimensões comuns

Nome da dimensão

Chave da dimensão

Nome do service

service

PID do service

pid

IP do host

serverIp

ID da tarefa

rpc

Lista de métricas

Nome da métrica

Métrica

Tipo de métrica

Intervalo de coleta

Unidade

Atraso de agendamento

arms_$callType_delay_milliseconds

Gauge

15 segundos

Milissegundos

Armazenamento de métricas

As métricas de tarefas agendadas são armazenadas no repositório de métricas detalhadas (metricstore-apm-metrics-detail).

Métricas de runtime do Go

Lista de métricas

Nome da métrica

Métrica

Tipo de métrica

Intervalo de coleta

Tempo de inicialização da aplicação (ms)

arms_golang_runtime_uptime

Int64Counter

15 segundos

Contagem atual de Goroutines

arms_golang_process_runtime_go_goroutines

Gauge

15 segundos

Memória de objetos do heap (bytes)

arms_golang_process_runtime_go_mem_heap_alloc

Gauge

15 segundos

Memória do heap não alocada ou recuperada

arms_golang_process_runtime_go_mem_heap_idle

Gauge

15 segundos

Memória do heap usada

arms_golang_process_runtime_go_mem_heap_inuse

Gauge

15 segundos

Objetos ativos alocados no heap

arms_golang_process_runtime_go_mem_heap_objects

Gauge

15 segundos

Memória do heap liberada para o sistema operacional

arms_golang_process_runtime_go_mem_heap_released

Gauge

15 segundos

Tamanho da memória virtual solicitada

arms_golang_process_runtime_go_mem_heap_sys

Gauge

15 segundos

Contagem de objetos ativos

arms_golang_process_runtime_go_mem_live_objects

Gauge

15 segundos

Contagem de GC desde o início do programa

arms_golang_process_runtime_go_gc_count

Gauge

15 segundos

Tempo cumulativo de pausa do GC (stop-the-world)

arms_golang_process_runtime_go_gc_pause_total_ns

Int64Counter

15 segundos

Distribuição de tempo do GC

arms_golang_process_runtime_go_gc_pause_ns

Int64Histogram

15 segundos

Armazenamento de métricas

As métricas de runtime do Go são armazenadas no repositório principal de métricas (metricstore-apm-metrics).

Métricas de runtime do Node.js

Lista de métricas

Nome da métrica

Métrica

Tipo de métrica

Intervalo de coleta

Unidade

Descrição

Atraso mínimo do loop de eventos

nodejs.eventloop.delay.min

Gauge

10 segundos

Nanossegundos

O atraso mínimo no intervalo de coleta atual.

Atraso máximo do loop de eventos

nodejs.eventloop.delay.max

Gauge

10 segundos

Nanossegundos

O atraso máximo no intervalo de coleta atual.

Atraso médio do loop de eventos

nodejs.eventloop.delay.mean

Gauge

10 segundos

Nanossegundos

O atraso médio no intervalo de coleta atual.

Desvio padrão do atraso do loop de eventos

nodejs.eventloop.delay.stddev

Gauge

10 segundos

Nanossegundos

A variação no atraso durante o intervalo de coleta atual.

Atraso P50 do loop de eventos

nodejs.eventloop.delay.p50

Gauge

10 segundos

Nanossegundos

O atraso P50 no intervalo de coleta atual.

Atraso P90 do loop de eventos

nodejs.eventloop.delay.p90

Gauge

10 segundos

Nanossegundos

O atraso P90 no intervalo de coleta atual.

Atraso P99 do loop de eventos

nodejs.eventloop.delay.p99

Gauge

10 segundos

Nanossegundos

O atraso P99 no intervalo de coleta atual.

Quantil de atraso do loop de eventos

nodejs.eventloop.delay.quantile

Gauge

10 segundos

Nanossegundos

quantile: 0.5, 0.75, 0.9, 0.95 e 0.99 por padrão.

Contagem de amostras de atraso do loop de eventos

nodejs.eventloop.delay.samples

Gauge

10 segundos

Contagem

O número de amostras de atraso no intervalo de coleta atual.

Utilização do loop de eventos

nodejs.eventloop.utilization

Gauge

10 segundos

Taxa (0–1)

A proporção de tempo em que o loop de eventos está ativo.

Tamanho do espaço do heap V8

v8js.memory.heap.limit

Gauge

10 segundos

Bytes

v8js.heap.space.name: o nome do espaço do heap. Este é o tamanho do espaço atual, não o tamanho máximo permitido de todo o heap V8.

Tamanho usado do espaço do heap V8

v8js.memory.heap.used

Gauge

10 segundos

Bytes

v8js.heap.space.name: o nome do espaço do heap.

Utilização do espaço do heap V8

v8js.memory.heap.utilization

Gauge

10 segundos

Taxa (0–1)

v8js.heap.space.name: o nome do espaço do heap. O tamanho usado dividido pelo tamanho do espaço.

Tamanho disponível do espaço do heap V8

v8js.heap.space.available_size

Gauge

10 segundos

Bytes

v8js.heap.space.name: o nome do espaço do heap.

Tamanho físico do espaço do heap V8

v8js.heap.space.physical_size

Gauge

10 segundos

Bytes

v8js.heap.space.name: o nome do espaço do heap. O tamanho da memória física alocada (committed).

Contagem de GC

v8js.gc.count

Gauge

10 segundos

Contagem

v8js.gc.type: o tipo de GC. O número de GCs no intervalo de coleta atual.

Duração do GC mais recente

v8js.gc.duration

Gauge

10 segundos

Milissegundos

v8js.gc.type: o tipo de GC. A duração do GC observado mais recentemente, não a duração total do intervalo de coleta.

Distribuição da duração da pausa do GC

v8js.gc.pause.duration

Histogram

10 segundos

Milissegundos

v8js.gc.type: o tipo de GC. Registra a duração de cada pausa do GC.

Tempo cumulativo de CPU do processo

process.cpu.time

ObservableCounter

10 segundos

Segundos

cpu.mode: user (modo de usuário) e system (modo de kernel).

Utilização de CPU do processo

process.cpu.utilization

Gauge

10 segundos

Taxa (0–1)

Normalizada pelo intervalo de coleta e pela contagem de núcleos da CPU. A primeira coleta é 0.

Memória residente do processo

process.memory.usage

Gauge

10 segundos

Bytes

O tamanho do conjunto residente (RSS) do processo, incluindo o heap JavaScript e a memória nativa.

Memória virtual do processo

process.memory.virtual

Gauge

10 segundos

Bytes

Apenas Linux. Lê VmSize de /proc/self/status.

Contagem estimada de threads do processo

process.thread.count

Gauge

10 segundos

Contagem

Estimada com base na contagem de núcleos da CPU e na configuração do pool de threads do libuv; não é a contagem real de threads do sistema operacional.

Contagem de descritores de arquivo abertos

process.open_file_descriptor.count

Gauge

10 segundos

Contagem

Apenas Linux. Lê /proc/self/fd.

Contagem cumulativa de trocas de contexto do processo

process.context_switches

ObservableCounter

10 segundos

Contagem

Apenas Linux. context_switch.type: voluntary e nonvoluntary.

Armazenamento de métricas

As métricas de runtime do Node.js são armazenadas no repositório principal de métricas (metricstore-apm-metrics).

Tipos de acesso ao service e dimensões disponíveis

Tipos do lado do cliente

  • Tipo de acesso

    • http_client

    • dubbo_client

    • hsf_client

    • dsf_client

    • notify_client

    • grpc_client

    • thrift_client

    • sofa_client

    • mq_client

    • kafka_client

  • Dimensões

    • parent: o nome do service upstream

    • ppid: PID do service upstream

    • destId: informações de extensão do par da requisição

    • endpoint: endereço do par da requisição

    • excepType: ID da exceção

    • excepInfo: regras de codificação do ID da exceção

    • excepName: nome da exceção

    • stackTraceId: ID da pilha da exceção

Tipos de banco de dados

  • Tipo de acesso

    • mysql

    • oracle

    • mariadb

    • postgresql

    • ppas

    • sqlserver

    • mongodb

    • dmdb

  • Dimensões

    • parent: o nome do service upstream

    • ppid: PID do service upstream

    • destId: nome do banco de dados

    • endpoint: endereço do banco de dados

    • excepType: ID da exceção

    • excepInfo: regras de codificação do ID da exceção

    • excepName: nome da exceção

    • stackTraceId: ID da pilha da exceção

    • sqlId: ID da instrução SQL

Tipos do lado do servidor

  • Tipo de acesso

    • http

    • dubbo

    • hsf

    • dsf

    • user_method

    • mq

    • kafka

    • grpc

    • thrift

    • sofa

  • Dimensões

    • prpc: interface upstream

    • parent: o nome do service upstream

    • ppid: PID do service upstream

    • endpoint: endereço do service

    • excepType: ID da exceção

    • excepInfo: regras de codificação do ID da exceção

    • excepName: nome da exceção

    • stackTraceId: ID da pilha da exceção

Tipos de tarefas agendadas

  • Tipo de acesso

    • xxl_job

    • spring_scheduled

    • quartz

    • elasticjob

    • jdk_timer

    • schedulerx

  • Dimensões

    • prpc: interface upstream

    • parent: o nome do service upstream

    • ppid: PID do service upstream

    • excepType: ID da exceção

    • excepInfo: regras de codificação do ID da exceção

    • excepName: nome da exceção

    • stackTraceId: ID da pilha da exceção