スレッドプールおよび接続プールのモニタリング機能を使用すると、ご利用のアプリケーションのスレッドプールおよび接続プールに関する主要なメトリクスを監視できます。これらのメトリクスには、コアスレッド数、現在のスレッド数、最大スレッド数、アクティブスレッド数、タスクキューのサイズが含まれます。
前提条件
アプリケーションを Application Monitoring に接続します。
スレッドプールおよび接続プールのモニタリング機能は、Application Monitoring の Pro Edition のみで利用可能です。
スレッドプールおよび接続プールのモニタリングの有効化
バージョン 2.7.1.3 より前のエージェントでは、スレッドプールおよび接続プールのモニタリングがサポートされていません。エージェントをバージョン 2.7.1.3 以降にアップグレードする必要があります。詳細については、「ARMS エージェントのアップグレード」をご参照ください。
-
エージェントバージョン 2.7.3.5 以降では、スレッドプールおよび接続プールのモニタリングがデフォルトで有効になります。
-
エージェントバージョン 2.7.1.3 ~ 2.7.3.4 の場合は、以下の手順に従ってこの機能を手動で有効にしてください。
-
ARMS コンソールにログインします。ARMS コンソール。左側のナビゲーションウィンドウで、 を選択します。
-
左側のナビゲーションウィンドウで、アプリケーションの設定 をクリックします。
-
カスタム設定 タブの プールモニタリング設定 セクションで、スレッドプール・接続プールモニタリング スイッチをオンにします。
スレッドプールおよび接続プールのメトリクスの表示
この機能を有効化した後、アプリケーション詳細 ページの スレッドプールの監視 タブおよび 接続プールの監視 タブで監視メトリクスを確認できます。
図 1. スレッドプールモニタリング
図 2. 接続プールモニタリング
スレッドプールでサポートされるフレームワーク
エージェントバージョン 4.1.x 以降
サポートされるフレームワーク:
-
java.util.ThreadPoolExecutor:通常、Tomcat 8 ~ 9.1、Dubbo、HSF、Vert.x、およびユーザー定義のスレッドプールで使用されます。 -
org.apache.tomcat.util.threads.ThreadPoolExecutor:通常、Tomcat 9.1 以降で使用されます。 -
org.eclipse.jetty.util.thread.QueuedThreadPool:通常、Jetty で使用されます。 -
org.xnio.XnioWorker:通常、Undertow で使用されます。
収集されるメトリクスは次のとおりです。
|
メトリック名 |
サポート対象フレームワーク |
説明 |
|
|
|
コアスレッド数。これは静的構成であり、通常は変更されません。 |
|
|
|
最大スレッド数。これは静的構成であり、通常は変更されません。 |
|
|
|
現在タスクを実行中のスレッド数。 |
|
|
|
現在のスレッド数(アクティブスレッドとタスクを待機中のアイドルスレッドを含む)。 |
|
|
|
スレッドプール内で記録されたスレッド数の最大値。 |
|
|
|
実行のためにスケジュールされたタスクの総数。 |
|
|
|
実行を完了したタスクの総数。 |
|
|
|
スレッドプールによって拒否されたタスクの総数。 |
|
|
|
キュー内で待機中のタスクの現在の数。 |
エージェントバージョン 4.1.x より前
スレッドプールモニタリングは、Tomcat、HSF、Dubbo、Vert.x、および Undertow フレームワークをサポートしています。Undertow については、エージェントバージョン 3.1.x 以前は Undertow 1.x ~ 2.0.x をサポートし、エージェントバージョン 3.2.x 以降はすべてのバージョンの Undertow をサポートします。
収集されるメトリクスは次のとおりです。
|
メトリック名 |
メトリック |
|
コアスレッド数 |
|
|
最大スレッド数 |
|
|
アクティブスレッド数 |
|
|
キューのサイズ |
|
|
現在のスレッド数 |
|
SchedulerX フレームワークについては、次のメトリックが収集されます。
|
メトリック名 |
メトリック |
|
アクティブスレッド数 |
|
接続プールでサポートされるフレームワーク
エージェントバージョン 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)、tomcat-dbcp (>8.0)、および tomcat-jdbc (>8.0)。
収集されるメトリクスは次のとおりです。
|
メトリック名 |
サポート対象フレームワーク |
説明 |
|
|
DBCP、c3p0、Vibur DBCP、Druid、HikariCP、Jedis、Lettuce、Redisson、tomcat-dbcp、tomcat-jdbc |
接続数。状態によってアクティブ接続とアイドル接続を区別できます。 |
|
|
DBCP、Jedis、Druid、HikariCP、Lettuce、tomcat-dbcp、tomcat-jdbc |
アイドル接続の最小数。これは静的構成であり、通常は変更されません。 |
|
|
DBCP、Jedis、Druid、Lettuce、tomcat-dbcp、tomcat-jdbc |
アイドル接続の最大数。これは静的構成であり、通常は変更されません。 |
|
|
DBCP、Druid、Vibur DBCP、HikariCP、tomcat-dbcp、tomcat-jdbc |
最大接続数。これは静的構成であり、通常は変更されません。 |
|
|
c3p0、HikariCP、Jedis、tomcat-dbcp、tomcat-jdbc |
保留中の接続リクエスト数。 |
エージェントバージョン 4.1.x より前
OkHttp2 および OkHttp3 については、次のメトリクスが収集されます。
|
メトリック名 |
メトリック |
|
アクティブ接続数 |
|
|
現在の接続数 |
|
Apache HttpClient については、次のメトリクスが収集されます。
|
メトリック名 |
メトリック |
|
現在の接続数 |
|
|
最大接続数 |
|
|
待機キューのサイズ |
|
Druid については、次のメトリクスが収集されます。
|
メトリック名 |
メトリック |
|
アクティブ接続数 |
|
|
最大接続数 |
|
HikariCP については、次のメトリクスが収集されます。
|
メトリック名 |
メトリック |
|
アクティブ接続数 |
|
|
最大接続数 |
|