API による計装の拡張

OpenTelemetry API を Java エージェントと組み合わせて使用し、自動生成されたテレメトリーをカスタムスパンやメトリクスで拡張する

はじめに

デフォルトの計装に加えて、OpenTelemetry API を使用したカスタム手動計装で Java エージェントを拡張できます。 これにより、コードをほとんど変更することなく、独自のコードに対してスパンメトリクスを作成できます。

依存関係

opentelemetry-api ライブラリへの依存関係を追加します。

Maven

<dependencies>
  <dependency>
    <groupId>io.opentelemetry</groupId>
    <artifactId>opentelemetry-api</artifactId>
    <version>1.64.0</version>
  </dependency>
</dependencies>

Gradle

dependencies {
    implementation('io.opentelemetry:opentelemetry-api:1.64.0')
}

OpenTelemetry

Java エージェントは GlobalOpenTelemetry がエージェントによって設定される特殊なケースです。 GlobalOpenTelemetry.getOrNoop() を呼び出すだけで OpenTelemetry インスタンスにアクセスできます。

スパン

import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.api.trace.Tracer;

Tracer tracer = GlobalOpenTelemetry.getTracer("application");

スパンセクションの説明に従って、Tracer を使用してスパンを作成します。

完全な例はサンプルリポジトリにあります。

メーター

import io.opentelemetry.api.GlobalOpenTelemetry;
import io.opentelemetry.api.metrics.Meter;

Meter meter = GlobalOpenTelemetry.getMeter("application");

メーターセクションの説明に従って、Meter を使用してカウンター、ゲージ、またはヒストグラムを作成します。

完全な例はサンプルリポジトリにあります。