Contrato de evento
Campos que espera la consulta
| Campo | Tipo | Por que existe |
|---|---|---|
| timestamp_utc | Timestamp | Hora del evento en UTC. |
| workflow_id | Utf8 | Identificador compartido entre los pasos del flujo de trabajo. |
| event_name | Utf8 | Nombre del evento del ciclo de vida acotado. |
| status | Utf8 | bien o falló. |
| service | Utf8 | Servicio que emitió el evento. |
| correlation_id | Utf8 | Identificador de correlación de solicitud a flujo de trabajo opcional. |
| environment | Utf8 | Entorno de implementación. |
Copiar la consulta
WITH target_workflow AS (
SELECT workflow_id
FROM workflow_timeline_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
AND environment = 'production'
AND status = 'failed'
ORDER BY timestamp_utc DESC
LIMIT 1
),
workflow_start AS (
SELECT
events.workflow_id,
MIN(events.timestamp_utc) AS started_at
FROM workflow_timeline_events AS events
JOIN target_workflow AS target
ON target.workflow_id = events.workflow_id
GROUP BY events.workflow_id
)
SELECT
events.workflow_id,
ROW_NUMBER() OVER (
PARTITION BY events.workflow_id
ORDER BY events.timestamp_utc, events.event_name
) AS step_number,
events.event_name,
events.service,
events.status,
date_part('epoch', events.timestamp_utc - starts.started_at)
AS elapsed_seconds
FROM workflow_timeline_events AS events
JOIN workflow_start AS starts
ON starts.workflow_id = events.workflow_id
ORDER BY events.workflow_id, step_number;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
Cronograma de eventos de flujo de trabajo fallidos
La creación del envío falla 47 segundos después de que comienza el flujo de trabajo, después de que tanto el pago como el inventario se realizan correctamente.
| workflow_id | step_number | event_name | service | status | elapsed_seconds |
|---|---|---|---|---|---|
| workflow_1024 | 1 | workflow_started | checkout-api | ok | 0 |
| workflow_1024 | 2 | payment_authorized | checkout-api | ok | 8 |
| workflow_1024 | 3 | inventory_reserved | fulfillment-worker | ok | 21 |
| workflow_1024 | 4 | shipment_created | fulfillment-worker | failed | 47 |
Salida de ejemplo sintético. Ejecute la consulta con su propio esquema de eventos y umbrales antes de utilizarla para decisiones operativas.
Reproducir el ejemplo
Descargar el accesorio público
El paquete JSON incluye el contrato de evento escrito, reproducible 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
- 1El CTE de destino selecciona un flujo de trabajo fallido en lugar de mezclar ejecuciones independientes.
- 2El inicio del flujo de trabajo proporciona un origen de tiempo transcurrido común en todos los servicios.
- 3ROW_NUMBER produce una secuencia de pasos legible por humanos mientras que los campos de estado y servicio preservan el contexto de depuración.
Casos extremos para decidir
- Utilice un identificador de flujo de trabajo resistente a colisiones y un documento donde se propaga.
- Los eventos tardíos o con reloj desviado pueden necesitar tiempo de ingestión como campo de orden secundario.
- Los flujos de trabajo de gran volumen pueden necesitar una lista de permitidos de nombres de eventos limitada o un muestreo de seguimiento.
Panel recomendado
- Línea de tiempo: elapsed_seconds por event_name y servicio
- Tabla: flujos de trabajo fallidos con el último paso exitoso
- Enlace: detalle del evento filtrado por workflow_id
Guía de alerta
Alerta sobre el evento empresarial fallido o el SLO del flujo de trabajo; Utilice la línea de tiempo correlacionada como contexto de investigación.
Leer configuración de alertaPon la receta a trabajar
Instrumentación y guías relacionadas.
Continuar el análisis
Encuentre trabajos en segundo plano estancados con SQL
Únase a los eventos de inicio y finalización del trabajo para identificar el trabajo que excedió su ventana de finalización esperada.
Receta abiertaDetectar latidos de servicio faltantes
Encuentre servicios, trabajadores o tareas programadas que dejaron de informar antes de que apareciera un evento de falla.
Receta abiertaConsultar eventos de llamadas de herramientas de IA anidadas
Filtre campos anidados con puntos y clasifique las herramientas que fallan sin aplanar la carga útil del evento original.
Receta abiertaEjecú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.