Volver a la wiki

Modal de detalle de servicios vigilados en la cabecera del dashboard

Descripción

El pill “N servicios” de la cabecera del dashboard daba solo el número total y un estado agregado (all green / en rojo si algo caía). Sin embargo, el usuario no sabía qué servicio específico había fallado ni en cuál servidor.

Esta feature hace el pill interactivo: ahora es un botón que al clicar abre un modal que desglosa todos los servicios vigilados, agrupados por servidor (prod, stage, ops, dca) con su nombre legible, estado actual (UP/DOWN/sin datos), código HTTP del error (si aplica) y frescura del dato.

Además, el modal muestra los monitores externos de UptimeRobot con su estado (UP/DOWN/PAUSED), uptime ratio y latencia.

Responsabilidad

Comportamiento

Pill interactivo (ServerStatusPill)

Estructura en dos secciones:

1. Servicios internos

Agrupados por servidor con orden fijo: prod, stage, ops, dca. Cada servidor desconocido cae al final con su clave tal cual.

Cada fila (servicio):

2. Monitores externos

UptimeRobot: estado (UP/DOWN/PAUSED) + uptime ratio (%) + latencia (ms).

La naturaleza se deduce del nombre del monitor (patrones como “SSL”, “workspace”, “channel”, “prod”):

Pie del modal

Archivos modificados

Dependencias

UX/Accesibilidad

Notas técnicas

  1. Sin re-fetch: el modal recibe los mismos objetos services y monitors que ya carga el pill. No hay delay esperando datos nuevos.
  2. Filtro de monitores pausados: la lógica es idéntica a la del pill. Un monitor en estado paused no cuenta hacia el total de vigilancia activa.
  3. Orden de servidores: constante SERVER_ORDER — si hay un servidor no conocido, se añade al final del grupo en orden de aparición.
  4. Formateo de edades: función formatAge(min) convierte minutos a etiqueta legible (“hace 5 min”, “hace 3 h”, “hace 2 días”).
  5. Deducción de naturaleza: función monitorNature(m) busca patrones en el nombre del monitor antes de extraer hostname de la URL.

Véase también

Subir