25.2. MicroProfile OpenTracing SmallRye サブシステムでのリクエストのトレース
Eclipse Microprofile OpenTracing は、テクノロジープレビューとしてのみ提供されます。テクノロジープレビューの機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat は本番環境での使用は推奨しません。テクノロジープレビューの機能は、最新の技術をいち早く提供して、開発段階で機能のテストやフィードバックの収集を可能にするために提供されます。
テクノロジープレビュー機能のサポート範囲については、Red Hat カスタマーポータルの「テクノロジプレビュー機能のサポート範囲」を参照してください。
25.2.1. Eclipse MicroProfile OpenTracing
サービス境界全体でリクエストをトレースする機能は、ライフサイクル中にリクエストが複数のサービスを通過するマイクロサービス環境で特に重要となります。Eclipse Microprofile OpenTracing 仕様は、JAX-RS アプリケーション内の Open Tacing 対応の Tracer
オブジェクトにアクセスするための、動作および API を定義します。動作は、送受信リクエストに対してどのように Open Tracing Spans が自動的に作成されるかを指定します。API は、指定のエンドポイントのトレースをどのように明示的に無効または有効にするかを定義します。
25.2.2. MicroProfile OpenTracing SmallRye サブシステム
Eclipse MicroProfile Open Tracing 機能は、SmallRye OpenTracing コンポーネントを使用して JBoss EAP に実装され、microprofile-opentracing-smallrye
サブシステムによって提供されます。このサブシステムは、JAX-RS エンドポイントへのリクエストのトレースと CDI bean のサポートが含まれる Microprofile 1.1 を実装し、デフォルトの JBoss EAP 7.2 設定に含まれています。
microprofile-opentracing-smallrye
サブシステムには、Jaeger Java Client がデフォルトのトレーサーとして含まれ、さらに JAX-RS や CDI などの Java EE アプリケーションで一般的に使用されるコンポーネントのインスツルメンテーションライブラリーのセットも含まれます。JBoss EAP サーバーに自動的にデプロイされた各 WAR は、独自の Tracer
インスタンスを持ちます。EAR 内の各 WAR は個別の WAR として扱われ、各 WAR には独自の Tracer
インスタンスがあります。デフォルトでは、Jaeger Client と使用されるサービス名はデプロイメントの名前から派生し、通常これは WAR ファイル名になります。
25.2.3. MicroProfile OpenTracing SmallRye サブシステムの設定
microprofile-opentracing-smallrye
サブシステムは、デフォルトの JBoss EAP 7.2 設定に含まれています。有効な OpenTracing にはメモリーまたはパフォーマンスコストが関係するため、このサブシステムを無効にしたい場合があります。
以下の管理 CLI コマンドを使用してサーバー設定からサブシステムを削除し、サーバーインスタンスに対して MicroProfile Open Tracing 機能をグローバルに無効にします。
サブシステムを削除します。
/subsystem=microprofile-opentracing-smallrye:remove()
変更を反映するためにサーバーをリロードします。
reload
以下の管理 CLI コマンドを使用してサーバー設定にサブシステムを追加し、サーバーインスタンスに対して MicroProfile Open Tracing 機能をグローバルに有効にします。
サブシステムを追加します。
/subsystem=microprofile-opentracing-smallrye:add()
変更を反映するためにサーバーをリロードします。
reload
microprofile-opentracing-smallrye
サブシステムに使用できる別の設定オプションはありません。代わりに、システムプロパティーまたは環境変数を設定して Jaeger Client を設定します。Jaeger Client の設定方法に関する詳細は、Jaeger のドキュメント を参照してください。有効なシステムプロパティーのリストは Jaeger ドキュメントの「Configuration via Environment」を参照してください。
この機能はテクノロジープレビューとして提供されるため、システムプロパティーや環境変数を使用した Jaeger Java Client トレーサーの設定に関する現在の設定オプションは特に今後のリリースで互換性のない状態で変更される可能性があります。
また、デフォルトでは Java 用の Jaeger Client に 0.001
に設定されている確率的サンプリングストラテジーがあり、約 1000 トレースに 1 つの割合でのみサンプルが取られることに注意してください。すべてのリクエストのサンプルを取るには、システムプロパティー JAEGER_SAMPLER_TYPE
を const
に設定し、JAEGER_SAMPLER_PARAM
を 1
に設定します。
デフォルトトレーサーをオーバーライドする方法と、CDI bean のトレース方法に関する詳細は、『開発ガイド』の「Eclipse MicroProfile OpenTracing を使用したリクエストのトレース」を参照してください。