跳至主要內容
Telemetry
前端可靠性 SQL查詢範例

按路由計算瀏覽器長任務率

透過路由和前端釋放來測量主執行緒阻塞事件及其總阻塞時間。

中級browser_task_events已審查 2026-07-28測試用 阿帕奇 DataFusion 45.2.0

審閱者 Telemetry產品團隊 . SQL 相容性、事件契約、合成輸出和操作注意事項. 審查標準和所有權

問題已回答

哪些路線和版本在瀏覽器長任務中花費最多時間?

長任務顯示即使網路請求很快,主執行緒工作也會延遲互動。速率和阻塞時間使頻率和嚴重性可見。

活動合約

查詢期望的欄位

欄位型別為什麼存在
timestamp_utcTimestamp任務完成時間。
route_templateUtf8穩定的頁面路由。
releaseUtf8前端建置識別符號。
duration_msFloat64觀察到的主執行緒任務持續時間。
interaction_relatedBoolean任務是否與測量的互動重疊。
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。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。

查詢結果

透過路由阻塞主執行緒時間

儘管觀察到的任務較少,但編輯器建立了兩倍以上的阻塞時間。

route_templatereleaseobserved_taskslong_tasksblocked_time_mslong_task_rate_pct
/editorweb-1039,20064452,1807
/dashboardweb-10315,40046223,8603

綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。

Blocked main-thread time by route:來自 Calculate Browser Long-Task Rate by Route 範例結果的合成 blocked_time_ms 值的靜態圖表
確定性範例輸出的可索引 SVG。下載它以獲取帶有歸屬的文章、操作手冊或設計評論。

重現範例

下載公共裝置

JSON 包包含型別化事件契約, illustrative 輸入行、確切的 SQL、預期輸出、審閱註釋和引擎版本。 CSV 包含顯示的結果。

SQL 是如何工作的

  1. 150 毫秒邊界遵循瀏覽器長任務約定。
  2. 2阻塞時間減去允許的前 50 毫秒,因此嚴重性是累加的。
  3. 3發布分組支援前後審查。

需要決定的邊緣情況

  • 必須記錄瀏覽器支援和取樣率。
  • 後台選項卡工作可能會產生誤導。
  • 長任務表明阻塞,但在沒有補充分析的情況下無法識別負責的功能。

推薦儀表板

  • 酒吧:blocked_time_ms 按路線
  • 趨勢:long_task_rate_pct(按版本)
  • 資料表:互動相關的長任務

警示指導

審查發布後持續的阻塞時間迴歸;僅當與關鍵工作流程相關時才顯示頁面。

讀取警示設定

讓查詢範例發揮作用

相關埋點和指南

繼續分析

在真實事件中執行它

建立資料表,調整欄位並儲存結果

免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。

獲取 API 金鑰