跳至主要內容
Telemetry
背景工作 SQL查詢範例

測量後台作業重試和失敗率

透過比較成功的執行、重試、失敗和尾部持續時間來查詢不可靠的作業。

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

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

問題已回答

哪些後台作業消耗的重試次數最多或仍然失敗?

重試可以使佇列看起來健康,同時隱藏額外的工作和延遲的結果。此查詢使成功恢復可見,而不將其視為首次嘗試成功。

活動合約

查詢期望的欄位

欄位型別為什麼存在
timestamp_utcTimestamp執行完成或失敗時。
job_nameUtf8穩定的邏輯作業名稱。
statusUtf8成功或失敗。
attemptInt64基於一的執行嘗試。
duration_msFloat64嘗試的持續時間。
DataFusion SQL

複製查詢

sql
SELECT
  job_name,
  COUNT(*) AS attempts,
  SUM(CASE WHEN attempt > 1 THEN 1 ELSE 0 END) AS retries,
  SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END) AS failures,
  100.0 * SUM(CASE WHEN attempt > 1 THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0) AS retry_rate_pct,
  approx_percentile_cont(duration_ms, 0.95) AS p95_duration_ms
FROM job_runs
WHERE timestamp_utc >= now() - INTERVAL '7 days'
GROUP BY job_name
ORDER BY retry_rate_pct DESC, failures DESC;

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

查詢結果

按作業重試率

儘管電子郵件有更多的絕對重試嘗試,但訂閱同步值得關注。

job_nameattemptsretriesfailuresretry_rate_pctp95_duration_ms
sync_subscription1032308,000
generate_report81112.512,000
send_email10000900

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

Retry rate by job:來自 Measure Background Job Retry and Failure Rate 範例結果的合成 retry_rate_pct 值的靜態圖表
確定性範例輸出的可索引 SVG。下載它以獲取帶有歸屬的文章、操作手冊或設計評論。

重現範例

下載公共裝置

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

SQL 是如何工作的

  1. 1計算嘗試次數而不是邏輯作業有意暴露了重試造成的額外執行負載。
  2. 2重試率分母是所有嘗試。如果您更喜歡邏輯作業分母,請包含 job_id 並計算不同的作業 ID。
  3. 3p95 持續時間有助於區分快速瞬時重試和消耗工作執行緒容量的昂貴執行。

需要決定的邊緣情況

  • 計劃的重試可能是預期的行為;在更改重試策略之前按 error_type 進行分段。
  • 如果多次嘗試屬於一個邏輯工作單元,請使用穩定的 job_id。
  • 死信事件應單獨報告,因為它們代表耗盡恢復。

推薦儀表板

  • 條形圖:retry_rate_pct by job_name
  • 折線圖:每日故障和 job_name
  • 資料表:最新的最終故障以及客戶和錯誤上下文

警示指導

當重試率相對於前 7 天基線翻倍或最終失敗影響關鍵工作流程時發出警示。

讀取警示設定

讓查詢範例發揮作用

相關埋點和指南

繼續分析

在真實事件中執行它

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

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

獲取 API 金鑰