You can use the thread pool and connection pool monitoring feature to view metrics of the thread pool and connection pool of an application that is monitored by Application Real-Time Monitoring Service (ARMS). The provided metrics include the number of core threads, number of existing threads, maximum number of allowed threads, number of active threads, number of submitted tasks, and maximum number of tasks allowed in the task queue.
Prerequisites
Your application is monitored by ARMS. For more information, see Overview.
Only Application Monitoring Pro Edition supports the thread pool and connection pool monitoring feature.
Enable thread pool and connection pool monitoring
The ARMS agent earlier than V2.7.1.3 does not support thread pool and connection pool monitoring. Upgrade the agent version to 2.7.1.3 or later. For more information, see How do I update the ARMS agent for Java applications?
By default, thread pool and connection pool monitoring is enabled for the ARMS agent V2.7.3.5 and later.
If you are using the ARMS agent V2.7.1.3 or later, perform the following operations to manually enable thread pool and connection pool monitoring:
Log on to the ARMS console. In the left-side navigation pane, choose .
On the Applications page, select a region in the top navigation bar and click the name of the application that you want to manage.
NoteIf the icon is displayed in the Language column, the application is connected to Application Monitoring. If a hyphen (-) is displayed, the application is connected to Managed Service for OpenTelemetry .
In the left-side navigation pane, click Application Settings.
Click the Custom Configuration tab. On the Custom Configuration tab, turn on Thread pool, connection pool monitoring in the Advanced Settings section.
View monitoring metrics
After you enable the thread pool and connection pool monitoring feature, you can view the metrics on the Thread pool monitoring and Connection pool monitoring tabs of the Application Details page.
Frameworks supported by thread pool monitoring
Thread pool monitoring supports the following metrics collected from the Apache Tomcat, High-speed Service Framework (HSF), Apache Dubbo, Vert.x, and Undertow1.x frameworks.
Metric name | Metric |
Number of core threads in a thread pool | arms_threadpool_core_size |
Maximum number of threads in a thread pool | arms_threadpool_max_size |
Number of active threads in a thread pool | arms_threadpool_active_size |
Thread pool queue size | arms_threadpool_queue_size |
Current size of a thread pool | arms_threadpool_current_size |
Thread pool monitoring supports the following metrics collected from the SchedulerX framework.
Metric name | Metric |
Number of active threads in a thread pool | arms_threadpool_active_size |
Frameworks supported by connection pool monitoring
Connection pool monitoring supports the following metrics collected from the OkHttp2 and OkHttp3 frameworks.
Metric name | Metric |
Number of active connections in a connection pool | arms_threadpool_active_size |
Number of current connections in a connection pool | arms_threadpool_current_size |
Connection pool monitoring supports the following metrics collected from the Apache HttpClient framework.
Metric name | Metric |
Number of current connections in a connection pool | arms_threadpool_current_size |
Maximum number of connections in a connection pool | arms_threadpool_max_size |
Number of waiting queues in a connection pool | arms_threadpool_queue_size |
Connection pool monitoring supports the following metrics collected from the Apache Druid framework.
Metric name | Metric |
Number of active connections in a connection pool | arms_threadpool_active_size |
Maximum number of connections in a connection pool | arms_threadpool_max_size |
Connection pool monitoring supports the following metrics collected from the HikariCP framework.
Metric name | Metric |
Number of active connections in a connection pool | arms_threadpool_active_size |
Maximum number of connections in a connection pool | arms_threadpool_max_size |