O recurso de monitoramento de pool de threads e pool de conexões permite monitorar as principais métricas dos pools de threads e pools de conexões da sua aplicação. Essas métricas incluem a contagem de threads principais, a contagem de threads atuais, a contagem máxima de threads, a contagem de threads ativas e o tamanho da fila de tarefas.
Pré-requisitos
Connect your application to Application Monitoring.
O recurso de monitoramento de pool de threads e pool de conexões está disponível apenas na Pro Edition do Application Monitoring.
Ative o monitoramento de pool de threads e pool de conexões
As versões do agente anteriores a 2.7.1.3 não oferecem suporte ao monitoramento de pool de threads e pool de conexões. É necessário atualizar o agente para a versão 2.7.1.3 ou posterior. Para mais informações, consulte Upgrade the ARMS agent.
O monitoramento de pool de threads e pool de conexões é ativado por padrão nas versões do agente 2.7.3.5 e posteriores.
Para as versões do agente entre 2.7.1.3 e 2.7.3.4, execute as etapas a seguir e ative o recurso manualmente.
Faça login no console do ARMS. No painel de navegação à esquerda, escolha .
-
Na página Application List, selecione a região na barra de navegação superior e clique no nome da aplicação.
NotaOs ícones na coluna Language têm os seguintes significados:
: uma aplicação Java conectada ao Application Monitoring.
: uma aplicação Golang conectada ao Application Monitoring.
: uma aplicação Python conectada ao Application Monitoring.-: uma aplicação conectada ao Managed Service for OpenTelemetry.
No painel de navegação à esquerda, clique em Application Settings.
Na aba Custom Configuration, na seção Pooled Monitoring Configuration, ative a opção Thread pool, connection pool monitoring.
Visualize métricas de pool de threads e pool de conexões
Após ativar esse recurso, visualize as métricas de monitoramento na página Application Details, nas abas Thread Pool Monitoring e Connection Pool Monitoring.
Figura 1. Monitoramento de pool de threads 
Figura 2. Monitoramento de pool de conexões 
Frameworks com suporte para pools de threads
Versões do agente 4.1.x e posteriores
Frameworks com suporte:
java.util.ThreadPoolExecutor: Geralmente usado para Tomcat 8 a 9.1, Dubbo, HSF, Vert.x e pools de threads definidos pelo usuário.org.apache.tomcat.util.threads.ThreadPoolExecutor: Geralmente usado para Tomcat 9.1 e posteriores.org.eclipse.jetty.util.thread.QueuedThreadPool: Geralmente usado para Jetty.org.xnio.XnioWorker: Geralmente usado para Undertow.
As seguintes métricas são coletadas:
|
Nome da métrica |
Framework com suporte |
Descrição |
|
|
|
A contagem de threads principais. Esta é uma configuração estática e geralmente não sofre alterações. |
|
|
|
A contagem máxima de threads. Esta é uma configuração estática e geralmente não sofre alterações. |
|
|
|
O número de threads executando tarefas no momento. |
|
|
|
A contagem atual de threads, que inclui tanto as threads ativas quanto as ociosas que estão aguardando tarefas. |
|
|
|
O maior número de threads registrado no pool de threads. |
|
|
|
O número total de tarefas agendadas para execução. |
|
|
|
O número total de tarefas que concluíram a execução. |
|
|
|
O número total de tarefas rejeitadas pelo pool de threads. |
|
|
|
O número atual de tarefas aguardando na fila. |
Versões do agente anteriores a 4.1.x
O monitoramento de pool de threads oferece suporte aos frameworks Tomcat, HSF, Dubbo, Vert.x e Undertow. Para o Undertow, as versões do agente 3.1.x e anteriores oferecem suporte ao Undertow 1.x a 2.0.x, enquanto as versões 3.2.x e posteriores oferecem suporte a todas as versões do Undertow.
As seguintes métricas são coletadas:
|
Nome da métrica |
Métrica |
|
Contagem de threads principais |
|
|
Contagem máxima de threads |
|
|
Contagem de threads ativas |
|
|
Tamanho da fila |
|
|
Contagem atual de threads |
|
Para o framework SchedulerX, a seguinte métrica é coletada:
|
Nome da métrica |
Métrica |
|
Contagem de threads ativas |
|
Frameworks com suporte para pools de conexões
Versões do agente 4.1.x e posteriores
Frameworks com suporte: DBCP (>2.0), Vibur DBCP (>11.0), c3p0 (>0.9.2), Druid, HikariCP (>3.0), Jedis (>3.0), Lettuce (>5.0), Redisson (>3.0), tomcat-dbcp (>8.0) e tomcat-jdbc (>8.0).
As seguintes métricas são coletadas:
|
Nome da métrica |
Framework com suporte |
Descrição |
|
|
DBCP, c3p0, Vibur DBCP, Druid, HikariCP, Jedis, Lettuce, Redisson, tomcat-dbcp, tomcat-jdbc |
A contagem de conexões. Você pode distinguir entre conexões ativas e ociosas pelo estado. |
|
|
DBCP, Jedis, Druid, HikariCP, Lettuce, tomcat-dbcp, tomcat-jdbc |
O número mínimo de conexões ociosas. Esta é uma configuração estática e geralmente não sofre alterações. |
|
|
DBCP, Jedis, Druid, Lettuce, tomcat-dbcp, tomcat-jdbc |
O número máximo de conexões ociosas. Esta é uma configuração estática e geralmente não sofre alterações. |
|
|
DBCP, Druid, Vibur DBCP, HikariCP, tomcat-dbcp, tomcat-jdbc |
A contagem máxima de conexões. Esta é uma configuração estática e geralmente não sofre alterações. |
|
|
c3p0, HikariCP, Jedis, tomcat-dbcp, tomcat-jdbc |
O número de solicitações de conexão pendentes. |
Versões do agente anteriores a 4.1.x
Para OkHttp2 e OkHttp3, as seguintes métricas são coletadas:
|
Nome da métrica |
Métrica |
|
Contagem de conexões ativas |
|
|
Contagem atual de conexões |
|
Para o Apache HttpClient, as seguintes métricas são coletadas:
|
Nome da métrica |
Métrica |
|
Contagem atual de conexões |
|
|
Contagem máxima de conexões |
|
|
Tamanho da fila de espera |
|
Para o Druid, as seguintes métricas são coletadas:
|
Nome da métrica |
Métrica |
|
Contagem de conexões ativas |
|
|
Contagem máxima de conexões |
|
Para o HikariCP, as seguintes métricas são coletadas:
|
Nome da métrica |
Métrica |
|
Contagem de conexões ativas |
|
|
Contagem máxima de conexões |
|