I run ioreg every second and redirect the output to a file in csv format, which I can then edit in any spreadsheet program and convert into a chart:
# Grab the column headers from ioreg's output:
ioreg -l |grep \"PerformanceStatistics\" | cut -d '{' -f 2 | tr '|' ',' | tr -d '}' | tr ',' '\n'|grep 'Temp\|Fan\|%\|(W)\|Hz'|cut -d\" -f2|tr '\n' ',' && printf '\n'
# Grab the values every second:
while true
do
ioreg -l |grep \"PerformanceStatistics\" | cut -d '{' -f 2 | tr '|' ',' | tr -d '}' | tr ',' '\n'|grep 'Temp\|Fan\|%\|(W)\|Hz'|cut -d\" -f3|tr -d '='|tr '\n' ',' && printf '\n'
sleep 1
done
I should be limiting ioreg's output somehow, but documentation is scarce.
"ioreg -l -n display@0 -r" limits the output somewhat, but ideally I'd only like to see output for 'AMDRadeonX5000_AMDVega10GraphicsAccelerator', I've not figured out howto though.
I tested with the Eulysium sample but I just ran it once, I'll run it continuously in a minute.
Bench order for the following chart: Luxball, Tomb Raider's Benchmark (TRB), Neumann, TRB, Hotel Lobby, TRB, Elysium, Luxball, TRB, Neumann, TRB, Hotel Lobby, Elysium.
Red = Core MHz, Green = Fan Speed.
View attachment 776877