MonitoringTargetListOut — lista de equipos sin las claves solo-Agente (1,05 MB → ~0,1 MB)
Propósito
La lista de targets de monitorización viajaba al frontend con TODAS sus claves, incluidas varias que solo usa el Agente local (monitoring_oids, selected_interfaces, fast_poll_oids) y que el navegador nunca necesita. En el CCIB, con la flota real del evento, esa lista pesaba 1,05 MB por recarga; el presupuesto de payload medido el 16-09 exigía la mitad.
Contrato
MonitoringTargetListOut(schema Ninja enmonitoring/api/schemas.py) es la forma slim de la lista — sin las claves solo-Agente. El endpoint de listado la usa por defecto.public_config_slim(enmonitoring/models.py) es el método del modelo que produce esa versión reducida a partir de la configuración completa.- La ficha completa (
GET /targets/{id}) sigue devolviendo TODAS las claves — nada cambia ahí, y unPUTdesde una fila de la lista no borra las claves solo-Agente porque nunca las tuvo que enviar de vuelta. - El Observatory pide la ficha completa una sola vez al abrir la pestaña de detalle (
ObservatoryTargetDetail.js); el refresco periódico de la lista usa siempre la versión slim y no la pierde.
Resultado medido
1,05 MB → ~0,1 MB por recarga de la lista (factor ~10x), medido contra la carga real del CCIB.
Dependencias
monitoring/api/targets.py— endpoint de listado, usa el schema slim.static/js/pages/observatory.js+ObservatoryTargetDetail.js— consumen la ficha completa solo al abrir detalle.- Tests:
tests/monitoring/test_targets_list_slim_config.py(86 líneas, pytest) + 4 tests vitest (observatory_target_detail.test.js).
Commits relacionados
3b047c97(16-09-2026) — v1.135.3, s329.
Véase también
- [[feature—monitoring—dashboard-customize]]
- [[feature—network—deep-discovery-batch-dispatch]]
- [[incident—20260916—graficas-bandwidth-caidas-falsas-eurofinance]]
- [[incident—20260915—vmalert-alertas-ciegas]]