イベント契約
クエリが期待するフィールド
| フィールド | 種類 | なぜ存在するのか |
|---|---|---|
| timestamp_utc | Timestamp | ブラウザのエラー時刻 (UTC)。 |
| route_template | Utf8 | 識別子のない安定したクライアント側ルート。 |
| release | Utf8 | フロントエンドのビルドまたはリリースの識別子。 |
| error_fingerprint | Utf8 | 正規化されたエラー クラスとフレーム シグネチャ。 |
| session_id | Utf8 | プライバシーに配慮したセッション識別子。 |
| environment | Utf8 | 導入環境。 |
クエリをコピーする
SELECT
route_template,
release,
error_fingerprint,
COUNT(*) AS errors,
COUNT(DISTINCT session_id) AS affected_sessions
FROM frontend_error_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
AND environment = 'production'
GROUP BY route_template, release, error_fingerprint
ORDER BY affected_sessions DESC, errors DESC
LIMIT 20;この読み取り専用クエリは、空の型付きテーブルに対して計画され、実行されます。 アパッチ DataFusion 45.2.0。決定論的なサンプル出力は合成され、個別にレビューされます。フィールド タイプ、しきい値、ビジネス定義を独自のデータと照合して検証します。 テスト方法を読んでください。
クエリ結果
フロントエンドエラーによる影響を受けるセッション
チェックアウト レンダリング エラーは、セッションへの影響が最も広く、リピート ボリュームも最も大きくなります。
| route_template | release | error_fingerprint | errors | affected_sessions |
|---|---|---|---|---|
| /checkout | web-103 | payment-form-render | 184 | 121 |
| /projects/:id | web-103 | editor-state-null | 96 | 74 |
| /search | web-102 | result-card-image | 58 | 51 |
合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。
例を再現する
パブリックフィクスチャをダウンロードする
JSON バンドルには、型付きイベント コントラクトが含まれています。 illustrative 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。
SQL の仕組み
- 1ルート テンプレートと正規化されたフィンガープリントにより、URL とスタックラインの詳細が 1 つの障害を断片化するのを防ぎます。
- 2個別のセッションは、1 つの壊れたブラウザ セッションで繰り返されるエラーとは別に爆発半径を推定します。
- 3リリースをグループ化すると、最新のビルドが現在のすべてのエラーの原因であると想定せずに、回帰を可視化できます。
決定すべきエッジケース
- ブラウザのエラー イベントで、生のページ コンテンツ、フォーム値、アクセス トークン、または完全な URL を送信しないでください。
- ソースマップとフィンガープリントの変更により、同じ欠陥がリリース間で分割される可能性があります。
- 時間の経過とともにカウントを比較する場合、サンプリングでは文書化されたレートを保存する必要があります。
推奨されるダッシュボード
- バー: エラー フィンガープリントによる affected_sessions
- 傾向: リリースごとのエラー
- 表: 安全なブラウザコンテキストを使用した最新のエラー
レシピを活用する
関連する機器とガイド
分析を続ける
実際のイベントで実行する
テーブルを作成し、フィールドを調整して、結果を保存します
無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。