7.3. Vista: Dashboard
El Dashboard es la pantalla de aterrizaje principal
de la aplicación. Se muestra al iniciar la herramienta y su objetivo
es proporcionar una telemetría rápida del estado actual del
sistema sin necesidad de ejecutar ningún escaneo adicional: los datos
se leen directamente desde la base de datos local (system_state_hashes),
mostrando el resultado del último análisis registrado.
Bloques de Telemetría
La vista se organiza en tres bloques de métricas principales, uno por cada categoría de seguimiento del inventario:
-
Contador: Número total de archivos de
configuración detectados en el
$HOME. - Hash estructural: Los primeros 6 caracteres del hash MD5 actual (el hash completo se muestra en tooltip al pasar el cursor).
-
Fecha del último análisis: Timestamp exacto de
la última vez que se calculó el hash (
last_checked_at). - LED de cambios: Indicador visual que se activa cuando el hash calculado en tiempo real difiere del almacenado, alertando de que hay novedades pendientes de procesar.
-
Conteo de dotfiles que han sido identificados y vinculados a
una aplicación conocida en
known_apps_reference. - Hash y timestamp del último cálculo del subconjunto de conocidos.
- LED de cambios para el subconjunto
KNOWNS.
- Conteo de rutas que el motor heurístico no ha logrado identificar automáticamente.
- Hash y timestamp del subconjunto
UNKNOWNS. - LED de cambios para el subconjunto
UNKNOWNS.
Información del Sistema
En la parte inferior del Dashboard se muestra información estática del entorno de ejecución: nombre del equipo (hostname), distribución Linux detectada (os_machine), identificador único de la máquina (machine_id) y la versión actual de dotmng.
Acciones desde el Dashboard
El Dashboard expone cuatro botones de acción que lanzan los pipelines de comprobación sin necesidad de navegar a otra vista:
main_check— Comprobación completa (todos los hashes).check_dotfiles— Solo hash de todos los dotfiles.check_apps— Solo hash de aplicaciones conocidas.check_unknown— Solo hash de desconocidos.
Cada botón lanza un Worker(QThread) independiente para
no bloquear la UI durante el procesamiento (ver sección 4.4.1).