イベント契約
クエリが期待するフィールド
| フィールド | 種類 | なぜ存在するのか |
|---|---|---|
| timestamp_utc | Timestamp | ナビゲーションの完了時間。 |
| destination_route | Utf8 | 安定した宛先ルート テンプレート。 |
| release | Utf8 | フロントエンドのリリース識別子。 |
| duration_ms | Float64 | ナビゲーション開始から準備完了状態までの時間。 |
| status | Utf8 | 成功、失敗、放棄。 |
DataFusion SQL
クエリをコピーする
sql
SELECT
destination_route,
release,
COUNT(*) AS navigations,
approx_percentile_cont(duration_ms, 0.50) AS p50_ms,
approx_percentile_cont(duration_ms, 0.95) AS p95_ms,
100.0 * SUM(CASE WHEN status <> 'success' THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS unsuccessful_pct
FROM frontend_navigation_events
WHERE timestamp_utc >= now() - INTERVAL '7 days'
GROUP BY destination_route, release
HAVING COUNT(*) >= 50
ORDER BY p95_ms DESC;この読み取り専用クエリは、空の型付きテーブルに対して計画され、実行されます。 アパッチ DataFusion 45.2.0。決定論的なサンプル出力は合成され、個別にレビューされます。フィールド タイプ、しきい値、ビジネス定義を独自のデータと照合して検証します。 テスト方法を読んでください。
クエリ結果
p95 クライアント ナビゲーション レイテンシ
レポート ナビゲーションの裾野ははるかに広く、失敗の割合が高くなります。
/reports/:id
3,210 ms
comparison 780 ms
/projects/:id
1,480 ms
comparison 410 ms
| destination_route | release | navigations | p50_ms | p95_ms | unsuccessful_pct |
|---|---|---|---|---|---|
| /reports/:id | web-103 | 640 | 780 | 3,210 | 3.13 |
| /projects/:id | web-103 | 1,820 | 410 | 1,480 | 1.21 |
合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。
例を再現する
パブリックフィクスチャをダウンロードする
JSON バンドルには、型付きイベント コントラクトが含まれています。 illustrative 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。
SQL の仕組み
- 1完了境界は、URL の変更のみではなく、ルート固有の準備完了状態を表す必要があります。
- 2p50 と p95 は、一般的に遅いルートと断続的なロングテールを区別します。
- 3失敗したナビゲーションや放棄されたナビゲーションはレイテンシを超えたままになるため、高速な失敗によってパフォーマンスが正常に見えることはありません。
決定すべきエッジケース
- プリフェッチすると、期間に含まれる作業が変更されます。
- バックグラウンド タブはブラウザのタイミングを歪めるため、分類する必要があります。
- 識別子やクエリ文字列の代わりにルート テンプレートを使用します。
推奨されるダッシュボード
- グループ化されたバー: ルート別の p50_ms および p95_ms
- トレンド: リリース別 p95_ms
- 表: 最も遅い安全なナビゲーションのサンプル
レシピを活用する
関連する機器とガイド
分析を続ける
実際のイベントで実行する
テーブルを作成し、フィールドを調整して、結果を保存します
無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。