活動合約
查詢期望的欄位
| 欄位 | 型別 | 為什麼存在 |
|---|---|---|
| timestamp_utc | Timestamp | 請求完成時間。 |
| route_template | Utf8 | 穩定的匹配路線。 |
| outcome | Utf8 | 成功、錯誤、超時、取消或 rate_limited。 |
| latency_ms | Float64 | 觀察到的請求持續時間。 |
DataFusion SQL
複製查詢
sql
SELECT
route_template,
COUNT(*) AS requests,
SUM(CASE WHEN outcome = 'timeout' THEN 1 ELSE 0 END) AS timeouts,
100.0 * SUM(CASE WHEN outcome = 'timeout' THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS timeout_rate_pct,
approx_percentile_cont(latency_ms, 0.95) AS p95_latency_ms
FROM api_requests
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY route_template
HAVING COUNT(*) >= 50
ORDER BY timeout_rate_pct DESC, requests DESC
LIMIT 20;此只讀查詢是針對空型別資料表計劃和執行的 阿帕奇 DataFusion 45.2.0。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。
查詢結果
按路由的超時率
報告匯出存在超時問題,聚合 5xx 速率可能會隱藏該問題。
/api/reports/export
3.97%
/api/projects/:id/sync
0.91%
/api/search
0.07%
| route_template | requests | timeouts | timeout_rate_pct | p95_latency_ms |
|---|---|---|---|---|
| /api/reports/export | 780 | 31 | 3.97 | 29,400 |
| /api/projects/:id/sync | 2,410 | 22 | 0.91 | 8,420 |
| /api/search | 12,140 | 9 | 0.07 | 680 |
綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。
SQL 是如何工作的
- 1標準化結果捕獲伺服器截止時間、閘道器超時和已處理的客戶端超時路徑。
- 2最小請求閾值可以防止一種罕見的超時主導排名。
- 3除了超時率之外,p95 延遲有助於區分持續緩慢的工作和突然的截止日期失敗。
需要決定的邊緣情況
- 客戶端斷開連線和伺服器截止時間可能需要不同的結果值。
- 長時間執行的匯出可能具有與互動式路由不同的服務目標。
- 當路由或客戶使用不同的超時策略時,記錄設定的截止時間。
推薦儀表板
- 酒吧:timeout_rate_pct by route_template
- 趨勢:超時量和 p95 延遲
- 資料表:具有依賴項和發布上下文的最新超時請求
讓查詢範例發揮作用
相關埋點和指南
繼續分析
在真實事件中執行它
建立資料表,調整欄位並儲存結果
免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。