本文へ移動
Telemetry
Webhook SQL レシピ

Webhook のレイテンシーと重複率を測定する

Webhook プロバイダーとイベント タイプごとに、処理遅延、重複配信、失敗を比較します。

中級者webhook_deliveriesレビュー済み 2026-07-27テスト済み アパッチ DataFusion 45.2.0

レビュー者 Telemetry 製品チーム . SQL の互換性、イベント コントラクト、合成出力、および操作上の注意事項. 基準と所有権を確認する

質問に回答しました

どの Webhook ソースが遅い、重複している、または信頼性が低いですか?

少なくとも 1 回のシステムでは配信の重複は正常ですが、副作用の重複は正常ではありません。配信結果と冪等性の決定を個別に追跡します。

イベント契約

クエリが期待するフィールド

フィールド種類なぜ存在するのか
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 キーを取得する