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

按路由計算API超時率

按超時率對路由進行排名,同時保留請求量和設定的超時邊界。

入門api_requests已審查 2026-07-27測試用 阿帕奇 DataFusion 45.2.0

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

問題已回答

哪些 API 路由超時的頻率足以影響使用者?

超時應該有其自己的速率,因為它們可能會以多個狀態程式碼或客戶端斷開連線的形式出現。標準化的結果欄位使它們具有可比性。

活動合約

查詢期望的欄位

欄位型別為什麼存在
timestamp_utcTimestamp請求完成時間。
route_templateUtf8穩定的匹配路線。
outcomeUtf8成功、錯誤、超時、取消或 rate_limited。
latency_msFloat64觀察到的請求持續時間。
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 速率可能會隱藏該問題。

route_templaterequeststimeoutstimeout_rate_pctp95_latency_ms
/api/reports/export780313.9729,400
/api/projects/:id/sync2,410220.918,420
/api/search12,14090.07680

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

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

重現範例

下載公共裝置

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

SQL 是如何工作的

  1. 1標準化結果捕獲伺服器截止時間、閘道器超時和已處理的客戶端超時路徑。
  2. 2最小請求閾值可以防止一種罕見的超時主導排名。
  3. 3除了超時率之外,p95 延遲有助於區分持續緩慢的工作和突然的截止日期失敗。

需要決定的邊緣情況

  • 客戶端斷開連線和伺服器截止時間可能需要不同的結果值。
  • 長時間執行的匯出可能具有與互動式路由不同的服務目標。
  • 當路由或客戶使用不同的超時策略時,記錄設定的截止時間。

推薦儀表板

  • 酒吧:timeout_rate_pct by route_template
  • 趨勢:超時量和 p95 延遲
  • 資料表:具有依賴項和發布上下文的最新超時請求

警示指導

當路由在有意義的請求量上超過其超時率目標時發出警示。

讀取警示設定

讓查詢範例發揮作用

相關埋點和指南

繼續分析

在真實事件中執行它

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

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

獲取 API 金鑰