イベント契約
クエリが期待するフィールド
| フィールド | 種類 | なぜ存在するのか |
|---|---|---|
| timestamp_utc | Timestamp | リソースの完了時間。 |
| resource_host | Utf8 | パスまたはクエリ値のない承認されたホスト名。 |
| resource_type | Utf8 | スクリプト、スタイルシート、イメージ、フェッチ、または別の境界付きクラス。 |
| duration_ms | Float64 | リソースの期間。 |
| transfer_bytes | Int64 | 利用可能な場合、転送された応答バイト。 |
| status | Utf8 | 成功、失敗、またはブロックされました。 |
DataFusion SQL
クエリをコピーする
sql
SELECT
resource_host,
resource_type,
COUNT(*) AS resources,
approx_percentile_cont(duration_ms, 0.95) AS p95_duration_ms,
SUM(transfer_bytes) AS transfer_bytes,
SUM(CASE WHEN status <> 'success' THEN 1 ELSE 0 END) AS failures
FROM frontend_resource_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY resource_host, resource_type
HAVING COUNT(*) >= 20
ORDER BY p95_duration_ms DESC, failures DESC;この読み取り専用クエリは、空の型付きテーブルに対して計画され、実行されます。 アパッチ DataFusion 45.2.0。決定論的なサンプル出力は合成され、個別にレビューされます。フィールド タイプ、しきい値、ビジネス定義を独自のデータと照合して検証します。 テスト方法を読んでください。
クエリ結果
ホスト別の p95 リソース期間
分析スクリプトは、ファーストパーティのフェッチ グループよりも遅く、頻繁に失敗します。
analytics.example
1,820 ms
comparison 42 ms
api.example
910 ms
comparison 18 ms
| resource_host | resource_type | resources | p95_duration_ms | transfer_bytes | failures |
|---|---|---|---|---|---|
| analytics.example | script | 2,140 | 1,820 | 68,480,000 | 42 |
| api.example | fetch | 8,210 | 910 | 124,200,000 | 18 |
合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。
例を再現する
パブリックフィクスチャをダウンロードする
JSON バンドルには、型付きイベント コントラクトが含まれています。 illustrative 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。
SQL の仕組み
- 1ホストとタイプは、完全なリソース URL を保存せずに所有権を保持します。
- 2テール期間から、断続的なサードパーティの速度低下が明らかになります。
- 3転送されたバイト数は、レイテンシとペイロードの増加を区別するのに役立ちます。
決定すべきエッジケース
- クロスオリジン タイミングの詳細はブラウザのポリシーによって異なります。
- キャッシュされたリソースには別の解釈が必要です。
- 署名付き URL、クエリ文字列、またはユーザー固有のパスは決して保存しないでください。
推奨されるダッシュボード
- バー: p95_duration_ms (ホスト別)
- 傾向: リソースタイプ別の障害
- 表: 承認されたホスト別の transfer_bytes
レシピを活用する
関連する機器とガイド
分析を続ける
実際のイベントで実行する
テーブルを作成し、フィールドを調整して、結果を保存します
無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。