イベント契約
クエリが期待するフィールド
| フィールド | 種類 | なぜ存在するのか |
|---|---|---|
| timestamp_utc | Timestamp | 情報源がイベントが発生したと述べたとき。 |
| received_at | Timestamp | Telemetry がイベントを受信したとき。 |
| source | Utf8 | プロデューサーまたは取り込みパス。 |
| event_name | Utf8 | 安定したイベント契約名。 |
DataFusion SQL
クエリをコピーする
sql
SELECT
source,
event_name,
COUNT(*) AS events,
AVG(date_part('second', received_at - timestamp_utc)) / 60.0
AS average_delay_minutes,
approx_percentile_cont(
date_part('second', received_at - timestamp_utc) / 60.0,
0.95
) AS p95_delay_minutes,
SUM(CASE
WHEN received_at - timestamp_utc > INTERVAL '15 minutes' THEN 1
ELSE 0
END) AS events_over_15_minutes
FROM ingestion_events
WHERE received_at >= now() - INTERVAL '24 hours'
AND received_at >= timestamp_utc
GROUP BY source, event_name
HAVING COUNT(*) >= 20
ORDER BY p95_delay_minutes DESC;この読み取り専用クエリは、空の型付きテーブルに対して計画され、実行されます。 アパッチ DataFusion 45.2.0。決定論的なサンプル出力は合成され、個別にレビューされます。フィールド タイプ、しきい値、ビジネス定義を独自のデータと照合して検証します。 テスト方法を読んでください。
クエリ結果
p95 イベント配信の遅延
オフライン モバイル同期はライブですが、最近の製品コホートを変更する可能性のある古いイベントが定期的に配信されます。
mobile_offline_sync
96.2 min
billing_webhook
4.8 min
| source | event_name | events | average_delay_minutes | p95_delay_minutes | events_over_15_minutes |
|---|---|---|---|---|---|
| mobile_offline_sync | feature_used | 4,260 | 18.4 | 96.2 | 1,088 |
| billing_webhook | invoice_updated | 1,380 | 1.2 | 4.8 | 11 |
合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。
例を再現する
パブリックフィクスチャをダウンロードする
JSON バンドルには、型付きイベント コントラクトが含まれています。 illustrative 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。
SQL の仕組み
- 1受信時間は操作ウィンドウを制限しますが、イベント時間は配信された各レコードがどの程度古いかを測定します。
- 2平均遅延と p95 遅延は、一般的に遅延するプロデューサーをロングテール問題から分離します。
- 3明示的な遅延イベント数により、パーセンタイルのみに依存せずに影響を認識できるようになります。
決定すべきエッジケース
- クロック スキューにより、負の遅延または誇張された遅延が発生する可能性があります。プロデューサークロックを個別に監視して修正します。
- オフライン クライアントは遅れてデータを配信することが予想されるため、サーバー イベントとは異なるしきい値が必要になる場合があります。
- 遅れたイベントが到着したときに、ダッシュボードに最近のバケットを再表示するかどうかを決定します。
推奨されるダッシュボード
- バー: ソース別 p95_delay_minutes
- 傾向: 受信時間ごとの遅延イベント数
- 表: 最新の遅延イベントとソースおよびイベント時刻
レシピを活用する
関連する機器とガイド
分析を続ける
実際のイベントで実行する
テーブルを作成し、フィールドを調整して、結果を保存します
無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。