Saltar al contenido
Telemetry
Tareas en segundo plano receta SQL

Medir el tiempo de espera de la cola por trabajo

Separe el tiempo de espera en una cola de la duración de la ejecución y compare el retraso de p50 y p95 por nombre de trabajo.

Principiantejob_runsRevisado 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é trabajos esperan más tiempo antes de que un trabajador los inicie?

Un trabajador rápido aún puede producir un resultado lento para el cliente cuando el trabajo está en la cola. La espera de la cola y la duración de la ejecución necesitan campos y objetivos separados.

Contrato de evento

Campos que espera la consulta

CampoTipoPor que existe
timestamp_utcTimestampEjecutar el tiempo de finalización.
job_nameUtf8Nombre de trabajo lógico estable.
queue_wait_msFloat64Milisegundos desde lo programado hasta lo iniciado.
duration_msFloat64Duración de la ejecución después del inicio.
DataFusionSQL

Copiar la consulta

sql
SELECT
  job_name,
  COUNT(*) AS runs,
  approx_percentile_cont(queue_wait_ms, 0.50) AS p50_wait_ms,
  approx_percentile_cont(queue_wait_ms, 0.95) AS p95_wait_ms,
  approx_percentile_cont(duration_ms, 0.95) AS p95_run_ms
FROM job_runs
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY job_name
HAVING COUNT(*) >= 20
ORDER BY p95_wait_ms 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

p95 cola de espera por trabajo

La generación de informes tarda aproximadamente el doble de tiempo de espera que la ejecución en p95.

job_namerunsp50_wait_msp95_wait_msp95_run_ms
generate_report340180044.20021.800
sync_subscription98042072008400
send_email12.40080460930

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

p95 queue wait by job: gráfico estático de valores sintéticos de p95_wait_ms del resultado del ejemplo Measure Queue Wait Time by Job
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. 1La espera en cola comienza cuando se programa el trabajo y finaliza cuando comienza la ejecución.
  2. 2La brecha de p50 a p95 distingue una cola consistentemente lenta de un trabajo pendiente intermitente.
  3. 3La comparación de la espera de p95 con el tiempo de ejecución de p95 muestra si la capacidad o el código de trabajo son los que más contribuyen.

Casos extremos para decidir

  • Utilice un reloj o marcas de tiempo UTC para las horas programadas e iniciadas.
  • Es posible que el retraso programado del cron y el retraso de la cola necesiten campos separados.
  • Los reintentos deben conservar el número de intentos para poder aislar el trabajo repetido.

Panel recomendado

  • Barras: p50 y p95 espera por trabajo
  • Tendencia: p95 espera en cola
  • Tabla: elementos más antiguos actualmente en cola

Guía de alerta

Alerta cuando la espera de p95 excede el objetivo del flujo de trabajo para varios depósitos completos.

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