59.3. Usage
拡張機能は Camel OpenTelemetryTracer
を自動的に作成し、それを Camel レジストリーにバインドします。
キャプチャされたトレースをトレースシステムに送信するには、以下のような application.properties
内のいくつかのプロパティーを設定する必要があります。
使用する OpenTelemetry エクスポーターに依存関係を追加する必要があることに注意してください。
現在、Quarkus は Jaeger と OpenTelemetry Protocol Specification (OTLP) をサポートしています。
Jaeger の場合:
<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-opentelemetry-exporter-jaeger</artifactId> </dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-opentelemetry-exporter-jaeger</artifactId>
</dependency>
OTLP の場合:
<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-opentelemetry-exporter-otlp</artifactId> </dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-opentelemetry-exporter-otlp</artifactId>
</dependency>
設定オプションの完全なリストは、Quarkus OpenTelemetry ガイド を参照してください。
application.properties
で quarkus.camel.opentelemetry.exclude-patterns
という名前のプロパティーを設定することで、ルートエンドポイントをトレースから除外できます。以下に例を示します。
Exclude all direct & netty-http endpoints from tracing
# Exclude all direct & netty-http endpoints from tracing
quarkus.camel.opentelemetry.exclude-patterns=direct:*,netty-http:*
59.3.1. CDI Bean メソッドの実行の追跡 リンクのコピーリンクがクリップボードにコピーされました!
Camel ルートから CDI Bean メソッドの実行をインストルメント化する場合、そのようなメソッドに io.opentelemetry.extension.annotations.WithSpan
のアノテーションを付ける必要があります。@WithSpan
アノテーションが付けられたメソッドは、新しい Span を作成し、現在のトレースコンテキストと必要な関係を確立します。
たとえば、Camel ルートから CDI Bean をインストルメント化するには、まず適切なメソッドに @WithTrace
のアノテーションが付けられていることを確認します。
次に、Camel ルートで Bean を使用します。
録画したスパンのシーケンスが正しいことを確認するには、短縮された .bean()
EIP DSL メソッドではなく、完全な to("bean:")
エンドポイント URI を使用する必要があります。
CDI インストルメンテーションの詳細は、Quarkus OpenTelemetry ガイドを参照してください。