活動合約
查詢期望的欄位
| 欄位 | 型別 | 為什麼存在 |
|---|---|---|
| timestamp_utc | Timestamp | 導覽完成時間。 |
| destination_route | Utf8 | 穩定的目的地路由範本。 |
| release | Utf8 | 前端版本識別符號。 |
| duration_ms | Float64 | 從導覽開始到就緒狀態的時間。 |
| status | Utf8 | 成功、失敗或放棄。 |
DataFusion SQL
複製查詢
sql
SELECT
destination_route,
release,
COUNT(*) AS navigations,
approx_percentile_cont(duration_ms, 0.50) AS p50_ms,
approx_percentile_cont(duration_ms, 0.95) AS p95_ms,
100.0 * SUM(CASE WHEN status <> 'success' THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS unsuccessful_pct
FROM frontend_navigation_events
WHERE timestamp_utc >= now() - INTERVAL '7 days'
GROUP BY destination_route, release
HAVING COUNT(*) >= 50
ORDER BY p95_ms DESC;此只讀查詢是針對空型別資料表計劃和執行的 阿帕奇 DataFusion 45.2.0。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。
查詢結果
p95 客戶端導覽延遲
報告導覽的尾部更寬,不成功的份額也更高。
/reports/:id
3,210 ms
comparison 780 ms
/projects/:id
1,480 ms
comparison 410 ms
| destination_route | release | navigations | p50_ms | p95_ms | unsuccessful_pct |
|---|---|---|---|---|---|
| /reports/:id | web-103 | 640 | 780 | 3,210 | 3.13 |
| /projects/:id | web-103 | 1,820 | 410 | 1,480 | 1.21 |
綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。
SQL 是如何工作的
- 1完成邊界應該表示特定於路由的就緒狀態,而不僅僅是 URL 更改。
- 2p50 和 p95 將一般緩慢的路線與間歇性長尾區分開來。
- 3失敗和放棄的導覽與延遲並存,因此快速故障無法使效能看起來健康。
需要決定的邊緣情況
- 預取會更改持續時間中包含的工作。
- 後台選項卡會扭曲瀏覽器計時,應進行分類。
- 使用路由範本而不是識別符號或查詢字串。
推薦儀表板
- 分組條:按路線劃分的 p50_ms 和 p95_ms
- 趨勢:p95_ms(按版本)
- 資料表:最慢的安全導覽範例
讓查詢範例發揮作用
相關埋點和指南
繼續分析
在真實事件中執行它
建立資料表,調整欄位並儲存結果
免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。