活動合約
查詢期望的欄位
| 欄位 | 型別 | 為什麼存在 |
|---|---|---|
| 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。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。
查詢結果
透過路由阻塞主執行緒時間
儘管觀察到的任務較少,但編輯器建立了兩倍以上的阻塞時間。
/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 |
綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。
SQL 是如何工作的
- 150 毫秒邊界遵循瀏覽器長任務約定。
- 2阻塞時間減去允許的前 50 毫秒,因此嚴重性是累加的。
- 3發布分組支援前後審查。
需要決定的邊緣情況
- 必須記錄瀏覽器支援和取樣率。
- 後台選項卡工作可能會產生誤導。
- 長任務表明阻塞,但在沒有補充分析的情況下無法識別負責的功能。
推薦儀表板
- 酒吧:blocked_time_ms 按路線
- 趨勢:long_task_rate_pct(按版本)
- 資料表:互動相關的長任務
讓查詢範例發揮作用
相關埋點和指南
繼續分析
在真實事件中執行它
建立資料表,調整欄位並儲存結果
免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。