Saltar al contenido
Telemetry
Calidad de datos receta SQL

Medir la frescura de la ingestión de eventos

Encuentre fuentes de eventos que dejaron de entregar datos o que llegan mucho más tarde de lo que ocurrieron.

Principiantetelemetry_eventsRevisado 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 eventos de producción están obsoletas o retrasadas en este momento?

Un panel en buen estado puede volverse obsoleto sin mostrar un error. La comparación de la hora del evento, la hora de recepción y el reloj actual separa una fuente silenciosa de una entrega retrasada.

Contrato de evento

Campos que espera la consulta

CampoTipoPor que existe
timestamp_utcTimestampCuándo ocurrió el hecho en la productora.
received_atTimestampCuando el servicio de ingesta aceptó el suceso.
sourceUtf8Nombre del productor o flujo de trabajo estable.
environmentUtf8Entorno de implementación.
DataFusionSQL

Copiar la consulta

sql
SELECT
  source,
  MAX(timestamp_utc) AS latest_event_at,
  MAX(received_at) AS latest_received_at,
  date_part('second', now() - MAX(received_at)) / 60.0
    AS minutes_since_receive,
  AVG(date_part('second', received_at - timestamp_utc)) / 60.0
    AS average_delivery_delay_minutes
FROM telemetry_events
WHERE received_at >= now() - INTERVAL '24 hours'
  AND environment = 'production'
GROUP BY source
ORDER BY minutes_since_receive 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

Minutos desde el último evento recibido

La sincronización de facturación está obsoleta a pesar de que el retraso normal en la entrega es pequeño.

sourcelatest_event_atlatest_received_atminutes_since_receiveaverage_delivery_delay_minutes
billing_sync2026-07-27 12:112026-07-27 12:12481,4
api_gateway2026-07-27 12:592026-07-27 12:5910,1
queue_workers2026-07-27 12:582026-07-27 12:5910,8

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

Minutes since the newest received event: gráfico estático de valores sintéticos de minutes_since_receive del resultado del ejemplo Measure Event Ingestion Freshness
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. 1MAX(received_at) mide si cada fuente sigue entregando datos.
  2. 2La diferencia promedio entre received_at y timestamp_utc mide el retraso en la entrega por separado del silencio de la fuente.
  3. 3El filtro de producción evita que el tráfico de desarrollo haga que una fuente de producción detenida parezca saludable.

Casos extremos para decidir

  • Una fuente que emite solo una vez al día necesita un umbral de actualización diferente al de una fuente API.
  • El desfase del reloj del productor puede hacer que el retraso en la entrega sea negativo; monitorear y corregir la sincronización del reloj.
  • Una mirada retrospectiva de 24 horas no puede devolver fuentes que hayan estado en silencio durante más tiempo que la ventana. Mantenga un registro de fuentes esperadas para monitorear las ausencias.

Panel recomendado

  • Gráfico de barras: minutes_since_receive por fuente
  • Tendencia: retraso medio en la entrega por fuente
  • Tabla: fuentes esperadas que faltan en la ventana actual

Guía de alerta

Alerta cuando minutes_since_receive excede el cronograma de origen más un período de gracia documentado.

Leer configuración de alerta

Pon la receta a trabajar

Instrumentación y guías relacionadas.

Definir los datos de origen

Esquemas de eventos para este análisis.

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