イベント契約
クエリが期待するフィールド
| フィールド | 種類 | なぜ存在するのか |
|---|---|---|
| timestamp_utc | Timestamp | タスクの完了時間。 |
| route_template | Utf8 | 安定したページルート。 |
| release | Utf8 | フロントエンドのビルド識別子。 |
| duration_ms | Float64 | 観察されたメインスレッドタスクの継続時間。 |
| interaction_related | Boolean | タスクが測定されたインタラクションと重複しているかどうか。 |
DataFusion SQL
クエリをコピーする
sql
SELECT
route_template,
release,
COUNT(*) AS observed_tasks,
SUM(CASE WHEN duration_ms > 50 THEN 1 ELSE 0 END) AS long_tasks,
SUM(CASE WHEN duration_ms > 50 THEN duration_ms - 50 ELSE 0 END)
AS blocked_time_ms,
100.0 * SUM(CASE WHEN duration_ms > 50 THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS long_task_rate_pct
FROM browser_task_events
WHERE timestamp_utc >= now() - INTERVAL '7 days'
GROUP BY route_template, release
ORDER BY blocked_time_ms DESC;この読み取り専用クエリは、空の型付きテーブルに対して計画され、実行されます。 アパッチ DataFusion 45.2.0。決定論的なサンプル出力は合成され、個別にレビューされます。フィールド タイプ、しきい値、ビジネス定義を独自のデータと照合して検証します。 テスト方法を読んでください。
クエリ結果
ルート別のメインスレッドのブロック時間
観察されるタスクが少ないにもかかわらず、エディターは 2 倍以上のブロック時間を生み出します。
/editor
52,180 ms
comparison 7 ms
/dashboard
23,860 ms
comparison 3 ms
| route_template | release | observed_tasks | long_tasks | blocked_time_ms | long_task_rate_pct |
|---|---|---|---|---|---|
| /editor | web-103 | 9,200 | 644 | 52,180 | 7 |
| /dashboard | web-103 | 15,400 | 462 | 23,860 | 3 |
合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。
例を再現する
パブリックフィクスチャをダウンロードする
JSON バンドルには、型付きイベント コントラクトが含まれています。 illustrative 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。
SQL の仕組み
- 150 ミリ秒の境界は、ブラウザーのロングタスク規則に従っています。
- 2ブロックされた時間は、許容される最初の 50 ミリ秒を差し引くため、重大度は加算されます。
- 3リリースのグループ化は、前後のレビューをサポートします。
決定すべきエッジケース
- ブラウザのサポートとサンプリング レートを文書化する必要があります。
- バックグラウンドタブでの作業は誤解を招く可能性があります。
- 長いタスクはブロッキングを示しますが、補完的なプロファイリングがなければ原因となる機能は特定されません。
推奨されるダッシュボード
- バー: ルート別 blocked_time_ms
- トレンド: リリース別 long_task_rate_pct
- 表: インタラクション関連の長いタスク
レシピを活用する
関連する機器とガイド
分析を続ける
実際のイベントで実行する
テーブルを作成し、フィールドを調整して、結果を保存します
無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。