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.
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.
| Sentencia | Ejecuciones | Media | Más lenta | Examinadas / devueltas |
|---|---|---|---|---|
| SELECT `id`, `total` FROM `orders` WHERE `customer_id` = ? | 1.2 M | 0.8 ms | 31 ms | 1.2 M / 1.2 M |
| SELECT COUNT(*) FROM `order_items` WHERE `sku` LIKE ?sin índice | 48 K | 412 ms | 2.9 s | 96 M / 48 K |
| UPDATE `inventory` SET `stock` = ? WHERE `sku` = ? | 210 K | 1.4 ms | 84 ms | 210 K / 0 |
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 STATUSSHOW GLOBAL VARIABLESSHOW TABLE STATUSSHOW FULL PROCESSLISTperformance_schema.events_statements_summary_by_digestperformance_schema.data_lock_waitssys.schema_index_statistics
MongoDB
serverStatusprofile: -1system.profile$collStats$currentOp$indexStatsexplain
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
order_items4.2 GB
orders1.1 GB
customers312 MB
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_healthpulse_metricspulse_top_queriespulse_explainpulse_storagepulse_sessionspulse_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.
La app incluye una guía completa de Pulse junto a su propia documentación: docs/PULSE.md