第19章 Eclipse MicroProfile
19.1. Eclipse MicroProfile OpenTracing を使用したリクエストのトレース リンクのコピーリンクがクリップボードにコピーされました!
Eclipse Microprofile OpenTracing は、テクノロジープレビューとしてのみ提供されます。テクノロジープレビューの機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat は本番環境での使用は推奨しません。テクノロジープレビューの機能は、最新の技術をいち早く提供して、開発段階で機能のテストやフィードバックの収集を可能にするために提供されます。
テクノロジープレビュー機能のサポート範囲は、Red Hat カスタマーポータルの「テクノロジプレビュー機能のサポート範囲」を参照してください。
Eclipse Microprofile OpenTracing 機能は microprofile-opentracing-smallrye サブシステムによって提供されます。このサブシステムには Jaeger Java Client がデフォルトのトレーサーとして同梱され、JAX-RS や CDI など Java EE アプリケーションで一般的に使用されるコンポーネントのインスツルメンテーションライブラリーのセットを提供します。このサブシステムに関する詳細は、『設定ガイド』の「MicroProfile OpenTracing SmallRye サブシステムでのリクエストのトレース」を参照してください。
これ以降のセクションでは、CDI bean およびその他の JAX-RS エンドポイントのトレースをカスタマイズする方法や、カスタムトレーサーの実装方法について説明します。
19.1.1. CDI bean のトレースの有効または無効化 リンクのコピーリンクがクリップボードにコピーされました!
Eclipse MicroProfile OpenTracing 仕様で定義されているように、クラスまたはメソッドレベルで org.eclipse.microprofile.opentracing.Traced アノテーションが存在すると CDI bean はトレースされます。アノテーションの値を false に設定するとトレースを無効にできます。同様に、そのアノテーションの operationName パラメーターを指定すると、カスタムの操作名を設定できます。セマンティックは MicroProfile OpenTracing 仕様 によって定義されます。
以下の例は、CDI bean のトレースの設定方法を表しています。トレースはメソッドレベルで指定できることに注意してください。
以下の例は、このトレースポイントの OpenTracing Span の操作名を指定する方法を表しています。
19.1.2. JAX-RS エンドポイントのトレースの有効または無効化 リンクのコピーリンクがクリップボードにコピーされました!
JAX-RS エンドポイントは、サーバー設定に microprofile-opentracing-smallrye サブシステムが存在する場合はデフォルトでトレースされます。
JAX-RS エンドポイントのトレースを無効にするには、「CDI bean のトレースの有効または無効化」に記載されているとおりに、クラスまたはメソッドレベルで JAX-RS エンドポイントに @Traced(false) アノテーションを追加します。
19.1.3. カスタムトレーサーの実装 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトの Jaeger Java Client よりも複雑なトレーサーが必要な場合は、希望の状態の Tracer を返す TracerResolver を実装して独自のトレーサーを提供することができます。この場合、デフォルトのトレーサーは使用されません。
以下の例は、Tracer クラスのカスタム実装を返す TracerResolver の新しい実装を作成する方法を表しています。