本文へ移動
Telemetry
データベースの信頼性 SQL レシピ

データベースクエリを合計時間の影響でランク付けする

コール量と待ち時間を組み合わせて、アプリケーション時間を最も多く消費しているデータベース フィンガープリントを見つけます。

初心者database_query_eventsレビュー済み 2026-07-28テスト済み アパッチ DataFusion 45.2.0

レビュー者 Telemetry 製品チーム . SQL の互換性、イベント コントラクト、合成出力、および操作上の注意事項. 基準と所有権を確認する

質問に回答しました

どのデータベース操作が最も累積リクエスト時間を消費しますか?

まれに遅いクエリと、中程度に遅い大量のクエリには、異なる優先順位が必要です。合計クエリ時間は、p95 が末尾の動作を維持しながら、アプリケーションへの総計の影響を推定します。

イベント契約

クエリが期待するフィールド

フィールド種類なぜ存在するのか
timestamp_utcTimestampクエリの完了時間。
database_systemUtf8データベース システム名。
operation_nameUtf8SELECT, INSERT, or another controlled operation.
query_fingerprintUtf8値のない正規化されたステートメントの形状。
duration_msFloat64アプリケーションが監視するクエリ期間。
request_idUtf8安全な親リクエストの識別子。
DataFusion SQL

クエリをコピーする

sql
SELECT
  database_system,
  operation_name,
  query_fingerprint,
  COUNT(*) AS calls,
  SUM(duration_ms) AS total_time_ms,
  approx_percentile_cont(duration_ms, 0.95) AS p95_duration_ms,
  COUNT(DISTINCT request_id) AS affected_requests
FROM database_query_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY database_system, operation_name, query_fingerprint
ORDER BY total_time_ms DESC
LIMIT 20;

この読み取り専用クエリは、空の型付きテーブルに対して計画され、実行されます。 アパッチ DataFusion 45.2.0。決定論的なサンプル出力は合成され、個別にレビューされます。フィールド タイプ、しきい値、ビジネス定義を独自のデータと照合して検証します。 テスト方法を読んでください。

クエリ結果

フィンガープリントによる合計クエリ時間

プロジェクト リストのテール レイテンシーは低くなりますが、総リクエスト時間の消費量は増加します。

database_systemoperation_namequery_fingerprintcallstotal_time_msp95_duration_msaffected_requests
postgresqlSELECTproject-list-v418,4001,288,0001429,200
postgresqlSELECTmonthly-report-v2420924,0004,180410

合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。

Total query time by fingerprint: Rank Database Queries by Total Time Impact 結果例からの合成 total_time_ms 値の静的チャート
決定論的な出力例のインデックス可能な SVG。記事、ランブック、または出典を明示した設計レビューのためにダウンロードしてください。

例を再現する

パブリックフィクスチャをダウンロードする

JSON バンドルには、型付きイベント コントラクトが含まれています。 illustrative 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。

SQL の仕組み

  1. 1合計時間は、ボリュームと遅延を組み合わせて影響度ランキングを作成します。
  2. 2p95 は、少量の病理学的クエリを表示し続けます。
  3. 3影響を受けるリクエストは、N+1 動作などの繰り返しの呼び出しを区別します。

決定すべきエッジケース

  • アプリケーションの継続時間には、個別に計測しない限り、プールとネットワークの効果が含まれます。
  • バインドされた SQL 値をログに記録しないでください。
  • サンプリングでは、合計の影響を比較する前に重み付けされたカウントが必要です。

推奨されるダッシュボード

  • バー: 指紋による total_time_ms
  • 表: コール、p95、および影響を受けるリクエスト
  • 傾向: リリースごとの合計クエリ時間

アラートガイダンス

持続的な合計時間の増加を確認します。顧客向けの信頼性目標を推進する場合にのみページを表示します。

アラート設定を読む

レシピを活用する

関連する機器とガイド

分析を続ける

実際のイベントで実行する

テーブルを作成し、フィールドを調整して、結果を保存します

無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。

API キーを取得する