• /
  • EnglishEspañolFrançais日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

サンプリングの設定

|View as Markdown (English)

APMエージェントのサンプラーは、特定のサービス内のどのトランザクションをエージェントがNew Relicに送信するかを制御します。このページでは、アダプティブやトレースID比率ベースなどのサンプラーのタイプ、アダプティブサンプリングのターゲット、およびアップストリームのサンプリング決定に基づいてサンプリングを設定する方法について説明します。

このガイドの設定例では、YAML形式を使用しています(Javaエージェント)。エージェント固有の構文および完全なパラメーターリファレンスについては、以下をご覧ください:

サンプリングの仕組み

サンプリング決定のステップ

サンプリングの決定は5つのステップで行われます:

  1. リクエストがサービスに到達します。
  2. エージェントはサンプリングコンテキストを確認します:これはルートトランザクションですか、それともアップストリームサービスがすでにサンプリングの決定を行いましたか?
  3. エージェントは、コンテキストと設定に基づいて適切なサンプラーを適用します。
  4. エージェントはサンプリング決定を行います:サンプリングするか、しないか。
  5. エージェントは、ディストリビューティッド(分散)トレーシングコンテキストヘッダーを介して、ダウンストリームサービスに決定を伝播します。

サンプラーのコンテキスト

APMエージェントは、さまざまなトレースのシナリオを処理するために3つのサンプリングコンテキストを使用します。各コンテキストには、独自のサンプラー設定を含めることができます。

コンテクスト適用される場合使用事例
ルートディストリビューティッド(分散)トレーシングは現在のサービスから開始されますこのサービスから開始されるトレースのサンプリングを制御します
遠隔地の親がサンプリングされているアップストリームサービスがすでにこのトレースをサンプリングしているアップストリームサービスがサンプリングしたトレースのトレーシングを制御します
遠隔地の親がサンプリングされていないアップストリームサービスは、このトレースをサンプリングしないことを決定しましたアップストリームサービスが拒否したトレースのサンプリングの制御

サンプラーのタイプ

APMエージェントは4つのサンプラーのタイプを提供しており、それぞれ異なるシナリオに適しています。

サンプラーのタイプ使い方最適な用途
適応型トラフィック量に関係なく、1分あたりの固定数のトレースをターゲットにしますトラフィックの急増に関係なく、一貫した数のトレース
トレースID比率ベーストレースIDに基づいて、固定割合のトレースをサンプリングします。トラフィックの割合としてのサービス間の決定論的サンプリング
常時オンすべてのトランザクションをサンプリングします特定のコンテキストに対する完全なトレースカバレッジ
常にオフトランザクションをサンプリングしません特定のコンテキストのサンプリングを完全に無効にする

推奨される設定

選択できるサンプラーが非常に多いため、サービスに適切な設定を見つけるのは難しい場合があります。適切な設定を見つけるための最良の方法は、サービスが現在持っているトレースの分布を観察し、目的のトレースの分布に向けて少しずつ調整することです。

出発点として、この設定をお勧めします:

distributed_tracing:
sampler:
root:
trace_id_ratio_based:
ratio: 0.1
remote_parent_sampled:
always_on
remote_parent_not_sampled:
always_off

この設定では、rootコンテキストからのトレースの10%、remote_parent_sampledコンテキストからのすべてのトレースをサンプリングし、remote_parent_not_sampledコンテキストからのトレースはサンプリングしません。

一部のアプリケーションでは、この設定はトレースのバランスの取れた分散のための妥当な出発点となります。他のアプリケーション(たとえば、ほとんどのトレースがアップストリームサービスから開始されるアプリケーションなど)では、この設定によりremote_parent_sampledトレースが過剰に優先され、rootトレースの優先度が低くなる可能性があります。その場合は、アップストリームでサンプリングされたトレースの一定の割合のみをキャプチャするようにremote_parent_sampled設定を変更してみてください:

distributed_tracing:
sampler:
root:
trace_id_ratio_based:
ratio: 0.1
remote_parent_sampled:
trace_id_ratio_based:
ratio: 0.2 # Sample 20% of sampled traces originating upstream, instead of all of them
remote_parent_not_sampled:
always_off

次のステップ

サンプリングについて理解したところで:

  • エージェントの完全なサンプラー設定リファレンスをご覧ください:Java、Node.js、Python
  • コピーしてすぐに使える設定の実際のシナリオについては、サンプラー設定の例をご覧ください

ヒント

サンプリングの設定は複雑になる場合があります。単一のパターンから始めて、実際のトレース量とニーズに基づいて反復してください。サポートアビリティメトリクスとトレースクエリを使用して、設定が期待どおりに機能していることを確認してください。

Copyright © 2026 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.