すべてのプロダクト
Search
ドキュメントセンター

Application Real-Time Monitoring Service:スレッドプールと接続プールのモニタリング

最終更新日:Mar 11, 2026

スレッドプールと接続プールの設定が不適切であったり、枯渇したりすると、リクエストのタイムアウト、接続リーク、カスケード障害が発生します。Application Real-Time Monitoring Service (ARMS) のスレッドプールと接続プールのモニタリング機能は、Java アプリケーションからリアルタイムでメトリックを収集し、以下のことを可能にします:

  • リクエストのタイムアウトが発生する前に、スレッドプールの飽和を検出します。

  • アクティブ接続とアイドル接続の比率を追跡することで、接続リークを特定します。

  • 実際の使用状況データに基づいて、プールの設定を適正化します。

ARMS は、Tomcat、Dubbo、Jetty、Undertow、HikariCP、Druid などの一般的なフレームワークからメトリックを収集します。

重要

この機能は、アプリケーションモニタリング Pro Edition のみでサポートされています。

事前準備

ご利用のアプリケーションが ARMS によってモニタリングされていることを確認してください。詳細については、「概要」をご参照ください。

バージョンの互換性

ARMS エージェントのバージョンスレッドプールおよび接続プールのモニタリング必要な操作
V2.7.3.5 以降デフォルトで有効なし
V2.7.1.3 ~ V2.7.3.4対応済み(手動での有効化が必要)モニタリングを手動で有効化
V2.7.1.3 より前非対応ARMS エージェントを V2.7.1.3 以降に更新

モニタリングの手動有効化

ARMS エージェントのバージョンが V2.7.3.5 以降の場合、モニタリングはすでに有効になっています。このセクションはスキップしてください。

ARMS エージェント V2.7.1.3 から V2.7.3.4 の場合:

  1. ARMS コンソールにログインします。左側のナビゲーションウィンドウで、[アプリケーションモニタリング] > [アプリケーションリスト] を選択します。

  2. [アプリケーションリスト] ページで、上部のナビゲーションバーでリージョンを選択し、アプリケーションの名前をクリックします。

    [言語] 列のアイコンは、プログラミング言語を示します: - Java图标: Java - image: Go - image: Python - - (ハイフン): OpenTelemetry 向けマネージドサービスでモニタリングされるアプリケーション
  3. 左側のナビゲーションウィンドウで、[アプリケーション設定] をクリックします。

  4. [カスタム設定] タブをクリックします。[プールモニタリング設定] セクションで、[スレッドプール、接続プールのモニタリング] をオンにします。

モニタリングデータの表示

ご利用のアプリケーションの [アプリケーション詳細] ページを開きます。モニタリングデータは、次の 2 つのタブで確認できます:

  • [スレッドプールモニタリング]: プールごとのスレッドメトリック (コアサイズ、アクティブ数、キューの深さなど) を表示します。

    Thread pool monitoring

  • [接続プールモニタリング]: プールごとの接続メトリック (合計接続数、アイドル接続数、保留中のリクエストなど) を表示します。

    Connection pool monitoring

サポートされるフレームワークとメトリック

スレッドプールフレームワーク

ARMS エージェント V4.1.x 以降

次の表に、ARMS エージェントがインスツルメントする Java クラスと、それに対応するフレームワークを示します。

Java クラスフレームワーク
java.util.ThreadPoolExecutorApache Tomcat 8 から 9.1、Apache Dubbo、HSF (High-speed Service Framework)、Vert.x、およびユーザー定義のスレッドプール
org.apache.tomcat.util.threads.ThreadPoolExecutorTomcat 9.1+
org.eclipse.jetty.util.thread.QueuedThreadPoolJetty
org.xnio.XnioWorkerUndertow

スレッドプールのメトリック (V4.1.x 以降)

メトリック説明サポートされるフレームワーク
arms_thread_pool_core_pool_sizeコアスレッド数。設定値であり、ランタイムには変更されません。ThreadPoolExecutor (JDK)、ThreadPoolExecutor (Tomcat 9.1+)、XnioWorker、QueuedThreadPool
arms_thread_pool_max_pool_size最大スレッド数。設定値であり、ランタイムには変更されません。ThreadPoolExecutor (JDK)、ThreadPoolExecutor (Tomcat 9.1+)、XnioWorker、QueuedThreadPool
arms_thread_pool_active_thread_count現在タスクを実行中のスレッド。ThreadPoolExecutor (JDK)、ThreadPoolExecutor (Tomcat 9.1+)、XnioWorker、QueuedThreadPool
arms_thread_pool_current_thread_countアクティブスレッドとアイドルスレッドの両方を含む、現在のスレッド数。ThreadPoolExecutor (JDK)、ThreadPoolExecutor (Tomcat 9.1+)、QueuedThreadPool
arms_thread_pool_max_thread_countプール作成後のピークスレッド数。ThreadPoolExecutor (JDK)、ThreadPoolExecutor (Tomcat 9.1+)
arms_thread_pool_scheduled_task_countプールに送信された合計タスク数。ThreadPoolExecutor (JDK)、ThreadPoolExecutor (Tomcat 9.1+)
arms_thread_pool_completed_task_count実行が完了した合計タスク数。ThreadPoolExecutor (JDK)、ThreadPoolExecutor (Tomcat 9.1+)
arms_thread_pool_rejected_task_countプールによって拒否された合計タスク数。この数が増加している場合は、プールの飽和を示します。ThreadPoolExecutor (JDK)、ThreadPoolExecutor (Tomcat 9.1+)、QueuedThreadPool
arms_thread_pool_queue_size現在のタスクキューの深さ。ThreadPoolExecutor (JDK)、ThreadPoolExecutor (Tomcat 9.1+)、XnioWorker、QueuedThreadPool

ARMS エージェント V4.1.x より前

V4.1.x より前のエージェントバージョンは、Apache Tomcat、HSF、Apache Dubbo、Vert.x、Undertow の各フレームワークのスレッドプールモニタリングをサポートしています。

説明

エージェント V3.1.x 以前は Undertow V1.x および V2.x のみをサポートします。エージェント V3.2.x 以降はすべての Undertow バージョンをサポートします。

スレッドプールのメトリック (V4.1.x より前)

メトリック説明
arms_threadpool_core_sizeコアスレッド数
arms_threadpool_max_size最大スレッド数
arms_threadpool_active_sizeアクティブスレッド数
arms_threadpool_queue_sizeタスクキューサイズ
arms_threadpool_current_size現在のスレッド数

SchedulerX フレームワークもサポートされており、1 つのメトリックが収集されます:

メトリック説明
arms_threadpool_active_sizeアクティブスレッド数

接続プールフレームワーク

ARMS エージェント V4.1.x 以降

フレームワーク最小バージョン
DBCP2.0
Vibur DBCP11.0
c3p00.9.2
Apache Druidすべてのバージョン
HikariCP3.0
Jedis3.0
Lettuce5.0
Redisson3.0
Tomcat DBCP8.0
Tomcat JDBC8.0

接続プールのメトリック (V4.1.x 以降)

メトリック説明サポートされるフレームワーク
arms_connection_pool_connection_countアクティブ接続とアイドル接続を含む合計接続数。DBCP、c3p0、Vibur DBCP、Druid、HikariCP、Jedis、Lettuce、Redisson、Tomcat DBCP、Tomcat JDBC
arms_connection_pool_connection_min_idle_count最小アイドル接続数。設定値であり、ランタイムには変更されません。DBCP、Jedis、Druid、HikariCP、Lettuce、Tomcat DBCP、Tomcat JDBC
arms_connection_pool_connection_max_idle_count最大アイドル接続数。設定値であり、ランタイムには変更されません。DBCP、Jedis、Druid、Lettuce、Tomcat DBCP、Tomcat JDBC
arms_connection_pool_connection_max_count最大接続数。設定値であり、ランタイムには変更されません。DBCP、Druid、Vibur DBCP、HikariCP、Tomcat DBCP、Tomcat JDBC
arms_connection_pool_pending_request_count利用可能な接続を待機している、ブロックされた接続リクエスト。c3p0、HikariCP、Jedis、Tomcat DBCP、Tomcat JDBC

ARMS エージェント V4.1.x より前

V4.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保留中のリクエストキューのサイズ

Apache Druid

メトリック説明
arms_threadpool_active_sizeアクティブ接続数
arms_threadpool_max_size最大接続数

HikariCP

メトリック説明
arms_threadpool_active_sizeアクティブ接続数
arms_threadpool_max_size最大接続数