Saltar al contenido
HuginnDB

Nuevo en 1.20 · MySQL + MongoDB

¿Va lento ahora,
o también iba
lento ayer?

HuginnDB Pulse lee los contadores que tu servidor ya lleva y los pone al lado de la consulta que estás escribiendo: consultas por segundo, presión de conexiones, aciertos de caché, las sentencias en las que más tiempo ha gastado, las tablas más grandes, quién está conectado y qué índices no lee nadie.

shop · mysqlpulse

Consultas / s

412

Conexiones

112 / 151

En ejecución

6

Aciertos de caché

93.4 %

  • 112 de 151 conexiones en uso (74 %).
  • El buffer pool solo ha servido desde memoria el 93 % de sus lecturas.

Dónde va el tiempo

SentenciaEjecucionesMedia
SELECT `id`, `total` FROM `orders` WHERE `customer_id` = ?1.2 M0.8 ms
SELECT COUNT(*) FROM `order_items` WHERE `sku` LIKE ?sin índice48 K412 ms
UPDATE `inventory` SET `stock` = ? WHERE `sku` = ?210 K1.4 ms
Una ilustración de la interfaz, dibujada con el estilo de esta página. Ver las capturas reales

Dos motores, y la app dice cuáles

Pulse lee estadísticas que lleva el propio motor, así que funciona donde esas estadísticas existen. MySQL y MongoDB las exponen. Los otros tres drivers no, y en lugar de dibujar un panel lleno de ceros la app lo dice con esas palabras.

«Pulse aún no mide este motor» es lo que sale en PostgreSQL, SQLite y SQL Server: un estado explícito, no una gráfica vacía. Todo lo demás en HuginnDB sigue funcionando en los cinco drivers igual que antes.

Se mide hoy

  • MySQL
  • MongoDB

Todavía no

  • PostgreSQL
  • SQLite
  • SQL Server

Siete vistas, cuatro de ellas en el panel lateral

El icono de Pulse en la barra de actividad derecha acopla el panel junto a tu espacio de trabajo, siguiendo la conexión que tengas seleccionada — o fijado a una, si prefieres que no se mueva. El panel acoplado es compacto a propósito: el botón ↗ de cualquier cabecera abre Pulse en su propia ventana, con sitio para las tablas completas y para las tres vistas que no caben en un panel lateral.

  • Estado

    Consultas por segundo, presión de conexiones, hilos en ejecución y aciertos del buffer pool o de la caché de WiredTiger, cada uno con su gráfica en vivo. Se refresca cada cinco segundos, y solo mientras el panel está realmente en pantalla: si lo pliegas, cambias de sitio o minimizas la app, el sondeo se para con él.

    Panel acoplado

  • Avisos

    Se derivan de esos números en el último intervalo, no de una media de toda la vida del servidor que deja muy bien a una máquina que lleva seis semanas encendida: acercarse al techo de conexiones, aciertos de caché que caen, tablas temporales que van a disco, intentos de conexión rechazados.

    Panel acoplado

  • Dónde va el tiempo

    Las sentencias en las que el servidor ha gastado más tiempo, cada una con cuántas veces se ha ejecutado, su duración media y la más lenta, filas examinadas frente a filas devueltas, y una etiqueta roja cuando se ha resuelto sin usar ningún índice. Donde se guardó un ejemplo ejecutable junto a la sentencia, un clic muestra el plan que usaría el servidor — sin ejecutarla de verdad.

    Panel acoplado

  • Almacenamiento

    Las tablas o colecciones más grandes de la conexión, ordenadas, repartidas entre datos, índices y espacio libre: el que devolvería una reconstrucción.

    Panel acoplado

  • Sesiones

    Todas las sesiones u operaciones abiertas ahora mismo en el servidor. En MySQL, una sesión que espera un lock muestra qué otra sesión la está bloqueando. Es una foto con su propio botón de refresco y no un sondeo cada cinco segundos: releer la lista completa de sesiones a ese ritmo cuesta más de lo que aporta.

    Ventana ampliada

  • Índices

    Todos los índices de tus tablas más grandes, ordenados por cuántas veces se han leído de verdad desde el último reinicio de los contadores. Uno que aparece como «sin uso» tiene cero lecturas, lo cual merece una mirada — y no es lo mismo que decir que se puede borrar. Pulse solo afirma lo primero.

    Ventana ampliada

  • Histórico

    Los mismos números en vivo, pero de las últimas 24 horas, 7 días o 30 días, para que la pregunta pueda ser «¿ayer también iba lento?» y no solo «¿va lento ahora?». Esta vista necesita que el histórico se haya estado registrando.

    Rangos24 h7 d30 d

    Ventana ampliada

De dónde salen los números

Sin agente que instalar, sin exporter que levantar y sin abrir un puerto más. Pulse lanza las mismas sentencias y comandos que podrías escribir tú, por la conexión que ya tienes, y no escribe nada.

MySQL

  • SHOW GLOBAL STATUS
  • SHOW GLOBAL VARIABLES
  • SHOW TABLE STATUS
  • SHOW FULL PROCESSLIST
  • performance_schema.events_statements_summary_by_digest
  • performance_schema.data_lock_waits
  • sys.schema_index_statistics

MongoDB

  • serverStatus
  • profile: -1
  • system.profile
  • $collStats
  • $currentOp
  • $indexStats
  • explain

Lo que un servidor entrega depende de los privilegios del usuario con el que te conectas, y dos de las vistas necesitan algo activado: MySQL lee sus cifras por sentencia de performance_schema, y MongoDB las lee del profiler de la base de datos, que está apagado hasta que lo enciendes. Cuando una lectura se deniega, Pulse deja el número fuera y dice qué no ha podido leer: una métrica que falta y un cero son respuestas distintas.

El histórico es opcional, conexión por conexión

Todo lo anterior es solo en vivo: cierras la ventana y se ha ido. Activas el muestreo para una conexión en Preferencias → Pulse y HuginnDB lee sus constantes vitales en segundo plano y las va guardando en una pequeña base de datos propia en tu máquina, completamente aparte de lo que guarde la conexión en sí. Las muestras de más de 48 horas se adelgazan a un punto cada cinco minutos, y lo que pasa de la ventana de retención se borra.

Apagado por defecto y por conexión: activarlo en un servidor no empieza a vigilar otro.

Fichero de histórico local
pulse.db
Refresco en vivo, en pantalla
5 s
Muestreo de fondo, por conexión
60 s
Histórico guardado
30 d
Resolución completa
48 h → 5 min
Presupuesto de disco
20 MB
shop · mysqlstorage
AlmacenamientoDatosÍndicesLibre
  • order_items4.2 GB

  • orders1.1 GB

  • customers312 MB

Una ilustración de la interfaz, dibujada con el estilo de esta página. Ver las capturas reales

O pregúntale a un asistente por qué va lento

Todo lo que muestra Pulse está también en el conector MCP de HuginnDB, así que un cliente ya conectado puede preguntar «por qué va lento este servidor» o «qué le pasó la semana pasada» y recibir tus números reales en vez de una suposición.

  • pulse_health
  • pulse_metrics
  • pulse_top_queries
  • pulse_explain
  • pulse_storage
  • pulse_sessions
  • pulse_index_usage

Las siete son de lectura. En esta familia no hay ninguna herramienta de escritura con ninguna política: un asistente puede medir el servidor por Pulse y nunca cambiarlo.

Cómo funciona el conector MCP

La app incluye una guía completa de Pulse junto a su propia documentación: docs/PULSE.md