Contrato de evento
Campos que espera la consulta
| Campo | Tipo | Por que existe |
|---|---|---|
| timestamp_utc | Timestamp | Tiempo de finalización de la llamada de dependencia. |
| dependency_name | Utf8 | Nombre de dependencia lógica estable. |
| operation | Utf8 | Operación o ruta normalizada. |
| status | Utf8 | éxito, error o tiempo de espera. |
| latency_ms | Float64 | Duración de la dependencia en milisegundos. |
Copiar la consulta
SELECT
dependency_name,
operation,
COUNT(*) AS calls,
approx_percentile_cont(latency_ms, 0.50) AS p50_ms,
approx_percentile_cont(latency_ms, 0.95) AS p95_ms,
100.0 * SUM(CASE WHEN status <> 'success' THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS failure_rate_pct
FROM dependency_calls
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
GROUP BY dependency_name, operation
HAVING COUNT(*) >= 50
ORDER BY p95_ms 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
Latencia de dependencia p95
El historial de facturas tiene una cola larga y severa a pesar de una mediana aceptable.
| dependency_name | operation | calls | p50_ms | p95_ms | failure_rate_pct |
|---|---|---|---|---|---|
| billing_database | invoice_history | 1840 | 84 | 1820 | 0,49 |
| search_provider | document_search | 6220 | 132 | 760 | 1,21 |
| redis | session_lookup | 44.100 | 3 | 12 | 0,02 |
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 agrupación por dependencia lógica y operación mantiene el resultado procesable.
- 2La brecha entre p50 y p95 distingue los servicios consistentemente lentos del comportamiento de cola intermitente.
- 3La tasa de fracaso impide que una dependencia que falla rápidamente parezca saludable.
Casos extremos para decidir
- Evite texto SQL sin formato, URL completas o identificadores de clientes en los nombres de las operaciones.
- Las llamadas de dependencia paralelas no se suman linealmente a la duración de la solicitud.
- Si los seguimientos ya contienen este tiempo, registre solo el contexto empresarial necesario para conectar el resultado.
Panel recomendado
- Barras agrupadas: p50_ms y p95_ms por dependencia
- Tendencia: latencia de p95 y tasa de fallos
- Tabla: llamadas de dependencia lentas con ID de ruta, liberación y seguimiento
Guía de alerta
Alerta cuando una dependencia crítica excede su objetivo p95 y está afectando a un número mínimo de llamadas.
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.