Contrato de evento
Campos que espera la consulta
| Campo | Tipo | Por que existe |
|---|---|---|
| timestamp_utc | Timestamp | Hora del evento terminal de la transacción. |
| service | Utf8 | Servicio de aplicación propia. |
| transaction_name | Utf8 | Clase de transacción lógica estable. |
| release | Utf8 | Lanzamiento de la aplicación. |
| duration_ms | Float64 | Duración de la transacción desde el inicio hasta la terminal. |
| outcome | Utf8 | comprometido, rolled_back o timed_out. |
Copiar la consulta
SELECT
service,
transaction_name,
release,
COUNT(*) AS transactions,
approx_percentile_cont(duration_ms, 0.95) AS p95_duration_ms,
MAX(duration_ms) AS max_duration_ms,
SUM(CASE WHEN outcome <> 'committed' THEN 1 ELSE 0 END) AS unsuccessful
FROM database_transaction_events
WHERE timestamp_utc >= now() - INTERVAL '7 days'
GROUP BY service, transaction_name, release
ORDER BY p95_duration_ms DESC, unsuccessful 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
duración de la transacción p95
La finalización de facturas tiene la cola más larga y los resultados más fallidos.
| service | transaction_name | release | transactions | p95_duration_ms | max_duration_ms | unsuccessful |
|---|---|---|---|---|---|---|
| billing | invoice-finalize | api-88 | 820 | 6800 | 24.100 | 28 |
| projects | member-import | api-88 | 240 | 4210 | 18.200 | 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 clase de transacción conecta la duración con el propietario de una aplicación.
- 2El máximo expone reservas extremas de recursos junto a un percentil estable.
- 3Los resultados sin compromiso incluyen reversión y tiempo de espera para una vista completa del terminal.
Casos extremos para decidir
- Los eventos de terminal que faltan necesitan una unión de inicio a terminal por separado.
- Los eventos de espera del servidor y los gráficos de bloqueo requieren diagnósticos nativos de la base de datos.
- No registre declaraciones con valores vinculados.
Panel recomendado
- Barras: p95_duration_ms por transacción
- Tendencia: fracasado por lanzamiento
- Tabla: eventos de transacciones seguras más largos
Guía de alerta
Alerta cuando se agota el tiempo de espera de una transacción crítica o su p95 excede un límite aprobado por el propietario.
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.