Docs » Splunk Observability Cloud でサポートされているインテグレーション » バックエンドアプリケーションをインストルメンテーションして、スパンを Splunk APM に送信する » Splunk Observability Cloud 用 Java アプリケーションのインストルメンテーション » Splunk Distribution of OpenTelemetry Java 1.x (非推奨) » Splunk OTel Javaエージェント1.xが収集するメトリクス(非推奨)

注意

Splunk Distribution of OpenTelemetry Javaは、2024年6月25日をもって非推奨となり、2025年6月30日にサポート終了となります。それまでは、重要なセキュリティ修正とバグ修正のみが提供されます。

新規のお客様は、Splunk Distribution of OpenTelemetry Java の最新バージョンをご利用ください。既存のお客様は、2.5.0以上への移行をご検討ください。移行方法については、OpenTelemetry Java 2.xメトリクスの移行ガイド を参照してください。

Splunk OTel Javaエージェント1.xが収集するメトリクス(非推奨) 🔗

Splunk Distribution of OpenTelemetry Java 1.xのエージェントは、アップストリームのOpenTelemetryエージェントが収集するすべてのものに加えて、以下のアプリケーションメトリクスのデータと属性を収集します。メトリクスの種類については、メトリクスタイプ を参照してください。

注釈

OpenTelemetryのネイティブメトリクスから移行するには、OpenTelemetry Java 2.xメトリクスの移行ガイド を参照してください。

アプリケーション・メトリクス 🔗

Splunk Distribution of OpenTelemetry Java 1.xのエージェントは、以下のアプリケーションメトリクスを収集します。

デフォルトのメトリクス ディメンション 🔗

以下のディメンションは、エージェントによってエクスポートされるすべてのメトリクスに自動的に追加されます:

ディメンション

説明

deployment.environment

存在する場合は、deployment.environment リソース属性の値。

runtime

process.runtime.name リソース属性の値、例えば OpenJDK Runtime Environment

process.pid

Javaプロセス識別子(PID)。

container.id

該当する場合、コンテナの識別子。

host.name

ホストの名前。

service

service.name リソース属性の値。

対応ライブラリ 🔗

エージェントは、以下のライブラリを通じて以下のメトリクスを収集します:

ライブラリ/フレームワーク

インストルメンテーション

対応バージョン

JVMメトリクス

jvm-metrics-splunk

Javaランタイムバージョン8以上

Apache DBCP2 接続プールのメトリクス

commons-dbcp2-splunk

バージョン2.0以上

c3p0接続プールのメトリクス

c3p0-splunk

バージョン0.9.5以上

HikariCP接続プールのメトリクス

hikaricp-splunk

バージョン3.0以上

Oracle Universal Connection Poolメトリクス(UCP)

oracle-ucp-splunk

バージョン11.2.0.4以上

TomcatのJDBC接続プールのメトリクス

tomcat-jdbc-splunk

バージョン8.5以上

Vibur DBCP 接続プールのメトリクス

vibur-dbcp-splunk

バージョン20.0以上

Tomcatスレッドプールのメトリクス

tomcat

バージョン8.5以上

WebSphere Libertyスレッドプールのメトリクス

liberty

バージョン20.0.0.12

WebLogicスレッドプールのメトリクス

weblogic

バージョン12.xおよび14.x

JVMメトリクス 🔗

Splunk OTel Javaエージェント1.xは、メトリクス収集が有効になっている場合、以下のJava仮想マシン (JVM) メトリクスを収集します:

クラスローダーのメトリクス 🔗

エージェントは、以下の ClassLoader メトリクスを収集します:

メトリクス

タイプ

説明

runtime.jvm.classes.loaded

ゲージ

ロードされたクラスの数。

runtime.jvm.classes.unloaded

カウンター

プロセスが開始してからアンロードされたクラスの総数。

ガベージコレクション・メトリクス 🔗

エージェントは、以下のガベージ・コレクション(GC)メトリクスを収集します:

メトリクス

タイプ

説明

runtime.jvm.gc.concurrent.phase.time

タイマー

コンカレント・フェーズに費やされた時間(ミリ秒単位)。

runtime.jvm.gc.live.data.size

ゲージ

再利用後の長寿命ヒープメモリプールのサイズ(バイト単位)。

runtime.jvm.gc.max.data.size

ゲージ

長寿命ヒープメモリプールの最大サイズ(バイト単位)。

runtime.jvm.gc.memory.allocated

カウンター

あるガベージコレクションの後、次のガベージコレクションの前に、若いヒープメモリプールのサイズが増加します。

runtime.jvm.gc.memory.promoted

カウンター

ガベージコレクション前からガベージコレクション後にかけて、旧世代のメモリプールのサイズが正方向に増加した数。

runtime.jvm.gc.pause

タイマー

ガベージコレクションの一時停止に費やされた時間、単位は秒。runtime.jvm.gc.pause.avgruntime.jvm.gc.pause.countruntime.jvm.gc.pause.maxruntime.jvm.gc.pause.totalTime のような複数の集約を生成します。

ヒープ圧力メトリクス 🔗

エージェントは以下のヒープ圧のメトリクスを収集します:

メトリクス

タイプ

説明

runtime.jvm.gc.overhead

ゲージ

直近のルックバック期間またはモニタリング開始以降のいずれか短い期間において、GCP アクティビティが使用した CPU 時間の割合の近似値。[0..1] の範囲。

runtime.jvm.memory.usage.after.gc

ゲージ

直近の GC イベント後に使用された長寿命ヒーププールの割合。[0..1] の範囲。

メモリ・メトリクス 🔗

エージェントは以下のメモリ・メトリクスを収集します:

メトリクス

タイプ

説明

process.runtime.jvm.memory.allocated

カウンター

前のデータポイントが発行されてから、JVMスレッドによって割り当てられたバイト数の合計。
  • 1秒あたりのレートをロールアップします。

  • メモリ・プロファイリングを有効にするか、splunk.metrics.experimental.enabled フラグを使用する必要があります。

process.runtime.jvm.memory.reclaimed

カウンター

前のデータポイントが発行されて以来、GC によって再生されたバイト数の合計。備考:
  • このメトリクスは、ShenandoahやZGCのような同時実行ガベージコレクタでは不正確になる可能性があります。

  • 1秒あたりのレートをロールアップします。

  • メモリ・プロファイリングを有効にするか、splunk.metrics.experimental.enabled フラグを使用する必要があります。

runtime.jvm.buffer.count

ゲージ

プール内のバッファ数の推定値。

runtime.jvm.buffer.memory.used

ゲージ

JVMがこのバッファ・プールに使用しているメモリの推定値(バイト単位)。

runtime.jvm.buffer.total.capacity

ゲージ

このプール内のバッファの総容量の見積もり(バイト単位)。

runtime.jvm.memory.committed

ゲージ

JVMが利用可能なメモリ量(バイト単位)。

runtime.jvm.memory.max

ゲージ

メモリ管理で使用可能なメモリの最大量(バイト単位)。

runtime.jvm.memory.used

ゲージ

使用メモリ量(バイト)。

すべてのメモリプールメトリクスは、以下のタグを共有しています:

タグ

area

heap または nonheap

id

メモリプールの名前。例えば Perm Gen

スレッドメトリクス 🔗

エージェントは、以下のスレッド・メトリクスを収集します:

メトリクス

タイプ

説明

runtime.jvm.threads.daemon

ゲージ

デーモンスレッドの数。

runtime.jvm.threads.live

ゲージ

デーモン・スレッドとノンデーモン・スレッドの両方を含む、ライブ・スレッド数。

runtime.jvm.threads.peak

ゲージ

JVMの開始またはピークがリセットされてからのピーク・ライブ・スレッド数。

runtime.jvm.threads.states

ゲージ

state 、メトリクスタグとしてのスレッド数。

接続プールのメトリクス 🔗

Splunk Distribution of OpenTelemetry Java 1.xは、いくつかの Java Database Connectivity (JDBC) 接続プールの実装をインストルメンテーションしています:

  • Apache DBCP2

  • c3p0

  • HikariCP

  • Oracle Universal Connection Pool (UCP)

  • Tomcat JDBC

  • Vibur DBCP

  • WebSphere Liberty

  • WebLogicスレッドプール

各接続プールでは、以下のメトリクスのサブセットがレポートされます:

メトリクス

タイプ

説明

db.pool.connections

ゲージ

オープン接続の数。

db.pool.connections.active

ゲージ

使用中のオープン接続の数。

db.pool.connections.idle

ゲージ

アイドル状態のオープン接続の数。

db.pool.connections.idle.max

ゲージ

アイドルオープン接続の最大許容数。

db.pool.connections.idle.min

ゲージ

アイドルオープン接続の最小許容数。

db.pool.connections.max

ゲージ

オープン接続の最大許容数。

db.pool.connections.pending_threads

ゲージ

オープン接続を待機しているスレッド数。

db.pool.connections.timeouts

カウンター

アプリケーション起動後に発生した接続タイムアウトの数。

db.pool.connections.create_time

タイマー

新しい接続を作成するのにかかった時間。

db.pool.connections.wait_time

タイマー

プールからオープン接続を取得するのにかかった時間。

db.pool.connections.use_time

タイマー

コネクションを借りてからプールに返すまでの時間。

すべての接続プール・メトリクスは、以下のタグを共有しています:

タグ

pool.name

接続プールの名前。Springを使用している場合はSpringビーン名、そうでない場合はJMXオブジェクト名。

pool.type

接続プールのタイプまたは実装。例えば、c3p0dbcp2 、または hikari

スレッドプールのメトリクス 🔗

Splunk Distribution of OpenTelemetry Java 1.xは、以下のスレッドプール実装をインストルメンテーションしています:

  • Tomcatコネクタのスレッドプール

  • WebSphere Liberty Web リクエスト・スレッド・プール

  • Weblogicスレッドプール

サポートされている各接続プールでは、以下のメトリクスのサブセットがレポートされます:

メトリクス

タイプ

説明

executor.threads

タイマー

プール内のスレッド数。

executor.threads.active

タイマー

コードを実行しているスレッドの数。

executor.threads.idle

タイマー

コードを実行していないスレッドの数。

executor.threads.core

タイマー

コアのスレッドプールサイズ。常にプールに保持されるスレッド数で表されます。

executor.threads.max

タイマー

プール内の最大スレッド数。

executor.tasks.submitted

カウンター

実行者に提出されたタスクの総数。

executor.tasks.completed

カウンター

実行者が完了したタスクの総数。

すべてのスレッド・プール・メトリクスには以下のタグがあります:

タグ

executor.name

スレッドプールの名前。

executor.type

接続プールのタイプ/実装。例えば、tomcatliberty 、または weblogic

WebEngine 属性 🔗

Splunk Distribution of OpenTelemetry Java は、アプリケーションサーバーに関するデータを取得し、SERVER のスパンに以下の属性を追加します:

スパン属性

説明

webengine.name

アプリケーションサーバーの名前。例えば、tomcat

webengine.version

アプリケーションサーバーのバージョン。

サポートされているアプリケーションサーバーのリストについては、OpenTelemetry のドキュメント(https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/supported-libraries.md#application-servers)を参照してください。

このページは 2024年06月25日 に最終更新されました。