イベント契約
クエリが期待するフィールド
| フィールド | 種類 | なぜ存在するのか |
|---|---|---|
| timestamp_utc | Timestamp | 実行完了時間。 |
| job_name | Utf8 | 安定した論理ジョブ名。 |
| queue_wait_ms | Float64 | スケジュールから開始までのミリ秒。 |
| duration_ms | Float64 | 開始後の実行期間。 |
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 倍の待ち時間がかかります。
generate_report
44,200 ms
comparison 21,800 ms
sync_subscription
7,200 ms
comparison 8,400 ms
send_email
460 ms
comparison 930 ms
| job_name | runs | p50_wait_ms | p95_wait_ms | p95_run_ms |
|---|---|---|---|---|
| generate_report | 340 | 1,800 | 44,200 | 21,800 |
| sync_subscription | 980 | 420 | 7,200 | 8,400 |
| send_email | 12,400 | 80 | 460 | 930 |
合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。
例を再現する
パブリックフィクスチャをダウンロードする
JSON バンドルには、型付きイベント コントラクトが含まれています。 illustrative 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。
SQL の仕組み
- 1キュー待機は、作業がスケジュールされたときに開始され、実行が開始されたときに終了します。
- 2p50 と p95 のギャップにより、一貫して遅いキューと断続的なバックログが区別されます。
- 3p95 待機と p95 実行時間を比較すると、キャパシティとジョブ コードのどちらがより大きな要因であるかがわかります。
決定すべきエッジケース
- スケジュールされた時刻と開始時刻には、1 つの時計または UTC タイムスタンプを使用します。
- スケジュールされた cron 遅延とキュー遅延には別のフィールドが必要な場合があります。
- 繰り返される作業を分離できるように、再試行では試行番号が保持される必要があります。
推奨されるダッシュボード
- バー: p50 および p95 ジョブごとの待機
- トレンド: p95 キューによる待機
- 表: 現在キューに入れられている最も古いアイテム
レシピを活用する
関連する機器とガイド
ソースデータを定義する
この分析のイベント スキーマ
分析を続ける
実際のイベントで実行する
テーブルを作成し、フィールドを調整して、結果を保存します
無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。