Kilroy
Agente de monitoreo de energía para Linux que nunca inventa un vatio en silencio: cuando no puede medir de verdad, lo declara en el informe.
This case study hasn't been translated yet — the text below is in Spanish. Read it on the Spanish site
Outcome
Cero
datos inventados cuando no puede medir de verdad
Cada 30 min
informe al día sin que nadie lo pida
100%
del análisis ocurre en tu propio equipo
Tus datos
siguen ahí aunque desinstales el programa
Constraints
- Sin acceso a RAPL el agente no puede medir consumo real. En vez de estimar en silencio, declara la calidad de la medición en el propio informe y explica qué puede y qué no puede medir ese equipo.
- Leer RAPL sin sudo exige una regla udev que toca permisos del sistema. El instalador la pide con consentimiento explícito, nunca la aplica por defecto.
- Desinstalar no borra la base de datos. Los datos de consumo son del usuario, no del programa que los recogió.
El problema
Medir cuánta energía consume cada aplicación en Linux es fácil de hacer mal. Las herramientas que existen suelen dar un número redondo y confiado sin decir de dónde salió, y ese número cambia por completo según el hardware: una CPU con RAPL entrega lecturas reales del contador del procesador; una sin RAPL solo permite estimar.
El problema de fondo no es técnico, es de honestidad del dato. Un número estimado presentado igual que uno medido convierte la herramienta en algo peor que no tener herramienta, porque ahora hay una cifra en la que apoyarse.
Lo que decidí, y por qué
La calidad de la medición es parte del dato, no una nota al pie. kilroy --sources
existe antes que cualquier informe: dice qué puede medir ese equipo y qué no. El informe
declara si los vatios son medidos o estimados. Es la decisión que ordena el resto del
diseño, y la que más código de presentación cuesta.
Un daemon de usuario, no un servicio de sistema. Corre como servicio de usuario de
systemd con linger habilitado, así sigue midiendo sin sesión abierta pero sin pedir
privilegios de root para operar. El único punto donde se tocan permisos del sistema es la
regla udev que permite leer energy_uj sin sudo, y el instalador la pide con
consentimiento explícito en vez de aplicarla callando.
El informe se regenera solo. Un timer lo reconstruye cada 30 minutos y otro, a la semana de instalar, recuerda mirarlo. Una herramienta de medición que exige acordarse de correr un comando termina midiendo nada.
Validación contra el mundo real. --validar-desktop compara contra un medidor de
enchufe externo y --validar-laptop contrasta power_now de la batería contra RAPL
ciclo a ciclo. Sin una forma de contrastar, la calidad declarada sería otra afirmación
sin respaldo.
Qué me llevo
Que 53 de los archivos del proyecto sean pruebas no es disciplina por gusto: en una herramienta de medición, un error silencioso no se nota nunca. El fallo no llega como una excepción, llega como un número plausible.