Saltar al contenido
Telemetry
Ganchos web receta SQL

Medir la latencia del webhook y la tasa de duplicados

Compare la latencia de procesamiento, las entregas duplicadas y las fallas por proveedor de webhook y tipo de evento.

Intermediowebhook_deliveriesRevisado 2026-07-27Probado con Apache DataFusion 45.2.0

Revisado por el equipo de producto Telemetry en . Compatibilidad con SQL, contrato de eventos, resultados sintéticos y advertencias operativas. Revisar los estándares y la propiedad

Pregunta respondida

¿Qué fuentes de webhooks son lentas, duplicadas o poco confiables?

La administración duplicada es normal para los sistemas de al menos una vez, pero los efectos secundarios duplicados no lo son. Realice un seguimiento del resultado de la entrega y de la decisión de idempotencia por separado.

Contrato de evento

Campos que espera la consulta

CampoTipoPor que existe
timestamp_utcTimestampTiempo de finalización del procesamiento.
providerUtf8Proveedor de webhook.
event_typeUtf8Categoría de evento del proveedor.
idempotency_outcomeUtf8new_event o duplicado.
statusUtf8éxito o fracaso.
latency_msFloat64Duración del procesamiento.
DataFusionSQL

Copiar la consulta

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;

Esta consulta de solo lectura se planifica y ejecuta en una tabla escrita vacía con Apache DataFusion 45.2.0. El resultado de la muestra determinista es sintético y se revisa por separado; valide tipos de campos, umbrales y definiciones comerciales con sus propios datos. Lea la metodología de prueba.

Resultado de la consulta

Entregas de webhooks duplicados y fallidos

Los fallos de pago Stripe tienen la tasa de duplicación más alta y más fallos de terminal.

providerevent_typedeliveriesduplicatesfailuresduplicate_rate_pctp95_latency_ms
stripeinvoice.payment_failed4803497,081180
githubpush29404231,43420

Salida de ejemplo sintético. Ejecute la consulta con su propio esquema de eventos y umbrales antes de utilizarla para decisiones operativas.

Duplicate and failed webhook deliveries: gráfico estático de valores sintéticos de duplicates del resultado del ejemplo Measure Webhook Latency and Duplicate Rate
SVG indexable de la salida del ejemplo determinista. Descárguelo para ver un artículo, un runbook o una revisión de diseño con atribución.

Reproducir el ejemplo

Descargar el accesorio público

El paquete JSON incluye el contrato de evento escrito, illustrative filas de entrada, SQL exacto, resultado esperado, notas de revisión y versión del motor. El CSV contiene el resultado mostrado.

Cómo funciona el SQL

  1. 1Las expresiones CASE calculan recuentos de duplicados y errores de la misma población de entrega.
  2. 2La tasa de duplicación es una característica de entrega; no prueba efectos comerciales duplicados.
  3. 3La latencia de cola muestra si el controlador se está acercando al tiempo de espera del proveedor o al límite de reintento.

Casos extremos para decidir

  • Un duplicado se puede deduplicar exitosamente y no debería contarse automáticamente como un error.
  • Las políticas de reintento del proveedor y los volúmenes de eventos difieren, por lo tanto, conserve el proveedor y el tipo de evento.
  • Nunca almacene firmas de webhooks ni cargas útiles de pago sin procesar en esta tabla.

Panel recomendado

  • Barras apiladas: duplicados y fallos por tipo de evento
  • Tendencia: latencia del webhook p95
  • Tabla: trabajos posteriores fallidos recientes

Guía de alerta

Alerta sobre fallas de procesamiento repetidas o efectos secundarios duplicados, no se espera entrega deduplicada.

Leer configuración de alerta

Pon la receta a trabajar

Instrumentación y guías relacionadas.

Continuar el análisis

Ejecútelo en eventos reales.

Crea una tabla, adapta los campos y guarda el resultado.

Comience gratis, envíe eventos estructurados y utilice el resultado de la consulta como un gráfico, un widget de panel compartido o una entrada de alerta.

Obtén una clave API