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

按路由計算 API 請求吞吐量

透過穩定的 API 路由計算觀察到的每分鐘請求數,並在吞吐量旁邊保留錯誤量。

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

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

問題已回答

哪些 API 路由每分鐘處理的請求最多?

當吞吐量保留路線形狀和實際觀察到的時間時,它是最有用的。此查詢將請求量除以每個路由的觀察範圍,而不是假設每個路由在整個儀表板視窗中都處於活動狀態。

活動合約

查詢期望的欄位

欄位型別為什麼存在
timestamp_utcTimestamp請求完成時間(UTC)。
route_templateUtf8有界路由範本,而不是原始 URL。
status_codeInt64HTTP 回應狀態。
environmentUtf8部署環境。
DataFusion SQL

複製查詢

sql
SELECT
  route_template,
  COUNT(*) AS requests,
  SUM(CASE WHEN status_code >= 500 THEN 1 ELSE 0 END) AS errors,
  60.0 * COUNT(*) / NULLIF(
    date_part('epoch', MAX(timestamp_utc) - MIN(timestamp_utc)),
    0
  ) AS requests_per_minute
FROM api_throughput_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
  AND environment = 'production'
GROUP BY route_template
ORDER BY requests_per_minute DESC, route_template;

此只讀查詢是針對空型別資料表計劃和執行的 阿帕奇 DataFusion 45.2.0。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。

查詢結果

按路由觀察的請求吞吐量

搜尋具有最高的觀察到的請求率,並且還有 5xx 回應需要調查。

route_templaterequestserrorsrequests_per_minute
/api/search610.2
/api/checkout400.13

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

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

重現範例

下載公共裝置

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

SQL 是如何工作的

  1. 1對受控路由範本進行分組可避免每個資源識別符號或查詢字串有一個系列。
  2. 2分母使用每條路由的觀察到的跨度,這對於稀疏路由來說比除以整個回溯視窗更安全。
  3. 3錯誤計數保留在結果中,因此可以將流量激增與相同粒度的可靠性進行比較。

需要決定的邊緣情況

  • 對於生產圖表,彙總到完整的固定時間段中,以便相鄰期間可以直接比較。
  • 具有一個請求的路由沒有觀察到的跨度; NULLIF 返回 null 而不是發明比率。
  • 如果內部健康檢查和合成流量會扭曲客戶需求,則將其分開。

推薦儀表板

  • 趨勢:完整五分鐘桶中每分鐘的請求數
  • 酒吧:requests_per_minute by route_template
  • 疊加:錯誤率和部署標記

警示指導

對與審查基線的持續偏差發出警示,而不是對單個大流量路線發出警示。

讀取警示設定

讓查詢範例發揮作用

相關埋點和指南

繼續分析

在真實事件中執行它

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

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

獲取 API 金鑰