サンプリング
サンプリングは、システムが生成するスパンの量を制限するプロセスです。 使用すべき正確なサンプラーは特定のニーズによって異なりますが、一般的にはトレースの開始時に決定を行い、サンプリング決定を他のサービスに伝播させる必要があります。
Sampler
は、次のようにWithSampler
オプションを使用してトレーサープロバイダーに設定できます。
provider := trace.NewTracerProvider(
trace.WithSampler(trace.AlwaysSample()),
)
AlwaysSample
とNeverSample
は説明不要の値です。AlwaysSample
はすべてのスパンがサンプリングされることを意味し、NeverSample
はスパンがサンプリングされないことを意味します。
開始時や開発環境では、AlwaysSample
を使用してください。
その他のサンプラーには次があります。
TraceIDRatioBased
は、サンプラーに与えられた割合に基づいてスパンの一部をサンプリングします。0.5を設定すると、すべてのスパンの半分がサンプリングされます。ParentBased
は、スパンの親に基づいて異なる動作をするサンプラーデコレーターです。スパンに親がない場合、デコレートされたサンプラーがスパンの親に基づいてサンプリング決定を行うために使用されます。デフォルトでは、ParentBased
はサンプリングされた親を持つスパンをサンプリングし、サンプリングされなかった親を持つスパンはサンプリングしません。
デフォルトでは、トレーサープロバイダーはAlwaysSample
サンプラーを使用したParentBased
サンプラーを使用します。
本番環境では、TraceIDRatioBased
サンプラーを使用したParentBased
サンプラーの使用を検討してください。
フィードバック
このページは役に立ちましたか?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!