Contrato de evento
Campos que espera la consulta
| Campo | Tipo | Por que existe |
|---|---|---|
| timestamp_utc | Timestamp | Solicitar tiempo de finalización. |
| route_template | Utf8 | Ruta emparejada estable. |
| outcome | Utf8 | éxito, error, tiempo de espera, cancelado o rate_limited. |
| latency_ms | Float64 | Duración de la solicitud observada. |
Copiar la consulta
SELECT
route_template,
COUNT(*) AS requests,
SUM(CASE WHEN outcome = 'timeout' THEN 1 ELSE 0 END) AS timeouts,
100.0 * SUM(CASE WHEN outcome = 'timeout' THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS timeout_rate_pct,
approx_percentile_cont(latency_ms, 0.95) AS p95_latency_ms
FROM api_requests
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY route_template
HAVING COUNT(*) >= 50
ORDER BY timeout_rate_pct DESC, requests DESC
LIMIT 20;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 tiempo de espera por ruta
La exportación de informes tiene un problema de tiempo de espera que una tasa agregada de 5xx podría ocultar.
| route_template | requests | timeouts | timeout_rate_pct | p95_latency_ms |
|---|---|---|---|---|
| /api/reports/export | 780 | 31 | 3,97 | 29.400 |
| /api/projects/:id/sync | 2410 | 22 | 0,91 | 8420 |
| /api/search | 12.140 | 9 | 0,07 | 680 |
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, 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
- 1Un resultado normalizado captura los plazos del servidor, los tiempos de espera de la puerta de enlace y las rutas de tiempo de espera de los clientes gestionados.
- 2El umbral mínimo de solicitud evita que un raro tiempo de espera domine la clasificación.
- 3La latencia p95 junto a la tasa de tiempo de espera ayuda a distinguir el trabajo constantemente lento de los fallos abruptos en los plazos.
Casos extremos para decidir
- Las desconexiones de clientes y los plazos del servidor pueden necesitar valores de resultados diferentes.
- Las exportaciones de larga duración pueden tener un objetivo de servicio diferente al de las rutas interactivas.
- Registre la fecha límite configurada cuando las rutas o los clientes utilicen diferentes políticas de tiempo de espera.
Panel recomendado
- Barras: timeout_rate_pct por route_template
- Tendencia: volumen de tiempo de espera y latencia p95
- Tabla: solicitudes de tiempo de espera más recientes con dependencia y contexto de lanzamiento
Guía de alerta
Alerta cuando una ruta excede su objetivo de tasa de tiempo de espera en un volumen de solicitudes significativo.
Leer configuración de alertaPon la receta a trabajar
Instrumentación y guías relacionadas.
Continuar el análisis
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.
Receta abiertaCalcule 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 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.