myflames: analizar consultas y diagnosticar MySQL y MariaDB desde el escritorio

myflames es una herramienta de código abierto para MySQL y MariaDB que empezó convirtiendo la salida de EXPLAIN ANALYZE en gráficos de llamas y que ahora reúne en una aplicación de escritorio el análisis de consultas, el diagnóstico del servidor y la gestión de esquemas. Su autor la ha relanzado con binarios para macOS y Windows y la presenta como un lugar desde el que investigar la salud de la base de datos y administrarla.

Las claves de myflames en 20 segundos

  • Muestra planes de ejecución como gráficos de llamas, árboles y Visual Explain.
  • Diagnostica sesiones, bloqueos, InnoDB, E/S y configuración del servidor.
  • Tiene políticas de producción, desarrollo y solo lectura con auditoría local.
  • Funciona con MySQL 5.7+, MariaDB 10.11+ y Percona Server.

Leer un plan de ejecución en texto es tedioso cuando la consulta tiene varias uniones y subconsultas. myflames parte del trabajo de FlameGraph, las gráficas de Brendan Gregg para perfilar rendimiento, y las aplica a los planes de MySQL y MariaDB: cada operador ocupa un ancho proporcional a su tiempo, así que el cuello de botella salta a la vista.

Captura de myflames con un plan de ejecución en vista Visual Explain
Vista Visual Explain de myflames. Imagen: myflames.io

Qué permite hacer

En la parte de consultas, myflames abre planes guardados, los captura desde una conexión en vivo como EXPLAIN o EXPLAIN ANALYZE, con parámetros, límite de tiempo, cancelación y hasta diez repeticiones, y también trabaja sin conexión a partir de logs de consultas lentas. Permite comparar dos capturas, por ejemplo antes y después de crear un índice, y exportar el análisis como HTML o JSON ocultando los valores literales. Un asistente sugiere cambios de índices, consultas y parámetros, que el propio repositorio recomienda tratar como candidatos a probar, no como recetas.

La parte de servidor incluye métricas en vivo, InnoDB, esperas, E/S, sesiones activas, árboles de bloqueos, revisión de configuración y un informe completo. En esquemas ofrece diagramas, versiones guardadas, comparación entre servidores y scripts de sincronización para revisar antes de aplicar. El autor menciona en su anuncio otras funciones, como matar consultas, analizar fragmentación, exportar e importar datos e integrarse con MySQL Shell, Readyset y ProxySQL, que no aparecen detalladas en la documentación pública consultada.

Para la línea de comandos y la integración continua tiene subcomandos como digest, advise y check, este último con códigos de salida pensados para CI, y un servidor MCP para conectar agentes de IA.

Seguridad, requisitos e instalación

Las conexiones se etiquetan como producción, desarrollo o solo lectura, las acciones protegidas exigen revisar el SQL exacto y queda un registro de auditoría local. Las contraseñas no se guardan en el espacio de trabajo, que almacena planes, notas y referencias en ~/.myflames/workspace.sqlite3, y en las conexiones en vivo se pasan al cliente mediante un archivo temporal con permisos solo para el propietario. Conviene recordar que EXPLAIN ANALYZE ejecuta la consulta: no es buena idea lanzarlo contra una sentencia pesada en producción en hora punta.

Admite MySQL 5.7 o posterior, MariaDB 10.11 o posterior y Percona Server for MySQL; los planes con tiempos en JSON necesitan MySQL 8.3 o superior. Hay app firmada y notarizada para macOS con Apple Silicon y una vista previa sin firmar para Windows x64. En Linux y otros sistemas se instala con pip install myflames o pipx, y necesita el cliente mysql o mariadb para las conexiones en vivo. Las versiones actuales tienen licencia Apache 2.0; hasta la 2.3.0 era CDDL 1.0.

Preguntas frecuentes

¿Qué es myflames?

Una herramienta libre que visualiza planes de ejecución de MySQL y MariaDB como gráficos de llamas y que incluye diagnóstico del servidor y gestión de esquemas.

¿Cómo se instala en Linux?

Con pip install myflames o pipx install myflames. Para conexiones en vivo hace falta el cliente mysql o mariadb.

¿Es seguro usarlo en producción?

Tiene políticas de solo lectura y revisión de SQL para acciones protegidas, pero EXPLAIN ANALYZE ejecuta la consulta, así que hay que usarlo con criterio.

¿Qué licencia tiene?

Apache 2.0 en las versiones actuales; hasta la 2.3.0 se distribuía con CDDL 1.0.

Fuentes:

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana. Recuerda revisar tu email para confirmar la suscripción.

Scroll al inicio
×