Saltar al contenido
Telemetry
Eventos estructurados receta SQL

Detecte picos en la tasa de errores con una línea de base móvil

Compare cada tasa de error de API por hora con un promedio móvil de siete segmentos en lugar de depender de un umbral permanente.

Avanzadoapi_requestsRevisado 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é segmentos de tasa de error por hora están muy por encima de su línea de base reciente?

Un umbral fijo omite servicios con diferentes niveles normales. Una línea de base móvil hace visibles los cambios relativos y al mismo tiempo conserva la tasa y el volumen brutos.

Contrato de evento

Campos que espera la consulta

CampoTipoPor que existe
timestamp_utcTimestampSolicitar tiempo de finalización.
status_codeInt64Código de estado de respuesta HTTP.
DataFusionSQL

Copiar la consulta

sql
WITH hourly AS (
  SELECT
    date_trunc('hour', timestamp_utc) AS hour,
    COUNT(*) AS requests,
    100.0 * SUM(CASE WHEN status_code >= 500 THEN 1 ELSE 0 END)
      / NULLIF(COUNT(*), 0) AS error_rate_pct
  FROM api_requests
  WHERE timestamp_utc >= now() - INTERVAL '72 hours'
  GROUP BY date_trunc('hour', timestamp_utc)
),
baseline AS (
  SELECT
    hour,
    requests,
    error_rate_pct,
    AVG(error_rate_pct) OVER (
      ORDER BY hour ROWS BETWEEN 7 PRECEDING AND 1 PRECEDING
    ) AS previous_seven_avg_pct
  FROM hourly
)
SELECT
  hour,
  requests,
  error_rate_pct,
  previous_seven_avg_pct,
  error_rate_pct - previous_seven_avg_pct AS increase_pct_points
FROM baseline
WHERE previous_seven_avg_pct IS NOT NULL
ORDER BY hour;

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

Aumento de la tasa de error por hora por encima del valor de referencia

El segmento de las 13:00 es la única desviación positiva clara del promedio móvil reciente.

hourrequestserror_rate_pctprevious_seven_avg_pctincrease_pct_points
12:0018.4200,310,280,03
13:0019.1101,420,31,12
14:0018.7800,480,460,02

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

Hourly error-rate increase above baseline: gráfico estático de valores sintéticos de increase_pct_points del resultado del ejemplo Detect Error-Rate Spikes With a Rolling Baseline
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 CTE horario calcula un ratio con su denominador.
  2. 2La ventana termina en el punto anterior, por lo que el pico actual no puede elevar su propia línea de base.
  3. 3La diferencia final son puntos porcentuales, no cambio porcentual.

Casos extremos para decidir

  • Una línea de base de siete horas no modela la estacionalidad diaria.
  • Los períodos de tiempo que faltan siguen desaparecidos; no trate silenciosamente el tráfico perdido como si no hubiera errores.
  • Requerir un volumen mínimo de solicitudes y combinar cambios relativos con un umbral de impacto absoluto.

Panel recomendado

  • Tendencia: tasa de error observada y móvil
  • Barras: aumento por encima del valor inicial
  • Tabla: rutas en depósitos anómalos

Guía de alerta

Alerta solo cuando el aumento y la tasa de error absoluta superan los umbrales en un volumen significativo.

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