Saltar al contenido
Telemetry
Tareas en segundo plano receta SQL

Detectar tormentas de reintentos de trabajos en segundo plano

Encuentre períodos de tiempo en los que los intentos repetidos de trabajo generen colas de trabajo desproporcionadas y fracasos.

Intermediojob_attemptsRevisado 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é tipos de trabajos dedican más trabajo a los reintentos en este momento?

Una tormenta de reintentos puede aumentar el rendimiento mientras disminuyen las terminaciones útiles. La medición conjunta de los intentos, los trabajos únicos, el porcentaje de reintentos y el porcentaje de fallos separa la carga productiva del trabajo repetido.

Contrato de evento

Campos que espera la consulta

CampoTipoPor que existe
timestamp_utcTimestampTiempo de finalización del intento.
job_idUtf8Identificador de trabajo lógico estable.
job_nameUtf8Tipo de trabajo estable.
attemptInt64Número de intento basado en uno.
statusUtf8completado, reintentado o fallido.
DataFusionSQL

Copiar la consulta

sql
SELECT
  date_trunc('hour', timestamp_utc) AS hour,
  job_name,
  COUNT(*) AS attempts,
  COUNT(DISTINCT job_id) AS logical_jobs,
  SUM(CASE WHEN attempt > 1 THEN 1 ELSE 0 END) AS retry_attempts,
  100.0 * SUM(CASE WHEN attempt > 1 THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0) AS retry_attempt_rate_pct,
  100.0 * SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END)
    / NULLIF(COUNT(*), 0) AS failed_attempt_rate_pct
FROM job_attempts
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY date_trunc('hour', timestamp_utc), job_name
HAVING COUNT(*) >= 20
ORDER BY retry_attempt_rate_pct DESC, attempts 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

Tasa de reintentos por trabajo

La sincronización de CRM produce muchos más intentos que trabajos lógicos y consume la capacidad de los trabajadores con el trabajo repetido.

hourjob_nameattemptslogical_jobsretry_attemptsretry_attempt_rate_pctfailed_attempt_rate_pct
2026-07-27 14:00sync_crm_accounts1840492111860,7622,34
2026-07-27 14:00send_receipt_email318030611193,740,44

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

Retry-attempt rate by job: gráfico estático de valores sintéticos de retry_attempt_rate_pct del resultado del ejemplo Detect Background-Job Retry Storms
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 distintas identificaciones de trabajo estiman el trabajo lógico útil, mientras que el recuento bruto mide los intentos de los trabajadores.
  2. 2Los números de intento superiores a uno aíslan el trabajo repetido sin tratar un éxito final como un primer intento.
  3. 3La tasa de fallas permanece junto al porcentaje de reintentos, por lo que una dependencia transitoria reintentada deliberadamente se distingue de una falla terminal.

Casos extremos para decidir

  • Los trabajos de distribución pueden crear legítimamente varias identificaciones infantiles; defina el identificador lógico de trabajo antes de comparar los recuentos.
  • Los reintentos inmediatos y las cancelaciones programadas tienen diferentes efectos sobre la capacidad y pueden necesitar campos separados.
  • Una tormenta de reintento puede moverse entre períodos de una hora; agregue una consulta operativa más corta cuando el tiempo de respuesta sea importante.

Panel recomendado

  • Barras: retry_attempt_rate_pct por trabajo
  • Tendencia: intentos y logical_jobs
  • Tabla: trabajos con más intentos y tipo de error más reciente

Guía de alerta

Alerta cuando el porcentaje de reintentos, el volumen de intentos y la antigüedad de la cola aumentan juntos para depósitos completos consecutivos.

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