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>
Copy to Clipboard Toggle word wrap

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
Copy to Clipboard Toggle word wrap

設定オプションの完全なリストは、Quarkus OpenTelemetry ガイド を参照してください。

application.propertiesquarkus.camel.opentelemetry.exclude-patterns という名前のプロパティーを設定することで、ルートエンドポイントをトレースから除外できます。以下に例を示します。

# Exclude all direct & netty-http endpoints from tracing
quarkus.camel.opentelemetry.exclude-patterns=direct:*,netty-http:*
Copy to Clipboard Toggle word wrap

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 のアノテーションが付けられていることを確認します。

@ApplicationScoped
@Named("myBean")
public class MyBean {
    @WithSpan
    public String greet() {
        return "Hello World!";
    }
}
Copy to Clipboard Toggle word wrap

次に、Camel ルートで Bean を使用します。

重要

録画したスパンのシーケンスが正しいことを確認するには、短縮された .bean() EIP DSL メソッドではなく、完全な to("bean:") エンドポイント URI を使用する必要があります。

public class MyRoutes extends RouteBuilder {
    @Override
    public void configure() throws Exception {
        from("direct:executeBean")
                .to("bean:myBean?method=greet");
    }
}
Copy to Clipboard Toggle word wrap

CDI インストルメンテーションの詳細は、Quarkus OpenTelemetry ガイドを参照してください。

2.88.4. 追加の Camel Quarkus 設定

Expand
設定プロパティーデフォルト

quarkus.camel.opentelemetry.encoding

ヘッダー名をエンコードする必要があるかどうかを設定します。OpenTelemetry プロパゲーターが、ターゲットシステムと互換性のない形式でヘッダー名の値を設定する可能性がある状況で役立ちます。たとえば、JMS の場合、仕様ではヘッダー名が有効な Java 識別子であることが義務付けられています。

boolean

false

quarkus.camel.opentelemetry.exclude-patterns

指定されたコンマ区切りのパターンに一致するエンドポイント URI またはプロセッサー ID のトレースを無効にするかどうかを設定します。パターンは次の形式を取ることができます。

1. エンドポイント URI の完全一致。例: platform-http:/some/path

2. ワイルドカードマッチ。E.g platform-http:*

3. エンドポイント URI に一致する正規表現。例: platform-http:/prefix/.*

string

 

quarkus.camel.opentelemetry.trace-processors

各 Camel プロセッサーに対して新しい OpenTelemetry スパンを作成するかどうかを設定します。プロセッサーを除外するには、excludePatterns プロパティーを使用します。

boolean

false

ビルド時に修正される設定プロパティー。その他の設定プロパティーはすべて、ランタイム時にオーバーライドが可能です。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る