Datadog の保持ポリシーを理解し、トレースデータを効率的に保持する
大切なトレースを取り込み、保持する
アプリケーションによって生成されるトレースのほとんどは繰り返しであり、すべてを取り込んで保持することは必ずしも適切ではありません。成功したリクエストについては、アプリケーションのトラフィックの代表的なサンプルを保持すれば十分です。なぜなら、トレースされた個々のリクエストを毎秒数十回もスキャンすることはできないからです。
最も重要なのは、インフラストラクチャーの潜在的な問題の症状を含むトレース、つまり、エラーや異常なレイテンシーを持つトレースです。さらに、ビジネスにとって重要な特定のエンドポイントについては、顧客の問題を詳細に調査してトラブルシューティングできるように、トラフィックを 100% 保持することが望ましいでしょう。
Datadog の保持ポリシーで重要なものを保持できるようにする方法
Datadog では、15 分以上経過したデータを保持する方法として、主に 2 つの方法を提供しています。
ダイバーシティサンプリングアルゴリズム: インテリジェント保持フィルター
デフォルトでは、インテリジェント保持フィルターは、何十ものカスタム保持フィルターを作成する必要なく、トレースの代表的なセレクションを保持します。
environment
、service
、operation
、resource
の各組み合わせについて、最大 15 分ごとに少なくとも 1 つのスパン (および関連する分散型トレーシング) を、レスポンスのステータスコードごとに、p75
、p90
、p95
のレイテンシパーセンタイルとエラーの代表例として保持します。
詳しくは、インテリジェント保持フィルタードキュメントをお読みください。
タグベースの保持フィルター
タグベースの保持フィルターは、ビジネスにとって最も重要なトレースを柔軟に保持することができます。保持フィルターでスパンをインデックス化する場合、関連するトレースも保存されるため、リクエスト全体とその分散型コンテキストを確実に可視化することができます。
インデックス化されたスパンデータを効率よく検索・分析する
ダイバーシティサンプリングでキャプチャされたデータセットは、一様にサンプリングされていません (つまり、完全なトラフィックを比例して代表するものではない)。エラーや高レイテンシーのトレースに偏っています。一様にサンプリングされたデータセットの上にのみ分析を構築したい場合は、トレースエクスプローラで -retained_by:diversity_sampling
クエリパラメーターを追加して、多様性の理由からサンプリングされたこれらのスパンを除外します。
例えば、アプリケーションでマーチャント層ごとにグループ化されたチェックアウト操作の数を測定する場合、ダイバーシティサンプリングデータセットを除外することで、代表的なデータセットでこの分析を行うことができ、basic
、enterprise
、premium
のチェックアウト比率が現実的になります。
一方、マーチャント層ごとにユニークなマーチャントの数を測定したい場合は、ダイバーシティサンプリングデータセットを含めると、カスタム保持フィルターで捕らえられなかった追加のマーチャント ID をキャプチャすることができます。