Contrato de evento
Campos que espera la consulta
| Campo | Tipo | Por que existe |
|---|---|---|
| timestamp_utc | Timestamp | Solicitar tiempo de finalización. |
| service | Utf8 | Nombre de servicio estable. |
| slo_eligible | Boolean | Si la solicitud pertenece al denominador SLO. |
| slo_good | Boolean | Si la solicitud cumplió con el SLO. |
Copiar la consulta
SELECT
date_trunc('day', timestamp_utc) AS day,
service,
SUM(CASE WHEN slo_eligible THEN 1 ELSE 0 END) AS eligible_requests,
SUM(CASE WHEN slo_eligible AND slo_good THEN 1 ELSE 0 END)
AS good_requests,
100.0 * SUM(CASE WHEN slo_eligible AND slo_good THEN 1 ELSE 0 END)
/ NULLIF(SUM(CASE WHEN slo_eligible THEN 1 ELSE 0 END), 0)
AS availability_pct,
99.9 AS objective_pct
FROM api_requests
WHERE timestamp_utc >= now() - INTERVAL '30 days'
GROUP BY date_trunc('day', timestamp_utc), service
HAVING SUM(CASE WHEN slo_eligible THEN 1 ELSE 0 END) > 0
ORDER BY day, service;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
Disponibilidad de servicio diario
Query API no alcanzó el objetivo del 99,9% el 26 de julio.
2026-07-25
99,93%
2026-07-26
99,82%
2026-07-27
99,95%
| day | service | eligible_requests | good_requests | availability_pct | objective_pct |
|---|---|---|---|---|---|
| 2026-07-25 | query_api | 182.400 | 182.274 | 99,93 | 99,9 |
| 2026-07-26 | query_api | 176.820 | 176.501 | 99,82 | 99,9 |
| 2026-07-27 | ingestion_api | 248.100 | 247.976 | 99,95 | 99,9 |
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
- 1La elegibilidad explícita protege al denominador de controles de salud o tráfico no admitido.
- 2slo_good puede codificar tanto la corrección como la latencia cuando el objetivo requiere ambas.
- 3El objetivo se devuelve junto al valor observado para que los gráficos y las revisiones preserven el límite de decisión.
Casos extremos para decidir
- Utilice períodos de tiempo completos para informes de paginación y cumplimiento.
- Documente el tráfico excluido para que el SLO no pueda mejorar mediante cambios silenciosos del denominador.
- Una vista diaria es útil para revisar; Las alertas rápidas de presupuesto de errores normalmente necesitan períodos más cortos.
Panel recomendado
- Tendencia: availability_pct con línea objetiva
- Estadística: días de cumplimiento en el período seleccionado
- Tabla: malos eventos por días de servicio perdidos
Guía de alerta
Utilice alertas de quema de presupuesto de errores de múltiples ventanas para paginación y esta vista diaria para revisión de cumplimiento.
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.