イベント契約
クエリが期待するフィールド
| フィールド | 種類 | なぜ存在するのか |
|---|---|---|
| timestamp_utc | Timestamp | リクエストの完了時間。 |
| route_template | Utf8 | 安定したマッチングルート。 |
| outcome | Utf8 | 成功、エラー、タイムアウト、キャンセル、または rate_limited。 |
| latency_ms | Float64 | 観察されたリクエスト期間。 |
DataFusion SQL
クエリをコピーする
sql
SELECT
route_template,
COUNT(*) AS requests,
SUM(CASE WHEN outcome = 'timeout' THEN 1 ELSE 0 END) AS timeouts,
100.0 * SUM(CASE WHEN outcome = 'timeout' THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS timeout_rate_pct,
approx_percentile_cont(latency_ms, 0.95) AS p95_latency_ms
FROM api_requests
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY route_template
HAVING COUNT(*) >= 50
ORDER BY timeout_rate_pct DESC, requests DESC
LIMIT 20;この読み取り専用クエリは、空の型付きテーブルに対して計画され、実行されます。 アパッチ DataFusion 45.2.0。決定論的なサンプル出力は合成され、個別にレビューされます。フィールド タイプ、しきい値、ビジネス定義を独自のデータと照合して検証します。 テスト方法を読んでください。
クエリ結果
ルート別のタイムアウト率
レポートのエクスポートには、集計 5xx レートによって隠れる可能性があるタイムアウトの問題があります。
/api/reports/export
3.97%
/api/projects/:id/sync
0.91%
/api/search
0.07%
| route_template | requests | timeouts | timeout_rate_pct | p95_latency_ms |
|---|---|---|---|---|
| /api/reports/export | 780 | 31 | 3.97 | 29,400 |
| /api/projects/:id/sync | 2,410 | 22 | 0.91 | 8,420 |
| /api/search | 12,140 | 9 | 0.07 | 680 |
合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。
例を再現する
パブリックフィクスチャをダウンロードする
JSON バンドルには、型付きイベント コントラクトが含まれています。 illustrative 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。
SQL の仕組み
- 1正規化された結果は、サーバーの期限、ゲートウェイのタイムアウト、および処理されたクライアントのタイムアウト パスをキャプチャします。
- 2最小リクエストしきい値により、まれに発生するタイムアウトがランキングを独占することがなくなります。
- 3タイムアウト率の横にある p95 レイテンシーは、一貫して遅い作業と突然の期限の失敗を区別するのに役立ちます。
決定すべきエッジケース
- クライアントの切断とサーバーの期限には、異なる結果値が必要になる場合があります。
- 長時間実行されるエクスポートには、対話型ルートとは異なるサービス目標がある可能性があります。
- ルートまたは顧客が異なるタイムアウト ポリシーを使用する場合は、設定された期限を記録します。
推奨されるダッシュボード
- バー: timeout_rate_pct by route_template
- 傾向: タイムアウト量と p95 レイテンシー
- 表: 最新のタイムアウトしたリクエストと依存関係およびリリース コンテキスト
レシピを活用する
関連する機器とガイド
分析を続ける
実際のイベントで実行する
テーブルを作成し、フィールドを調整して、結果を保存します
無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。