本文へ移動
Telemetry
バックグラウンドジョブ SQL レシピ

ジョブごとのキュー待ち時間の測定

キュー内での待機時間を実行時間から分離し、ジョブ名ごとに p50 と p95 の遅延を比較します。

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

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

質問に回答しました

ワーカーが開始するまでに最も長く待機するジョブはどれですか?

作業がキューに残っている場合、作業が速い人であっても、顧客への成果が遅くなる可能性があります。キューの待機時間と実行時間には、別個のフィールドと目的が必要です。

イベント契約

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

フィールド種類なぜ存在するのか
timestamp_utcTimestamp実行完了時間。
job_nameUtf8安定した論理ジョブ名。
queue_wait_msFloat64スケジュールから開始までのミリ秒。
duration_msFloat64開始後の実行期間。
DataFusion SQL

クエリをコピーする

sql
SELECT
  job_name,
  COUNT(*) AS runs,
  approx_percentile_cont(queue_wait_ms, 0.50) AS p50_wait_ms,
  approx_percentile_cont(queue_wait_ms, 0.95) AS p95_wait_ms,
  approx_percentile_cont(duration_ms, 0.95) AS p95_run_ms
FROM job_runs
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY job_name
HAVING COUNT(*) >= 20
ORDER BY p95_wait_ms DESC;

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

クエリ結果

p95 ジョブごとのキュー待機

レポート生成には、p95 での実行の約 2 倍の待ち時間がかかります。

job_namerunsp50_wait_msp95_wait_msp95_run_ms
generate_report3401,80044,20021,800
sync_subscription9804207,2008,400
send_email12,40080460930

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

p95 queue wait by job: Measure Queue Wait Time by Job 結果例からの合成 p95_wait_ms 値の静的チャート
決定論的な出力例のインデックス可能な SVG。記事、ランブック、または出典を明示した設計レビューのためにダウンロードしてください。

例を再現する

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

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

SQL の仕組み

  1. 1キュー待機は、作業がスケジュールされたときに開始され、実行が開始されたときに終了します。
  2. 2p50 と p95 のギャップにより、一貫して遅いキューと断続的なバックログが区別されます。
  3. 3p95 待機と p95 実行時間を比較すると、キャパシティとジョブ コードのどちらがより大きな要因であるかがわかります。

決定すべきエッジケース

  • スケジュールされた時刻と開始時刻には、1 つの時計または UTC タイムスタンプを使用します。
  • スケジュールされた cron 遅延とキュー遅延には別のフィールドが必要な場合があります。
  • 繰り返される作業を分離できるように、再試行では試行番号が保持される必要があります。

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

  • バー: p50 および p95 ジョブごとの待機
  • トレンド: p95 キューによる待機
  • 表: 現在キューに入れられている最も古いアイテム

アラートガイダンス

p95 待機がいくつかの完全なバケットのワークフロー目標を超えるとアラートが表示されます。

アラート設定を読む

レシピを活用する

関連する機器とガイド

ソースデータを定義する

この分析のイベント スキーマ

分析を続ける

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

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

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

API キーを取得する