Contrato de evento
Campos que espera la consulta
| Campo | Tipo | Por que existe |
|---|---|---|
| timestamp_utc | Timestamp | Hora de migración de la terminal en UTC. |
| migration_id | Utf8 | Identificador de migración estable desde el control de fuente. |
| service | Utf8 | Trabajo de servicio o implementación que ejecutó la migración. |
| database_name | Utf8 | Nombre de la base de datos lógica aprobada. |
| release | Utf8 | Lanzamiento de aplicación o infraestructura. |
| status | Utf8 | éxito, error o rolled_back. |
| duration_ms | Float64 | Duración de la ejecución de la migración. |
| error_type | Utf8 | Categoría de error controlada sin salida de base de datos sin procesar. |
| environment | Utf8 | Entorno de implementación. |
Copiar la consulta
SELECT
release,
service,
database_name,
COUNT(*) AS migrations,
SUM(CASE WHEN status = 'success' THEN 1 ELSE 0 END) AS successful,
SUM(CASE WHEN status = 'failed' THEN 1 ELSE 0 END) AS failed,
SUM(CASE WHEN status = 'rolled_back' THEN 1 ELSE 0 END) AS rolled_back,
100.0 * SUM(CASE WHEN status = 'success' THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS success_rate_pct,
AVG(duration_ms) AS average_duration_ms
FROM database_migration_events
WHERE timestamp_utc >= now() - INTERVAL '30 days'
AND environment = 'production'
GROUP BY release, service, database_name
ORDER BY release 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
Tasa de éxito de la migración por versión
La versión más reciente contiene una migración fallida y una revertida y no debe considerarse completa.
| release | service | database_name | migrations | successful | failed | rolled_back | success_rate_pct | average_duration_ms |
|---|---|---|---|---|---|---|---|---|
| 2026.07.2 | application-api | app_production | 5 | 3 | 1 | 1 | 60 | 1470 |
| 2026.07.1 | application-api | app_production | 5 | 5 | 0 | 0 | 100 | 890 |
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
- 1Una fila terminal por migración evita que los eventos de inicio y reintento inflen el denominador.
- 2Los resultados fallidos y revertidos permanecen separados porque una reversión exitosa aún significa que la migración no se realizó.
- 3La versión, el servicio y la base de datos identifican el límite de implementación exacto que necesita revisión.
Casos extremos para decidir
- Algunas herramientas de migración lo reintentan automáticamente. Conservar el recuento de intentos por separado mientras se emite un resultado terminal.
- Una migración exitosa aún puede ser lógicamente errónea; empareje esta vista con el estado de la aplicación y la validación posterior a la implementación.
- No registre DDL sin formato, cadenas de conexión ni texto de error de base de datos sin restricciones.
Panel recomendado
- Barras: success_rate_pct por lanzamiento
- Tabla: ID de migración fallidas y revertidas
- Tendencia: duración de la migración y recuento por implementación
Guía de alerta
Bloquee la finalización de la implementación cuando cualquier migración de producción tenga un resultado de terminal fallido o revertido.
Leer configuración de alertaPon la receta a trabajar
Instrumentación y guías relacionadas.
Continuar el análisis
Compare la confiabilidad de API por versión
Compare el tráfico, la tasa 5xx y la latencia p95 entre versiones de aplicaciones sin atribuir cada cambio posterior a la implementación a la implementación.
Receta abiertaEncuentre 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 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.