Contrato de evento
Campos que espera la consulta
| Campo | Tipo | Por que existe |
|---|---|---|
| timestamp_utc | Timestamp | Hora de finalización de la búsqueda de caché en UTC. |
| cache_key_pattern | Utf8 | Patrón acotado como producto:{id}, nunca una clave sin formato. |
| cache_hit | Boolean | Si la búsqueda devolvió un valor almacenado en caché. |
| concurrent_misses | Int64 | Rellenos en vuelo observados para el mismo patrón. |
| backend_duration_ms | Float64 | Duración del retroceso; cero por un golpe. |
| environment | Utf8 | Entorno de implementación. |
Copiar la consulta
SELECT
cache_key_pattern,
COUNT(*) AS requests,
SUM(CASE WHEN cache_hit THEN 1 ELSE 0 END) AS hits,
SUM(CASE WHEN cache_hit THEN 0 ELSE 1 END) AS misses,
100.0 * SUM(CASE WHEN cache_hit THEN 0 ELSE 1 END)
/ NULLIF(COUNT(*), 0) AS miss_rate_pct,
MAX(concurrent_misses) AS maximum_concurrent_misses,
AVG(CASE WHEN cache_hit THEN NULL ELSE backend_duration_ms END)
AS average_backend_duration_ms
FROM cache_request_events
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
AND environment = 'production'
GROUP BY cache_key_pattern
ORDER BY maximum_concurrent_misses DESC, cache_key_pattern;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
Indicadores de falla de caché y estampida
Las búsquedas de productos combinan una tasa de error del 50% con 31 rellenos simultáneos y un mayor costo de backend.
| cache_key_pattern | requests | hits | misses | miss_rate_pct | maximum_concurrent_misses | average_backend_duration_ms |
|---|---|---|---|---|---|---|
| product:{id} | 10 | 5 | 5 | 50 | 31 | 232 |
| feature-flags:{account} | 8 | 7 | 1 | 12,5 | 7 | 75 |
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 clave de agrupación es un patrón delimitado definido por la aplicación en lugar de una clave de caché sin formato de alta cardinalidad.
- 2La tasa de fallos captura la eficiencia, mientras que el máximo de fallos simultáneos expone el comportamiento de ráfaga.
- 3La duración del backend se promedia solo para los errores porque los aciertos no ejecutan el respaldo.
Casos extremos para decidir
- Defina concurrent_misses de manera consistente en el momento de la búsqueda o al inicio del llenado.
- Divida las implementaciones de inicio en frío del tráfico de estado estable cuando se espera un calentamiento de la caché.
- Utilice percentiles en lugar de promedios cuando la duración del backend tenga una cola pesada.
Panel recomendado
- Diagrama de dispersión: miss_rate_pct versus maximum_concurrent_misses
- Tendencia: errores y duración del backend por patrón de clave de caché
- Tabla: patrones acotados superiores por trabajo de backend
Guía de alerta
Alerta cuando los errores simultáneos y la duración del backend aumentan juntos para un volumen de solicitud de material.
Leer configuración de alertaPon la receta a trabajar
Instrumentación y guías relacionadas.
Continuar el análisis
Encuentre la saturación de recursos de host y contenedor
Clasifique las fuentes de infraestructura según la utilización sostenida de CPU, memoria y disco, preservando al mismo tiempo el volumen de muestra.
Receta abiertaMedir la saturación del grupo de conexiones de la base de datos
Mida la utilización promedio del grupo, las esperas de adquisición en cola, los tiempos de espera y la capacidad inactiva por servicio de aplicación.
Receta abiertaCalcular el tiempo de detección y recuperación de incidentes
Calcule el tiempo de detección y el tiempo de recuperación de eventos estructurados del ciclo de vida de incidentes.
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.