Saltar al contenido
Telemetry
Fiabilidad de la API receta SQL

Calcular la tasa de errores de API por ruta

Utilice SQL para clasificar las rutas API según una tasa de error 5xx mientras protege el resultado del ruido de bajo volumen.

Principianteapi_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é rutas API tienen la tasa de error 5xx significativa más alta?

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.

Contrato de 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

La ruta de pago es el riesgo de confiabilidad más claro, aunque la búsqueda tiene más tráfico total.

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

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

  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 extremos para decidir

  • 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

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