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 contains a set of breaking changes, introduced as part of recent OpenTelemetry HTTP semantic convention updates. To migrate, see Migration guide for OpenTelemetry Java 2.x metrics.

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

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メトリクス 🔗

The Splunk OTel Java agent collects the following Java Virtual Machine (JVM) metrics when metric collection is activated.

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

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

メトリクス

タイプ

説明

jvm.class.count

ゲージ

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

jvm.class.unloaded

カウンター

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

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

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

メトリクス

タイプ

説明

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

ヒストグラム

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

jvm.memory.allocated

カウンター

Increase in the size of the young heap memory pool after 1 garbage collection and before the next.

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

タイマー

Time spent in garbage collection pause, in seconds.

メモリ・メトリクス 🔗

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

メトリクス

タイプ

説明

jvm.memory.allocated

カウンター

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

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

process.runtime.jvm.memory.reclaimed

カウンター

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

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

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

jvm.buffer.count

ゲージ

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

jvm.buffer.memory.usage

ゲージ

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

jvm.buffer.memory.limit

ゲージ

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

jvm.memory.committed

ゲージ

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

jvm.memory.limit

ゲージ

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

jvm.memory.used

ゲージ

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

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

タグ

area

heap または nonheap

id

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

スレッドメトリクス 🔗

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

メトリクス

タイプ

説明

jvm.threads.count

ゲージ

Number of live threads, including daemon and nondaemon threads.

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

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

  • Apache DBCP2

  • c3p0

  • HikariCP

  • Oracle Universal Connection Pool (UCP)

  • Tomcat JDBC

  • Vibur DBCP

  • WebSphere Liberty

  • WebLogicスレッドプール

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

メトリクス

タイプ

説明

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

ゲージ

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

db.client.connections.usage[state=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

ヒストグラム

Time it took to create a new connection, in milliseconds.

db.pool.connections.wait_time

ヒストグラム

Time it took to get an open connection from the pool, in milliseconds.

db.pool.connections.use_time

ヒストグラム

Time between borrowing a connection and returning it to the pool, in milliseconds.

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

タグ

pool.name

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

pool.type

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

WebEngine 属性 🔗

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

スパン属性

説明

webengine.name

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

webengine.version

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

For a list of supported application servers, see the サポートされているライブラリとフレームワーク.

New metric names 🔗

The following table shows the metrics produced by default by OpenTelemetry Java 2.0 and higher, together with their legacy equivalent from version 1.x.

OTel Java 2.0 metric

Legacy metric (1.x)

db.client.connections.create_time (Histogram, 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 (Histogram, ms)

db.pool.connections.use_time

db.client.connections.wait_time (Histogram, 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>} (Histogram)
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

* This is a Splunk specific metric and it’s not present in the upstream semantic conventions.

注釈

The previous table contains metrics generated by default. Additional metrics might be emitted by supported metrics instrumentation, for example when instrumenting application servers.

For more information on the HTTP semantic convention changes, see HTTP semantic convention stability migration guide on GitHub.

Deactivate metrics export 🔗

To turn off logs export to Splunk Observability Cloud, set the OTEL_METRICS_EXPORTER environment variable or the otel.metrics.exporter system property to none.

This page was last updated on 2024年06月04日.