This PR updates the dashboard to display the current frequency of each CPU core instead of a static maximum frequency when cpufreq is active on non-virtualized systems. A new CPUFreqStats RPC endpoint is introduced to retrieve and display the active frequency, minimum frequency, and governor details for each core. This change provides more dynamic and accurate monitoring of CPU frequency across individual cores.
Why? (reasoning)
With the increasing prevalence of big.LITTLE architectures on ARM and efficiency cores on Intel processors, systems frequently operate cores at different frequencies based on workload demands. The previous static view, which showed only the maximum frequency, failed to represent accurate display mixed-core setups and the real-time clock speed. This update solves that limitation, providing a more accurate and responsive view of CPU performance, especially for configurations with heterogeneous cores. It also resolves issues with SBCs that display 0MHz in /proc/cpuinfo.
Pull Request
What? (description)
This PR updates the dashboard to display the current frequency of each CPU core instead of a static maximum frequency when cpufreq is active on non-virtualized systems. A new
CPUFreqStats
RPC endpoint is introduced to retrieve and display the active frequency, minimum frequency, and governor details for each core. This change provides more dynamic and accurate monitoring of CPU frequency across individual cores.Why? (reasoning)
With the increasing prevalence of big.LITTLE architectures on ARM and efficiency cores on Intel processors, systems frequently operate cores at different frequencies based on workload demands. The previous static view, which showed only the maximum frequency, failed to represent accurate display mixed-core setups and the real-time clock speed. This update solves that limitation, providing a more accurate and responsive view of CPU performance, especially for configurations with heterogeneous cores. It also resolves issues with SBCs that display 0MHz in
/proc/cpuinfo
.Acceptance
Please use the following checklist:
make conformance
)make fmt
)make lint
)make docs
)make unit-tests
)