user@devops:~$ cat README.md
CPU Scheduler Analyzer
# Descripción
CPU Scheduler Analyzer es un analizador completo del planificador de CPU de Linux que inspecciona la topología de procesadores, frecuencias de escalado y políticas de planificación de procesos. Desarrollado en C++23 con CLI11 para el parsing de argumentos, nlohmann_json para salida JSON estructurada, y spdlog para logging. Lee información de /proc/cpuinfo (modelo, núcleos, siblings, paquete físico), /sys/devices/system/cpu/cpu*/cpufreq/ (governor, frecuencia actual/mínima/máxima), /proc/stat (uso de CPU por núcleo y total), /proc/[pid]/stat (política de planificación, prioridad, nice, estado) y /sys/devices/system/node/ (topología NUMA con CPUs y memoria). Incluye flags de selección por categoría (--cpu, --freq, --usage, --sched, --numa), salida JSON para integración con scripts, modo leyenda (--legend) con explicación de políticas, y número configurable de procesos a mostrar (--max-pids). Arquitectura library/executable con tests unitarios en Catch2.
# Características principales
$ Topología CPU: modelo, cores, siblings, paquete físico con formato tabular
$ Frecuencia CPU: governor actual, frecuencias min/max/actual de cada núcleo en MHz
$ Uso CPU: lecturas de /proc/stat por núcleo con valores user/nice/system/idle/iowait/irq/softirq/steal
$ Planificación de procesos: política (SCHED_OTHER/FIFO/RR/BATCH/IDLE/DEADLINE), prioridad, nice, estado, CPU ticks
$ Topología NUMA: nodos, CPUs asociadas, memoria total y libre con formato tabular
$ Salida JSON (--json) para integración con scripts y herramientas de monitoreo
$ Flags de selección por categoría y leyenda de políticas de planificación
# Galería
# Tecnologías utilizadas