Saltar al contenido
Fiabilidad de la API receta SQL

Calcular la tasa de errores de API por ruta

Ordene las rutas de API por tasa de errores 5xx. Excluya las rutas con menos de 20 solicitudes para que un solo fallo no domine los resultados.

Principianteapi_requestsRevisado 2026-07-27Probado con Apache DataFusion 45.2.0

Revisado por el equipo de producto Telemetry en . Revisamos la sintaxis SQL, los campos necesarios, los resultados de ejemplo y las limitaciones de la consulta. Quién revisa esta página

Pregunta respondida

¿Qué rutas de API tienen la mayor tasa de errores 5xx con al menos 20 solicitudes?

Un recuento de errores favorece las rutas ocupadas. La tasa de error normaliza los errores por volumen de solicitudes, mientras que un umbral de volumen mínimo evita que un error en un punto final poco utilizado domine la lista.

Esquema del evento

Campos que espera la consulta

CampoTipoPor que existe
timestamp_utcTimestampCuando se completó la solicitud, se normalizó a UTC.
route_templateUtf8Forma de ruta estable como /api/projects/:id.
status_codeInt64Código de estado de respuesta HTTP.
latency_msFloat64Duración de la solicitud en milisegundos.
DataFusionSQL

Copiar la consulta

sql
SELECT
  route_template,
  COUNT(*) AS requests,
  SUM(CASE WHEN status_code >= 500 THEN 1 ELSE 0 END) AS errors,
  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 '24 hours'
GROUP BY route_template
HAVING COUNT(*) >= 20
ORDER BY error_rate_pct DESC
LIMIT 10;

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 error 5xx por ruta

El pago falló en 5 de 25 solicitudes. La búsqueda falló en 1 de 25.

route_templaterequestserrorserror_rate_pct
/api/checkout25520
/api/search2514
/api/profile2000

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

5xx error rate by route: gráfico estático de valores sintéticos de error_rate_pct del resultado del ejemplo Calculate API error rate by route
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

Descarga los datos de ejemplo

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

  1. 1La expresión CASE cuenta solo las respuestas con un estado 5xx y conserva el recuento total de solicitudes en el mismo grupo.
  2. 2NULLIF evita la división por cero. La cláusula HAVING excluye rutas con menos de 20 solicitudes, donde un solo error crearía un porcentaje inestable.
  3. 3Utilice plantillas de ruta en lugar de URL sin formato para que los identificadores no dividan un punto final en miles de grupos.

Casos límite que debes comprobar

  • Elija un umbral mínimo de solicitud que coincida con su tráfico. Veinte solicitudes son ilustrativas, no universales.
  • Separe las respuestas 5xx esperadas de las fallas de infraestructura si su API las usa intencionalmente para el control del flujo de trabajo.
  • Segmente por entorno para que el tráfico preparado no pueda cambiar la tasa de producción.

Panel recomendado

  • Gráfico de barras: error_rate_pct por route_template
  • Estadística: total de 5xx respuestas en el período seleccionado
  • Tabla: solicitudes fallidas más recientes con request_id y error_type

Guía de alerta

Alerta cuando error_rate_pct supera el 2% para una ruta con al menos 100 solicitudes en la ventana de evaluación.

Leer configuración de alerta

Configura los eventos que necesita esta consulta

Instrumentación y guías relacionadas.

Continuar el análisis

Ejecútalo con tus eventos

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