第257章 OpenTracing コンポーネント
Camel 2.19 以降で利用可能
Camel 2.21 以降では、OpenTracing Java API バージョン 0.31 以降と互換性のある OpenTracing complaint トレーサーを使用する必要があります。
camel-opentracing コンポーネントは、OpenTracing を使用して入力および出力 Camel メッセージをトレースおよびタイミングするために使用されます。
イベント (スパン) は、Camel との間で送受信される入力および出力メッセージに対してキャプチャーされます。
サポートされているトレーサーのリストは、OpenTracing Web サイトを参照してください。
257.1. 設定
OpenTracing トレーサの設定プロパティーは次のとおりです。
| オプション | デフォルト | 説明 | 
|---|---|---|
| excludePatterns | パターンに一致する Camel メッセージのトレースを無効にする除外パターンを設定します。設定内容は、キーがパターンである Set<String> です。このパターンは Intercept のルールを使用します。 | |
| encoding | false | ヘッダーキーをエンコードする必要があるかどうか (コネクター固有) を設定します。値はブール値です。ダッシュは、インスタンスを JMS プロパティーキー用にエンコードする必要があります。 | 
Camel アプリケーションの分散トレースを提供するように OpenTracing トレーサーを設定するには、次の 3 つの方法があります。
257.1.1. Explicit
					選択した OpenTracing 準拠の Tracer に関連付けられた特定の依存関係と共に、camel-opentracing コンポーネントを POM に含めます。
				
					OpenTracing サポートを明示的に設定するには、OpenTracingTracer をインスタンス化し、camel コンテキストを初期化します。オプションで Tracer を指定することも、代わりに Registry または ServiceLoader を使用して暗黙的に検出することもできます。
				
OpenTracingTracer ottracer = new OpenTracingTracer(); // By default it uses a Noop Tracer, but you can override it with a specific OpenTracing implementation. ottracer.setTracer(...); // And then initialize the context ottracer.init(camelContext);
OpenTracingTracer ottracer = new OpenTracingTracer();
// By default it uses a Noop Tracer, but you can override it with a specific OpenTracing implementation.
ottracer.setTracer(...);
// And then initialize the context
ottracer.init(camelContext);XML で OpenTracingTracer を使用するには、OpenTracing トレーサー Bean を定義するだけです。Camel はそれらを自動的に検出して使用します。
  <bean id="tracer" class="..."/>
  <bean id="ottracer" class="org.apache.camel.opentracing.OpenTracingTracer">
    <property name="tracer" ref="tracer"/>
  </bean>
  <bean id="tracer" class="..."/>
  <bean id="ottracer" class="org.apache.camel.opentracing.OpenTracingTracer">
    <property name="tracer" ref="tracer"/>
  </bean>