您可以通過線程池和串連池監控功能監控具體應用所使用的線程池或串連池的各項指標,包括核心線程數量、當前線程數量、最大線程數量、活躍線程數量、任務隊列容量。
前提條件
僅專家版支援線程池和串連池監控功能。
開啟線程池和串連池監控
2.7.1.3之前版本的Agent暫不支援線程池和串連池監控,請先升級Agent至2.7.1.3或以上版本。具體操作,請參見升級ARMS探針。
2.7.3.5及以上版本Agent預設已開啟線程池和串連池監控。
2.7.1.3及以上版本的Agent請執行以下操作手動開啟。
登入ARMS控制台,在左側導覽列選擇 。
在應用列表頁面頂部選擇目標地區,然後單擊目標應用程式名稱。
說明語言列的表徵圖含義如下:
:接入應用監控的Java應用。
:接入應用監控的Golang應用。
-:接入Managed Service for OpenTelemetry的應用。
在左側導覽列單擊應用設定。
在自訂配置頁簽下的進階設定地區,開啟線程池監控的開關。
查看線程池和串連池監控指標
開啟線程池和串連池監控功能後,您可以在應用詳情的線程池監控和串連池監控頁簽查看各項監控指標。
線程池支援的架構
4.1.x及以上探針版本
支援架構:
java.util.ThreadPoolExecutor:一般用於Tomcat8~9.1、Dubbo、HSF、Vertx以及使用者自訂線程池。
org.apache.tomcat.util.threads.ThreadPoolExecutor:一般用於Tomcat9.1+。
org.eclipse.jetty.util.thread.QueuedThreadPool:一般用於Jetty。
org.xnio.XnioWorker:一般用於Undertow。
採集的指標如下:
指標名 | 支援架構 | 指標描述 |
arms_thread_pool_core_pool_size |
| 核心線程數,一般是靜態配置,不會改變。 |
arms_thread_pool_max_pool_size |
| 最大空閑串連數,一般是靜態配置,不會改變。 |
arms_thread_pool_active_thread_count |
| 活躍線程數,即當前正在執行任務的線程。 |
arms_thread_pool_current_thread_count |
| 當前線程數,包含活躍線程數和當前正在等待任務的線程數。 |
arms_thread_pool_max_thread_count |
| 線程池歷史最大線程數。 |
arms_thread_pool_scheduled_task_count |
| 線程池調度任務數。 |
arms_thread_pool_completed_task_count |
| 線程池執行完成任務數。 |
arms_thread_pool_rejected_task_count |
| 線程池拒絕任務數。 |
arms_thread_pool_queue_size |
| 線程池任務隊列大小。 |
4.1.x以下探針版本
線程池監控支援Tomcat、HSF、Dubbo、Vert.x和Undertow架構,其中,3.1.x及以下版本探針支援Undertow1.x~Undertow2.0.x版本線程池監控,3.2.x及以上版本探針支援Undertow所有版本線程池監控。
採集的指標如下:
指標名稱 | 指標 |
線程池核心線程數 | arms_threadpool_core_size |
線程池最大線程數 | arms_threadpool_max_size |
線程池活躍線程數 | arms_threadpool_active_size |
線程池隊列大小 | arms_threadpool_queue_size |
線程池當前大小 | arms_threadpool_current_size |
線程池監控支援SchedulerX架構,採集的指標如下:
指標名稱 | 指標 |
線程池活躍線程數 | arms_threadpool_active_size |
串連池支援的架構
4.1.x及以上探針版本
支援架構:DBCP(>2.0)、Vibur DBCP(>11.0)、c3p0(>0.9.2)、Druid、HikariCP(>3.0)、Jedis(>3.0)、Lettuce(>5.0)、Redisson(>3.0)。
採集的指標如下:
指標名 | 支援架構 | 指標描述 |
arms_connection_pool_connection_count | DBCP、c3p0、Vibur DBCP、Druid、Hikaricp、Jedis、Lettuce、Redisson | 串連數,可通過State區分Active和Idle串連數。 |
arms_connection_pool_connection_min_idle_count | DBCP、Jedis、Druid、HikariCP、Lettuce | 最小空閑串連數,一般是靜態配置,不會改變。 |
arms_connection_pool_connection_max_idle_count | DBCP、Jedis、Druid、Lettuce、 | 最大空閑串連數,一般是靜態配置,不會改變。 |
arms_connection_pool_connection_max_count | DBCP、Druid、Vibur DBCP、HikariCP | 最大串連數,一般是靜態配置,不會改變。 |
arms_connection_pool_pending_request_count | c3p0、HikariCP、Jedis | 阻塞的串連請求數。 |
4.1.x以下探針版本
串連池監控支援okHttp2、okHttp3架構,採集的指標如下:
指標名稱 | 指標 |
串連池活躍串連數 | arms_threadpool_active_size |
串連池當前串連數 | arms_threadpool_current_size |
串連池監控支援Apache HTTPClient架構,採集的指標如下:
指標名稱 | 指標 |
串連池當前串連數 | arms_threadpool_current_size |
串連池最大串連數 | arms_threadpool_max_size |
串連池等待隊列數 | arms_threadpool_queue_size |
串連池監控支援Druid架構,採集的指標如下:
指標名稱 | 指標 |
串連池活躍串連數 | arms_threadpool_active_size |
串連池最大串連數 | arms_threadpool_max_size |
串連池監控支援Hikaricp架構,採集的指標如下:
指標名稱 | 指標 |
串連池活躍串連數 | arms_threadpool_active_size |
串連池最大串連數 | arms_threadpool_max_size |