Unless I’m using the wrong terms in my search it really seems like there’s no tool for Linux that can tell me what processes used the most CPU (typically this has a high correlation with energy usage) in the last hour or 24 hours.
Basically I want something like the Android battery usage app but for Linux.
i must be missing something about your question because this has been a thing for a while in the linux world.
the most recent version i can recall is using prometheus’ node-exporter and a graphite based web user interface that can show power usage graph similar to the android battery usage ap.
I’m guessing this isn’t a totally comprehensive article but I’m not sure it will give the granularity I need: https://betterstack.com/community/guides/monitoring/monitor-linux-prometheus-node-exporter/
I would hope to get process names as part of the export.
nice find; it’s not exactly the way i’ve done it in the past; but the part of prometheus seems solid. and in case you didn’t know, you don’t have to use prometheus, any sort of monitoring system will work. zabbix is more all-in-one including a dashboard and also capable of doing this and you can use a nagios/icinga w grafana combo if prometheus is too odd for you.
in your shoes and i wanted a per process based graph; i would modify node-exporter to pick up additional data from something like a text file and along with custom persistent shell script can write the process names & data to that file.
then i would configure graphite/grafana, to render each graph based on each process. (i only have experience doing this on grafana; so i don’t know if better stack it’s capable of doing this, but i would be surprised if it can’t).