Contrato de evento
Campos que espera la consulta
| Campo | Tipo | Por que existe |
|---|---|---|
| timestamp_utc | Timestamp | Cuando se completó la solicitud, se normalizó a UTC. |
| route_template | Utf8 | Forma de ruta estable como /api/projects/:id. |
| status_code | Int64 | Código de estado de respuesta HTTP. |
| latency_ms | Float64 | Duración de la solicitud en milisegundos. |
Copiar la consulta
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_template | requests | errors | error_rate_pct |
|---|---|---|---|
| /api/checkout | 25 | 5 | 20 |
| /api/search | 25 | 1 | 4 |
| /api/profile | 20 | 0 | 0 |
Salida de ejemplo sintético. Ejecute la consulta con su propio esquema de eventos y umbrales antes de utilizarla para decisiones operativas.
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
- 1La expresión CASE cuenta solo las respuestas con un estado 5xx y conserva el recuento total de solicitudes en el mismo grupo.
- 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.
- 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 alertaPon la receta a trabajar
Instrumentación y guías relacionadas.
Continuar el análisis
Calcule la latencia API p50, p95 y p99
Compare la latencia media y de cola por punto final con SQL percentil compatible con DataFusion.
Receta abiertaCalcular la tasa de consumo de presupuesto de errores de API
Convierta los errores de solicitud por hora en una serie de tasa de quemado de SLO que muestre qué tan rápido se consume el presupuesto de errores permitido.
Receta abiertaCompare la confiabilidad de API por versión
Compare el tráfico, la tasa 5xx y la latencia p95 entre versiones de aplicaciones sin atribuir cada cambio posterior a la implementación a la implementación.
Receta abiertaEjecú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.