You can collect much of this data for yourself on a GNU Linux system by using the
cgroups feature of the Linux kernel which is more powerful than
nice https://www.kernel.org/doc/Documentation/cgroup-v1/cgroups.t... .
Using the various CPU* options, you can turn on CPUAccounting, pin a given process and its children/threads to a range of CPUs, place CPUQuotas and so forth. There's a lot of power and granularity there.
I know, anecdotally, that devops/sysadmin folk use this to also audit and test energy consumption of processes over time. (Certain popular PID 1 programs have a run tool that allows you to easily, dynamically change and audit process resource usage.)
My typical use case, for instance, is auditing and managing various Emacs' processes lifetimes while running potentially racy elisp code.