Docs » Splunk Observability Cloud でサポートされているインテグレーション » バックエンドアプリケーションをインストルメンテーションして、スパンを Splunk APM に送信する » Splunk Observability Cloud 用 Java アプリケーションのインストルメンテーション » Splunk OTel Java エージェントが収集したメトリクスと属性

Splunk OTel Java エージェントが収集したメトリクスと属性 🔗

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

注意

OpenTelemetry Java Instrumentation 2.xは、最近のOpenTelemetry HTTPセマンティック規約の更新の一部として導入された、一連の変更を含んでいます。移行するには、OpenTelemetry Java 2.xメトリクスの移行ガイド を参照してください。

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

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

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

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

ディメンション

説明

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以上

JVMメトリクス 🔗

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

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

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

メトリクス

タイプ

説明

jvm.class.count

UpDownカウンター

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

jvm.class.unloaded

カウンター

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

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

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

メトリクス

タイプ

説明

jvm.gc.duration{jvm.gc.name=<concurrent gcs>}

ヒストグラム

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

jvm.memory.allocated

カウンター

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

メモリ・メトリクス 🔗

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

メトリクス

タイプ

説明

jvm.memory.allocated

カウンター

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

jvm.buffer.count

UpDownカウンター

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

jvm.buffer.memory.usage

UpDownカウンター

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

jvm.buffer.memory.limit

UpDownカウンター

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

jvm.memory.committed

UpDownカウンター

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

jvm.memory.limit

UpDownカウンター

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

jvm.memory.used

UpDownカウンター

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

スレッドメトリクス 🔗

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

メトリクス

タイプ

説明

jvm.thread.count

UpDownカウンター

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

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

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

  • Apache DBCP2

  • c3p0

  • HikariCP

  • Oracle Universal Connection Pool (UCP)

  • Tomcat JDBC

  • Vibur DBCP

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

メトリクス

タイプ

説明

db.client.connections.usage[state=used]

ゲージ

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

db.client.connections.usage[state=idle]

ゲージ

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

db.client.connections.idle.max

ゲージ

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

db.client.connections.idle.min

ゲージ

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

db.client.connections.max

ゲージ

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

db.client.connections.pending_requests

ゲージ

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

db.client.connections.timeouts

カウンター

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

db.client.connections.create_time

ヒストグラム

新しい接続を作成するのにかかった時間(ミリ秒)。

db.client.connections.wait_time

ヒストグラム

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

db.client.connections.use_time

ヒストグラム

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

WebEngine 属性 🔗

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

スパン属性

説明

webengine.name

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

webengine.version

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

サポートされるアプリケーションサービスのリストについては、サポートされているライブラリとフレームワーク を参照してください。

新しいメトリクス名 🔗

以下の表は、OpenTelemetry Java 2.0以降にデフォルトで生成されるメトリクスと、バージョン1.xの旧バージョンでの相当メトリクスを示しています。

OTel Java 2.0のメトリクス

旧バージョン(1.x)のメトリクス

db.client.connections.create_time (ヒストグラム、ms)

db.pool.connections.create_time

db.client.connections.idle.max

db.pool.connections.idle.max

db.client.connections.idle.min

db.pool.connections.idle.min

db.client.connections.max

db.pool.connections.max

db.client.connections.pending_requests

db.pool.connections.pending_threads

db.client.connections.timeouts

db.pool.connections.timeouts

db.client.connections.usage[state=idle]

db.pool.connections.idle

db.client.connections.usage[state=used]

db.pool.connections.active

db.client.connections.use_time (ヒストグラム、ms)

db.pool.connections.use_time

db.client.connections.wait_time (ヒストグラム、ms)

db.pool.connections.wait_time

jvm.buffer.count

runtime.jvm.buffer.count

jvm.buffer.memory.limit

runtime.jvm.buffer.total.capacity

jvm.buffer.memory.usage

runtime.jvm.buffer.memory.used

jvm.class.count

runtime.jvm.classes.loaded

jvm.class.unloaded

runtime.jvm.classes.unloaded

jvm.gc.duration{jvm.gc.name=<concurrent gcs>} (ヒストグラム)|br| jvm.gc.action

runtime.jvm.gc.concurrent.phase.time

jvm.gc.duration{jvm.gc.name!=<concurrent gcs>}
jvm.gc.action

runtime.jvm.gc.pause

jvm.memory.allocated *

runtime.jvm.gc.memory.allocated
process.runtime.jvm.memory.allocated

jvm.memory.committed

runtime.jvm.memory.committed

jvm.memory.limit

runtime.jvm.memory.max

jvm.memory.limit{jvm.memory.pool.name=<long lived pools>}

runtime.jvm.gc.max.data.size

jvm.memory.used

runtime.jvm.memory.used

jvm.memory.used_after_last_gc{jvm.memory.pool.name=<long lived pools>}

runtime.jvm.gc.live.data.size

jvm.thread.count

runtime.jvm.threads.daemon
runtime.jvm.threads.live

* これは Splunk固有のメトリクスであり、アップストリームのセマンティック規約には存在しません。

注釈

前の表には、デフォルトで生成されるメトリクスが記載されています。アプリケーションサーバーのインスルトメンテーションなど、サポートされているメトリクスのインストルメンテーションによって、この他のメトリクスが生成される場合があります。

HTTPセマンティック規約の変更の詳細については、GitHubの HTTPセマンティック規約安定移行ガイド を参照してください。

メトリクスエクスポートを無効にする 🔗

Splunk Observability Cloudへのログのエクスポートをオフにするには、OTEL_METRICS_EXPORTER 環境変数または otel.metrics.exporter システムプロパティを none に設定します。

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