O recurso de monitoramento de thread pool e connection pool permite acompanhar as principais métricas dos thread pools e connection pools da sua aplicação. Essas métricas incluem a contagem de threads principais, a contagem atual de threads, a contagem máxima de threads, a contagem de threads ativas e o tamanho da fila de tarefas.
Pré-requisitos
Conecte sua aplicação ao Application Monitoring.
O recurso de monitoramento de thread pool e connection pool está disponível apenas na Pro Edition do Application Monitoring.
Ative o monitoramento de thread pool e connection pool
Versões do agente anteriores à 2.7.1.3 não oferecem suporte ao monitoramento de thread pool e connection pool. Atualize o agente para a versão 2.7.1.3 ou posterior. Para mais informações, consulte Atualizar o agente do ARMS.
O monitoramento de thread pool e connection pool vem ativado por padrão nas versões 2.7.3.5 e posteriores do agente.
Para versões do agente entre 2.7.1.3 e 2.7.3.4, siga as etapas abaixo para ativar manualmente o recurso.
Faça login no ARMS console. No painel de navegação à esquerda, escolha .
No painel de navegação à esquerda, clique em Application Settings.
Na aba Custom Configuration, na seção Pooled Monitoring Configuration, ative a chave Thread pool, connection pool monitoring.
Visualize métricas de thread pool e connection pool
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 thread pool 
Figura 2. Monitoramento de connection pool 
Frameworks compatíveis com thread pools
Versões 4.1.x e posteriores do agente
Frameworks compatíveis:
java.util.ThreadPoolExecutor: Geralmente usado em Tomcat 8 a 9.1, Dubbo, HSF, Vert.x e thread pools definidos pelo usuário.org.apache.tomcat.util.threads.ThreadPoolExecutor: Comumente usado no Tomcat 9.1 e versões posteriores.org.eclipse.jetty.util.thread.QueuedThreadPool: Tipicamente usado no Jetty.org.xnio.XnioWorker: Aplicável principalmente ao Undertow.
As seguintes métricas são coletadas:
|
Nome da métrica |
Framework compatível |
Descrição |
|
|
|
Contagem de threads principais. Esta é uma configuração estática que normalmente não se altera. |
|
|
|
Contagem máxima de threads. Esta é uma configuração estática e geralmente permanece inalterada. |
|
|
|
Número de threads executando tarefas no momento. |
|
|
|
Contagem atual de threads, incluindo tanto as ativas quanto as ociosas que aguardam tarefas. |
|
|
|
Maior número de threads já registrado no thread pool. |
|
|
|
Total de tarefas agendadas para execução. |
|
|
|
Total de tarefas com execução concluída. |
|
|
|
Total de tarefas rejeitadas pelo thread pool. |
|
|
|
Número atual de tarefas aguardando na fila. |
Versões do agente anteriores à 4.1.x
O monitoramento de thread pool oferece suporte aos frameworks Tomcat, HSF, Dubbo, Vert.x e Undertow. Para o Undertow, as versões 3,1.x e anteriores do agente suportam do Undertow 1.x ao 2,0.x, enquanto as versões 3,2.x e posteriores são compatíveis com 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 compatíveis com connection pools
Versões 4.1.x e posteriores do agente
Frameworks compatíveis: 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 compatível |
Descrição |
|
|
DBCP, c3p0, Vibur DBCP, Druid, HikariCP, Jedis, Lettuce, Redisson, tomcat-dbcp, tomcat-jdbc |
Contagem de conexões. É possível distinguir entre conexões ativas e ociosas pelo estado. |
|
|
DBCP, Jedis, Druid, HikariCP, Lettuce, tomcat-dbcp, tomcat-jdbc |
Número mínimo de conexões ociosas. Esta é uma configuração estática que raramente sofre alterações. |
|
|
DBCP, Jedis, Druid, Lettuce, tomcat-dbcp, tomcat-jdbc |
Quantidade máxima de conexões ociosas. Este é um parâmetro estático que normalmente não muda. |
|
|
DBCP, Druid, Vibur DBCP, HikariCP, tomcat-dbcp, tomcat-jdbc |
Limite máximo de conexões. Este é um valor definido estaticamente e geralmente constante. |
|
|
c3p0, HikariCP, Jedis, tomcat-dbcp, tomcat-jdbc |
Total de solicitações de conexão pendentes. |
Versões do agente anteriores à 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 |
|