user@devops:~$ cat README.md
CPU Scheduler Analyzer
# Descrição
CPU Scheduler Analyzer e um analisador completo do escalonador de CPU do Linux que inspeciona a topologia de processadores, frequencias de scaling e politicas de escalonamento de processos. Desenvolvido em C++23 com CLI11 para analise de argumentos, nlohmann_json para saida JSON estruturada, e spdlog para logging. Le informacoes de /proc/cpuinfo (modelo, nucleos, siblings, pacote fisico), /sys/devices/system/cpu/cpu*/cpufreq/ (governor, frequencia atual/minima/maxima), /proc/stat (uso de CPU por nucleo e total), /proc/[pid]/stat (politica de escalonamento, prioridade, nice, estado) e /sys/devices/system/node/ (topologia NUMA com CPUs e memoria). Inclui flags de selecao por categoria (--cpu, --freq, --usage, --sched, --numa), saida JSON para integracao com scripts, modo legenda (--legend) com explicacao de politicas, e numero configuravel de processos (--max-pids). Arquitetura library/executable com testes unitarios em Catch2.
# Características principais
$ Topologia CPU: modelo, cores, siblings, pacote fisico com formato tabular
$ Frequencia CPU: governor atual, frequencias min/max/atual de cada nucleo em MHz
$ Uso CPU: leituras de /proc/stat por nucleo com valores user/nice/system/idle/iowait/irq/softirq/steal
$ Escalonamento de processos: politica (SCHED_OTHER/FIFO/RR/BATCH/IDLE/DEADLINE), prioridade, nice, estado, CPU ticks
$ Topologia NUMA: nos, CPUs associadas, memoria total e livre com formato tabular
$ Saida JSON (--json) para integracao com scripts e ferramentas de monitoramento
$ Flags de selecao por categoria e legenda de politicas de escalonamento
# Galeria
# Tecnologias utilizadas