2.88. OpenTelemetry
OpenTelemetry を使用した分散トレース
2.88.1. 含まれるもの リンクのコピーリンクがクリップボードにコピーされました!
使用方法と設定の詳細は、上記リンクを参照してください。
2.88.2. Maven コーディネート リンクのコピーリンクがクリップボードにコピーされました!
code.quarkus.redhat.com でこのエクステンションを使用して新しいプロジェクトの作成
または、既存のプロジェクトに座標を追加します。
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-opentelemetry</artifactId>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-opentelemetry</artifactId>
</dependency>
2.88.3. 使用方法 リンクのコピーリンクがクリップボードにコピーされました!
エクステンションは Camel OpenTelemetryTracer を自動的に作成し、それを Camel レジストリーにバインドします。
キャプチャされたトレースをトレースシステムに送信するには、以下のような application.properties 内のいくつかのプロパティーを設定する必要があります。
# Identifier for the origin of spans created by the application quarkus.application.name=my-camel-application # OTLP exporter endpoint quarkus.opentelemetry.tracer.exporter.otlp.endpoint=http://localhost:4317
# Identifier for the origin of spans created by the application
quarkus.application.name=my-camel-application
# OTLP exporter endpoint
quarkus.opentelemetry.tracer.exporter.otlp.endpoint=http://localhost:4317
設定オプションの完全なリストは、Quarkus OpenTelemetry ガイド を参照してください。
application.properties で quarkus.camel.opentelemetry.exclude-patterns という名前のプロパティーを設定することで、ルートエンドポイントをトレースから除外できます。以下に例を示します。
# Exclude all direct & netty-http endpoints from tracing quarkus.camel.opentelemetry.exclude-patterns=direct:*,netty-http:*
# Exclude all direct & netty-http endpoints from tracing
quarkus.camel.opentelemetry.exclude-patterns=direct:*,netty-http:*
2.88.3.1. エクスポーター リンクのコピーリンクがクリップボードにコピーされました!
Quarkus OpenTelemetry のデフォルトは、OpenTelemetry で定義された標準の OTLP エクスポーターです。追加のエクスポーターは、Quarkiverse quarkus-opentelemetry-exporter プロジェクトで利用可能になります。
2.88.3.2. 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 ガイドを参照してください。
2.88.4. 追加の Camel Quarkus 設定 リンクのコピーリンクがクリップボードにコピーされました!
| 設定プロパティー | 型 | デフォルト |
|---|---|---|
|
ヘッダー名をエンコードする必要があるかどうかを設定します。OpenTelemetry プロパゲーターが、ターゲットシステムと互換性のない形式でヘッダー名の値を設定する可能性がある状況で役立ちます。たとえば、JMS の場合、仕様ではヘッダー名が有効な Java 識別子であることが義務付けられています。 |
|
|
|
指定されたコンマ区切りのパターンに一致するエンドポイント URI またはプロセッサー ID のトレースを無効にするかどうかを設定します。パターンは次の形式を取ることができます。 1. エンドポイント URI の完全一致。例: platform-http:/some/path 2. ワイルドカードマッチ。E.g platform-http:* 3. エンドポイント URI に一致する正規表現。例: platform-http:/prefix/.* |
| |
|
各 Camel プロセッサーに対して新しい OpenTelemetry スパンを作成するかどうかを設定します。プロセッサーを除外するには、excludePatterns プロパティーを使用します。 |
|
|
ビルド時に修正される設定プロパティー。その他の設定プロパティーはすべて、ランタイム時にオーバーライドが可能です。