Saltar al contenido
Telemetry
Calidad de datos receta SQL

Medir eventos que llegan tarde

Mida el retraso en la entrega de eventos por fuente e identifique a los productores que envían datos obsoletos o desordenados.

Intermedioingestion_eventsRevisado 2026-07-28Probado 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é productores de eventos entregan datos lo suficientemente tarde como para distorsionar el análisis?

La frescura de los eventos y la latencia de entrega son problemas diferentes. La comparación del tiempo del evento con el tiempo de recepción muestra si una fuente en vivo está entregando datos antiguos que pueden reescribir paneles recientes.

Contrato de evento

Campos que espera la consulta

CampoTipoPor que existe
timestamp_utcTimestampCuando la fuente dice que ocurrió el hecho.
received_atTimestampCuando Telemetry recibió el evento.
sourceUtf8Ruta productora o de ingestión.
event_nameUtf8Nombre del contrato de evento estable.
DataFusionSQL

Copiar la consulta

sql
SELECT
  source,
  event_name,
  COUNT(*) AS events,
  AVG(date_part('second', received_at - timestamp_utc)) / 60.0
    AS average_delay_minutes,
  approx_percentile_cont(
    date_part('second', received_at - timestamp_utc) / 60.0,
    0.95
  ) AS p95_delay_minutes,
  SUM(CASE
    WHEN received_at - timestamp_utc > INTERVAL '15 minutes' THEN 1
    ELSE 0
  END) AS events_over_15_minutes
FROM ingestion_events
WHERE received_at >= now() - INTERVAL '24 hours'
  AND received_at >= timestamp_utc
GROUP BY source, event_name
HAVING COUNT(*) >= 20
ORDER BY p95_delay_minutes 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

retraso en la entrega del evento p95

La sincronización móvil sin conexión está activa, pero ofrece periódicamente eventos antiguos que pueden cambiar las cohortes de productos recientes.

sourceevent_nameeventsaverage_delay_minutesp95_delay_minutesevents_over_15_minutes
mobile_offline_syncfeature_used426018,496,21088
billing_webhookinvoice_updated13801,24,811

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

p95 event delivery delay: gráfico estático de valores sintéticos de p95_delay_minutes del resultado del ejemplo Measure Late-Arriving Events
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. 1El tiempo de recepción limita la ventana operativa, mientras que el tiempo del evento mide qué tan obsoleto está cada registro entregado.
  2. 2El retraso promedio y p95 separan a un productor generalmente retrasado de un problema de cola larga.
  3. 3El recuento explícito de eventos tardíos hace que el impacto sea legible sin depender únicamente de un percentil.

Casos extremos para decidir

  • La desviación del reloj puede producir un retraso negativo o exagerado; monitorear y corregir los relojes de los productores por separado.
  • Es posible que se espere que los clientes fuera de línea entreguen datos tarde y necesiten un umbral diferente al de los eventos del servidor.
  • Decida si los paneles reexpresan los depósitos recientes cuando llegan eventos tardíos.

Panel recomendado

  • Barras: p95_delay_minutes por fuente
  • Tendencia: recuento de eventos tardíos por hora de recepción
  • Tabla: eventos tardíos más recientes con fuente y hora del evento

Guía de alerta

Alertar solo para fuentes con un objetivo de entrega documentado y un volumen significativo; La sincronización fuera de línea esperada generalmente pertenece a un panel.

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