1.26.4.5. 分散トレースのサンプリング設定オプション
この Red Hat OpenShift 分散トレースプラットフォーム Operator は、リモートサンプラーを使用するように設定されているトレーサーに提供されるサンプリングストラテジーを定義するために使用できます。
すべてのトレースが生成される間に、それらの一部のみがサンプリングされます。トレースをサンプリングすると、追加の処理や保存のためにトレースにマークが付けられます。
これは、トレースがサンプリングの意思決定が行われる際に Envoy プロキシーによって開始されている場合には関連がありません。Jaeger サンプリングの意思決定は、トレースがクライアントを使用してアプリケーションによって開始される場合にのみ関連します。
サービスがトレースコンテキストが含まれていない要求を受信すると、クライアントは新しいトレースを開始し、これにランダムなトレース ID を割り当て、現在インストールされているサンプリングストラテジーに基づいてサンプリングの意思決定を行います。サンプリングの意思決定はトレース内の後続のすべての要求に伝播され、他のサービスが再度サンプリングの意思決定を行わないようにします。
分散トレースプラットフォームライブラリーは、以下のサンプラーをサポートします。
-
Probabilistic: サンプラーは、
sampling.paramプロパティーの値と等しいサンプリングの確率で、ランダムなサンプリングの意思決定を行います。たとえば、sampling.param=0.1を使用した場合、約 10 のうち 1 トレースがサンプリングされます。 -
Rate Limiting: サンプラーは、リーキーバケット (leaky bucket) レートリミッターを使用して、トレースが一定のレートでサンプリングされるようにします。たとえば、
sampling.param=2.0を使用した場合、1 秒あたり 2 トレースの割合で要求がサンプリングされます。
| パラメーター | 説明 | 値 | デフォルト値 |
|---|---|---|---|
| トレース用のサンプリングストラテジーを定義する設定オプション。 | 設定を指定しない場合、Collector はすべてのサービスの確率 0.001 (0.1%) のデフォルトの確率的なサンプリングポリシーを返します。 | |
| 使用するサンプリングストラテジー。上記の説明を参照してください。 |
有効な値は |
|
| 選択したサンプリングストラテジーのパラメーター | 10 進値および整数値 (0、.1、1、10) | 1 |
この例では、トレースインスタンスをサンプリングする確率が 50% の確率的なデフォルトサンプリングストラテジーを定義します。
確率的なサンプリングの例
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: with-sampling
spec:
sampling:
options:
default_strategy:
type: probabilistic
param: 0.5
service_strategies:
- service: alpha
type: probabilistic
param: 0.8
operation_strategies:
- operation: op1
type: probabilistic
param: 0.2
- operation: op2
type: probabilistic
param: 0.4
- service: beta
type: ratelimiting
param: 5
ユーザーによって指定される設定がない場合、分散トレースプラットフォームは以下の設定を使用します。
デフォルトのサンプリング
spec:
sampling:
options:
default_strategy:
type: probabilistic
param: 1