スレッドプールと接続プールの監視機能を使用すると、Application Real-Time Monitoring Service (ARMS) によって監視されているアプリケーションのスレッドプールと接続プールのメトリクスを表示できます。提供されるメトリクスには、コア スレッド数、既存スレッド数、許可される最大スレッド数、アクティブ スレッド数、送信されたタスク数、タスクキューで許可される最大タスク数が含まれます。
前提条件
お使いのアプリケーションは ARMS によって監視されています。詳細については、概要 を参照してください。
アプリケーション監視プロフェッショナル版のみが、スレッドプールと接続プールの監視機能をサポートしています。
スレッドプールと接続プールの監視を有効にする
V2.7.1.3 より前の ARMS エージェントは、スレッドプールと接続プールの監視をサポートしていません。エージェントのバージョンを 2.7.1.3 以降にアップグレードしてください。詳細については、ARMS エージェントの更新 を参照してください。
デフォルトでは、スレッドプールと接続プールの監視は、ARMS エージェント V2.7.3.5 以降で有効になっています。
ARMS エージェント V2.7.1.3 以降を使用している場合は、次の操作を実行して、スレッドプールと接続プールの監視を手動で有効にします。
ARMS console にログインします。左側のナビゲーションペインで、 を選択します。
アプリケーション一覧 ページで、上部のナビゲーションバーでリージョンを選択し、管理するアプリケーションの名前をクリックします。
説明言語 列に表示されるアイコンは、アプリケーションが記述されている言語を示します。
:Java アプリケーション
:Go アプリケーション
:Python アプリケーション
ハイフン(-):Managed Service for OpenTelemetry で監視されているアプリケーション。
左側のナビゲーションペインで、アプリケーション設定 をクリックします。
カスタム設定 タブをクリックします。プール監視設定 セクションで、スレッドプール、接続プール監視 をオンにします。
メトリクスの表示
スレッドプールと接続プールの監視機能を有効にすると、アプリケーションの詳細 ページの スレッドプール監視 タブと 接続プール監視 タブでメトリクスを表示できます。
スレッドプール監視でサポートされているフレームワーク
ARMS エージェント V4.1.x 以降
ARMS エージェント V4.1.x 以降は、次のフレームワークをサポートしています。
java.util.ThreadPoolExecutor: Apache Tomcat 8 ~ 9.1、Apache Dubbo、High-speed Service Framework (HSF)、Vert.x、およびユーザー定義のスレッドプール。
org.apache.tomcat.util.threads.ThreadPoolExecutor: Tomcat 9.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 |
| スレッドプールのタスクキューのサイズ。 |
ARMS エージェント V4.1.x より前
V4.1.x より前の ARMS エージェントは、Apache Tomcat、HSF、Apache Dubbo、Vert.x、および Undertow フレームワークをサポートしています。ARMS エージェントバージョンの中で、V3.1.x 以前は Undertow V1.x および V2.x をサポートしていますが、V3.2.x 以降はすべての Undertow バージョンをサポートしています。
以下のメトリクスが収集されます。
メトリクスの説明 | メトリクス名 |
スレッドプールのコア スレッド数 | arms_threadpool_core_size |
スレッドプールの最大スレッド数 | arms_threadpool_max_size |
スレッドプールのアクティブ スレッド数 | arms_threadpool_active_size |
スレッドプールキューサイズ | arms_threadpool_queue_size |
スレッドプールの現在のサイズ | arms_threadpool_current_size |
V4.1.x より前の ARMS エージェントは、SchedulerX フレームワークをサポートしています。以下のメトリクスが収集されます。
メトリクスの説明 | メトリクス名 |
スレッドプールのアクティブ スレッド数 | arms_threadpool_active_size |
接続プール監視でサポートされているフレームワーク
ARMS エージェント V4.1.x 以降
ARMS エージェント V4.1.x 以降は、次のフレームワークをサポートしています。DBCP ( > 2.0)、Vibur DBCP ( > 11.0)、c3p0 ( > 0.9.2)、Apache 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 | 接続数。接続には、アクティブとアイドルの 2 つの状態があります。 |
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 | ブロックされた接続リクエストの数。 |
ARMS エージェント V4.1.x より前
V4.1.x より前の ARMS エージェントは、OkHttp2 および OkHttp3 フレームワークをサポートしています。以下のメトリクスが収集されます。
メトリクスの説明 | メトリクス名 |
接続プールのアクティブ接続数 | arms_threadpool_active_size |
接続プールの現在の接続数 | arms_threadpool_current_size |
V4.1.x より前の ARMS エージェントは、Apache HttpClient フレームワークをサポートしています。以下のメトリクスが収集されます。
メトリクスの説明 | メトリクス名 |
接続プールの現在の接続数 | arms_threadpool_current_size |
接続プールの最大接続数 | arms_threadpool_max_size |
接続プールの待機キューの数 | arms_threadpool_queue_size |
V4.1.x より前の ARMS エージェントは、Apache Druid フレームワークをサポートしています。以下のメトリクスが収集されます。
メトリクスの説明 | メトリクス名 |
接続プールのアクティブ接続数 | arms_threadpool_active_size |
接続プールの最大接続数 | arms_threadpool_max_size |
V4.1.x より前の ARMS エージェントは、HikariCP フレームワークをサポートしています。以下のメトリクスが収集されます。
メトリクスの説明 | メトリクス名 |
接続プールのアクティブ接続数 | arms_threadpool_active_size |
接続プールの最大接続数 | arms_threadpool_max_size |