跳至主要內容
Telemetry
網路鉤子 SQL查詢範例

測量 Webhook 延遲和重複率

按 Webhook 提供程式和事件型別比較處理延遲、重複傳遞和失敗。

中級webhook_deliveries已審查 2026-07-27測試用 阿帕奇 DataFusion 45.2.0

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

問題已回答

哪些 Webhook 源速度慢、重複或不可靠?

對於 at-least-once 系統來說,重複傳遞是正常的,但重複的副作用則不然。分別追蹤交付結果和冪等性決策。

活動合約

查詢期望的欄位

欄位型別為什麼存在
timestamp_utcTimestamp處理完成時間。
providerUtf8Webhook 提供商。
event_typeUtf8提供商事件類別。
idempotency_outcomeUtf8new_event 或重複。
statusUtf8成功或失敗。
latency_msFloat64處理持續時間。
DataFusion SQL

複製查詢

sql
SELECT
  provider,
  event_type,
  COUNT(*) AS deliveries,
  SUM(CASE WHEN idempotency_outcome = 'duplicate' THEN 1 ELSE 0 END) AS duplicates,
  SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END) AS failures,
  100.0 * SUM(CASE WHEN idempotency_outcome = 'duplicate' THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0) AS duplicate_rate_pct,
  approx_percentile_cont(latency_ms, 0.95) AS p95_latency_ms
FROM webhook_deliveries
WHERE timestamp_utc >= now() - INTERVAL '7 days'
GROUP BY provider, event_type
ORDER BY duplicate_rate_pct DESC, failures DESC;

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

查詢結果

Webhook 傳送重複且失敗

Stripe支付失敗重複率最高,終端失敗較多。

providerevent_typedeliveriesduplicatesfailuresduplicate_rate_pctp95_latency_ms
stripeinvoice.payment_failed4803497.081,180
githubpush2,9404231.43420

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

Duplicate and failed webhook deliveries:來自 Measure Webhook Latency and Duplicate Rate 範例結果的合成 duplicates 值的靜態圖表
確定性範例輸出的可索引 SVG。下載它以獲取帶有歸屬的文章、操作手冊或設計評論。

重現範例

下載公共裝置

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

SQL 是如何工作的

  1. 1CASE 表示式計算來自同一交付群體的重複和失敗計數。
  2. 2重複率是一個傳遞特性;它並不能證明重複的業務效果。
  3. 3尾部延遲顯示處理程式是否接近提供程式超時或重試邊界。

需要決定的邊緣情況

  • 重複項可以成功地進行重複資料刪除,並且不應自動算作失敗。
  • 提供程式重試策略和事件量不同,因此請保留提供程式和事件型別。
  • 切勿在此資料表中儲存 Webhook 簽名或原始付款負載。

推薦儀表板

  • 堆疊條:按事件型別劃分的重複和失敗
  • 趨勢:p95 webhook 延遲
  • 資料表:最近失敗的下游作業

警示指導

針對重複處理失敗或重複副作用(而非預期的重複資料刪除交付)發出警示。

讀取警示設定

讓查詢範例發揮作用

相關埋點和指南

繼續分析

在真實事件中執行它

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

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

獲取 API 金鑰