Contrato de evento
Campos que espera la consulta
| Campo | Tipo | Por que existe |
|---|---|---|
| timestamp_utc | Timestamp | Cuando se completó la operación de la base de datos, en UTC. |
| query_fingerprint | Utf8 | Una etiqueta de operación normalizada y limitada sin valores de parámetros. |
| service | Utf8 | Solicitud o trabajador que emitió la operación. |
| database_name | Utf8 | Nombre de la base de datos lógica aprobada. |
| status | Utf8 | éxito o fracaso. |
| duration_ms | Float64 | Duración de la operación de la base de datos de un extremo a otro en milisegundos. |
| rows_returned | Int64 | Filas devueltas o afectadas cuando el cliente expone el recuento. |
| release | Utf8 | Versión de la aplicación que emitió la consulta. |
| environment | Utf8 | Entorno de implementación. |
Copiar la consulta
SELECT
query_fingerprint,
service,
database_name,
COUNT(*) AS executions,
SUM(CASE WHEN duration_ms >= 1000 THEN 1 ELSE 0 END) AS slow_executions,
100.0 * SUM(CASE WHEN duration_ms >= 1000 THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS slow_query_rate_pct,
AVG(duration_ms) AS average_duration_ms,
MAX(duration_ms) AS maximum_duration_ms
FROM database_query_events
WHERE timestamp_utc >= now() - INTERVAL '30 days'
AND environment = 'production'
GROUP BY query_fingerprint, service, database_name
HAVING COUNT(*) >= 10
ORDER BY slow_query_rate_pct DESC, executions 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 consultas lentas por huella dactilar
La actualización de la factura es lenta en la mayoría de las ejecuciones, mientras que la consulta del catálogo permanece por debajo del umbral ilustrativo de un segundo.
| query_fingerprint | service | database_name | executions | slow_executions | slow_query_rate_pct | average_duration_ms | maximum_duration_ms |
|---|---|---|---|---|---|---|---|
| UPDATE invoices SET status = ? | billing-worker | app_production | 10 | 8 | 80 | 1250 | 1700 |
| SELECT checkout WITH line_items | checkout-api | app_production | 12 | 6 | 50 | 1012,5 | 1600 |
| SELECT products BY category | catalog-api | catalog_production | 12 | 0 | 0 | 330 | 440 |
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 huella digital es una etiqueta controlada por la aplicación, no un SQL sin formato. Eso limita la cardinalidad y evita capturar valores de parámetros.
- 2Una tasa distingue una operación de gran volumen ocasionalmente lenta de una operación que es lenta la mayor parte del tiempo.
- 3El recuento mínimo de ejecución evita que una única consulta fría domine la clasificación.
Casos extremos para decidir
- Elija un umbral lento por carga de trabajo; un segundo es ilustrativo y puede ser demasiado alto para una solicitud interactiva.
- La duración del cliente incluye la espera del grupo y el tiempo de la red, a menos que esas fases se registren por separado.
- No registre parámetros de consulta sin formato, cadenas de conexión ni texto SQL sin restricciones.
Panel recomendado
- Barras: slow_query_rate_pct por query_fingerprint
- Tendencia: average_duration_ms por lanzamiento
- Tabla: fallas más recientes para una huella digital y un servicio seleccionados
Guía de alerta
Alerta cuando una huella digital de gran volumen permanece por encima de su tasa de consulta lenta revisada para varios depósitos completos.
Leer configuración de alertaPon la receta a trabajar
Instrumentación y guías relacionadas.
Definir los datos de origen
Esquemas de eventos para este análisis.
Continuar el análisis
Medir 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 la tasa de reversión de transacciones de la base de datos
Compare las transacciones confirmadas y revertidas por servicio y al mismo tiempo preserve las categorías de error, la duración y las cuentas afectadas.
Receta abiertaEncuentre esperas y bloqueos de bloqueo de bases de datos
Clasifique las huellas dactilares de operaciones de bases de datos bloqueadas por recuento de incidentes, duración de la espera, bloqueos no resueltos y puntos muertos detectados.
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.