イベント契約
クエリが期待するフィールド
| フィールド | 種類 | なぜ存在するのか |
|---|---|---|
| timestamp_utc | Timestamp | 観測された cron 実行開始時刻。 |
| schedule_name | Utf8 | 安定したスケジュールされたワークフロー名。 |
| environment | Utf8 | 導入環境。 |
| expected_interval_minutes | Float64 | スタート間の分数を記録。 |
DataFusion SQL
クエリをコピーする
sql
WITH ordered_runs AS (
SELECT
schedule_name,
environment,
timestamp_utc AS run_at,
expected_interval_minutes,
LAG(timestamp_utc) OVER (
PARTITION BY schedule_name, environment
ORDER BY timestamp_utc
) AS previous_run_at
FROM cron_runs
WHERE timestamp_utc >= now() - INTERVAL '7 days'
)
SELECT
schedule_name,
environment,
previous_run_at,
run_at,
expected_interval_minutes,
date_part('second', run_at - previous_run_at) / 60.0 AS observed_gap_minutes
FROM ordered_runs
WHERE previous_run_at IS NOT NULL
AND date_part('second', run_at - previous_run_at) / 60.0
> expected_interval_minutes * 1.5
ORDER BY observed_gap_minutes DESC;この読み取り専用クエリは、空の型付きテーブルに対して計画され、実行されます。 アパッチ DataFusion 45.2.0。決定論的なサンプル出力は合成され、個別にレビューされます。フィールド タイプ、しきい値、ビジネス定義を独自のデータと照合して検証します。 テスト方法を読んでください。
クエリ結果
観察されたスケジュールのギャップ
請求同期は予期された 2 回の開始を逃し、毎日の有効期限ワークフローは 1 日スキップされました。
hourly_billing_sync
180 min
daily_trial_expiration
2,880 min
| schedule_name | environment | previous_run_at | run_at | expected_interval_minutes | observed_gap_minutes |
|---|---|---|---|---|---|
| hourly_billing_sync | production | 2026-07-27 07:00 | 2026-07-27 10:00 | 60 | 180 |
| daily_trial_expiration | production | 2026-07-25 02:00 | 2026-07-27 02:00 | 1,440 | 2,880 |
合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。
例を再現する
パブリックフィクスチャをダウンロードする
JSON バンドルには、型付きイベント コントラクトが含まれています。 illustrative 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。
SQL の仕組み
- 1LAG は、スケジュールおよび環境ごとに、以前に観察された開始を取得します。
- 2タイムスタンプの差は、各ジョブ独自の間隔と比較できる観察されたギャップになります。
- 31.5 の乗数では、本当に見逃した実行を隠すことなく、通常のスケジュールのジッターが許容されます。
決定すべきエッジケース
- この履歴クエリは、次の実行が到着した後にのみギャップを検出します。現在のハートビート欠落アラートと組み合わせてください。
- 計画されたメンテナンスと無効化されたスケジュールは、明示的な状態変更を発行する必要があります。
- 夏時間への移行には、UTC スケジュールまたはタイムゾーンを考慮した期待が必要です。
推奨されるダッシュボード
- 表: 前回と次回の実行でスタートを逃した
- 傾向: ジョブ別のスケジュールギャップ分
- 統計: 現在、生産スケジュールが遅れています
レシピを活用する
関連する機器とガイド
分析を続ける
実際のイベントで実行する
テーブルを作成し、フィールドを調整して、結果を保存します
無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。