Contrato de evento
Campos que espera la consulta
| Campo | Tipo | Por que existe |
|---|---|---|
| timestamp_utc | Timestamp | Cuando se observó la espera de bloqueo. |
| database_name | Utf8 | Nombre de la base de datos lógica aprobada. |
| blocked_query_fingerprint | Utf8 | Etiqueta normalizada para la operación de la aplicación bloqueada. |
| blocking_query_fingerprint | Utf8 | Etiqueta normalizada para la operación de retención de la cerradura. |
| lock_type | Utf8 | Categoría de bloqueo controlado. |
| wait_ms | Float64 | Espera de bloqueo observada en milisegundos. |
| resolved | Boolean | Si la espera terminó sin quedar bloqueado. |
| deadlock_detected | Boolean | Si la base de datos informó un resultado de punto muerto. |
| transaction_id | Utf8 | Identificador de transacción seguro para la aplicación. |
| environment | Utf8 | Entorno de implementación. |
Copiar la consulta
SELECT
database_name,
blocked_query_fingerprint,
blocking_query_fingerprint,
COUNT(*) AS lock_wait_incidents,
COUNT(DISTINCT transaction_id) AS affected_transactions,
AVG(wait_ms) AS average_wait_ms,
MAX(wait_ms) AS maximum_wait_ms,
SUM(CASE WHEN NOT resolved THEN 1 ELSE 0 END) AS unresolved_incidents,
SUM(CASE WHEN deadlock_detected THEN 1 ELSE 0 END) AS deadlocks
FROM database_lock_wait_events
WHERE timestamp_utc >= now() - INTERVAL '7 days'
AND environment = 'production'
GROUP BY
database_name,
blocked_query_fingerprint,
blocking_query_fingerprint
HAVING COUNT(*) >= 3
ORDER BY deadlocks DESC, maximum_wait_ms DESC;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
Espera máxima de bloqueo por operación bloqueada
Las actualizaciones de pedidos muestran esperas más largas, incidentes no resueltos y puntos muertos detectados.
| database_name | blocked_query_fingerprint | blocking_query_fingerprint | lock_wait_incidents | affected_transactions | average_wait_ms | maximum_wait_ms | unresolved_incidents | deadlocks |
|---|---|---|---|---|---|---|---|---|
| app_production | UPDATE orders SET status = ? | SELECT order FOR UPDATE | 8 | 8 | 1600 | 3200 | 2 | 2 |
| analytics_production | REFRESH customer_summary | INSERT customer_event | 6 | 6 | 500 | 700 | 0 | 0 |
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
- 1Las huellas digitales bloqueadas y de bloqueo mantienen visible la relación de contención sin recopilar SQL parametrizado.
- 2El recuento de transacciones distintas protege el resultado de muestras repetidas de la misma espera.
- 3Los bloqueos y las incidencias no resueltas tienen prioridad sobre una espera media meramente elevada.
Casos extremos para decidir
- El sondeo puede emitir varias observaciones para un incidente. Preservar un identificador de transacción o incidente.
- Las vistas de bloqueo de bases de datos pueden exponer texto de declaraciones confidenciales; normalizarse en el momento de la recopilación antes de emitir un evento.
- Las cerraduras de mantenimiento previsto deben tener una categoría de carga de trabajo aprobada para que puedan segmentarse.
Panel recomendado
- Barras: maximum_wait_ms por blocked_query_fingerprint
- Tabla: bloqueador y pares de huellas dactilares bloqueadas
- Estadísticas: incidentes no resueltos y bloqueos
Guía de alerta
Página solo para interbloqueos o conflictos sostenidos no resueltos que afectan un flujo de trabajo visible para el usuario; contienda de mantenimiento de ruta por separado.
Leer configuración de alertaPon la receta a trabajar
Instrumentación y guías relacionadas.
Continuar el análisis
Encuentre consultas lentas en bases de datos por huella digital
Clasifique las operaciones de bases de datos normalizadas por tasa de consultas lentas, duración promedio y peor duración observada sin almacenar SQL ni parámetros sin formato.
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 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 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.