Mercurial > repos > other > usr-local-bin
annotate load-graph @ 38:737061eac1d0 default tip
Skip more large videos and some permission issues
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Wed, 18 Aug 2021 20:40:17 +0100 |
parents | 72e04923c4d4 |
children |
rev | line source |
---|---|
19
e245a271fc44
Add scripts for recording/displaying CPU and GPU activity
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
1 #! /bin/bash |
e245a271fc44
Add scripts for recording/displaying CPU and GPU activity
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
2 |
e245a271fc44
Add scripts for recording/displaying CPU and GPU activity
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
3 start="-6h" |
29
c2584db4a650
Make load recording more flexible and efficient
IBBoard <dev@ibboard.co.uk>
parents:
24
diff
changeset
|
4 end="-0h" |
19
e245a271fc44
Add scripts for recording/displaying CPU and GPU activity
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
5 |
e245a271fc44
Add scripts for recording/displaying CPU and GPU activity
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
6 if [ $# -eq 1 ] |
e245a271fc44
Add scripts for recording/displaying CPU and GPU activity
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
7 then |
e245a271fc44
Add scripts for recording/displaying CPU and GPU activity
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
8 start=$1 |
24
2576b5cfb71c
Add an "end" parameter to performance chart plotting
IBBoard <dev@ibboard.co.uk>
parents:
20
diff
changeset
|
9 elif [ $# -eq 2 ] |
2576b5cfb71c
Add an "end" parameter to performance chart plotting
IBBoard <dev@ibboard.co.uk>
parents:
20
diff
changeset
|
10 then |
2576b5cfb71c
Add an "end" parameter to performance chart plotting
IBBoard <dev@ibboard.co.uk>
parents:
20
diff
changeset
|
11 start=$1 |
2576b5cfb71c
Add an "end" parameter to performance chart plotting
IBBoard <dev@ibboard.co.uk>
parents:
20
diff
changeset
|
12 end=$2 |
19
e245a271fc44
Add scripts for recording/displaying CPU and GPU activity
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
13 fi |
e245a271fc44
Add scripts for recording/displaying CPU and GPU activity
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
14 |
29
c2584db4a650
Make load recording more flexible and efficient
IBBoard <dev@ibboard.co.uk>
parents:
24
diff
changeset
|
15 cpu_count=$(lscpu|grep '^CPU(s)'|awk '{print $2}') |
c2584db4a650
Make load recording more flexible and efficient
IBBoard <dev@ibboard.co.uk>
parents:
24
diff
changeset
|
16 |
c2584db4a650
Make load recording more flexible and efficient
IBBoard <dev@ibboard.co.uk>
parents:
24
diff
changeset
|
17 cpu_lines=() |
c2584db4a650
Make load recording more flexible and efficient
IBBoard <dev@ibboard.co.uk>
parents:
24
diff
changeset
|
18 |
c2584db4a650
Make load recording more flexible and efficient
IBBoard <dev@ibboard.co.uk>
parents:
24
diff
changeset
|
19 for ((i=1; i<=cpu_count; i++)); do |
31
72e04923c4d4
Plot MAX load values to avoid graph length caps
IBBoard <dev@ibboard.co.uk>
parents:
30
diff
changeset
|
20 cpu_lines+=("DEF:core${i}=$HOME/.load.rrd:core${i}:MAX") |
29
c2584db4a650
Make load recording more flexible and efficient
IBBoard <dev@ibboard.co.uk>
parents:
24
diff
changeset
|
21 cpu_lines+=("LINE1:core${i}#99000040:\"Core-${i}\"") |
c2584db4a650
Make load recording more flexible and efficient
IBBoard <dev@ibboard.co.uk>
parents:
24
diff
changeset
|
22 done |
c2584db4a650
Make load recording more flexible and efficient
IBBoard <dev@ibboard.co.uk>
parents:
24
diff
changeset
|
23 |
30 | 24 rrdtool graph /tmp/load-percent.png -w 1280 -h 1024 -a PNG --start "$start" --end "$end" --title "CPU/GPU load" \ |
19
e245a271fc44
Add scripts for recording/displaying CPU and GPU activity
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
25 --vertical-label "Usage (%)" \ |
29
c2584db4a650
Make load recording more flexible and efficient
IBBoard <dev@ibboard.co.uk>
parents:
24
diff
changeset
|
26 ${cpu_lines[@]} \ |
31
72e04923c4d4
Plot MAX load values to avoid graph length caps
IBBoard <dev@ibboard.co.uk>
parents:
30
diff
changeset
|
27 DEF:CPU=$HOME/.load.rrd:core_avg:MAX \ |
72e04923c4d4
Plot MAX load values to avoid graph length caps
IBBoard <dev@ibboard.co.uk>
parents:
30
diff
changeset
|
28 DEF:GPU=$HOME/.load.rrd:GPU:MAX \ |
19
e245a271fc44
Add scripts for recording/displaying CPU and GPU activity
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
29 LINE2:CPU#990000:"CPU" \ |
e245a271fc44
Add scripts for recording/displaying CPU and GPU activity
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
30 LINE2:GPU#009900:"GPU" \ |
30 | 31 && rrdtool graph /tmp/load-type.png -w 1280 -h 1024 -a PNG --start "$start" --end "$end" --title "CPU task types" \ |
19
e245a271fc44
Add scripts for recording/displaying CPU and GPU activity
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
32 --vertical-label "Usage (%)" \ |
31
72e04923c4d4
Plot MAX load values to avoid graph length caps
IBBoard <dev@ibboard.co.uk>
parents:
30
diff
changeset
|
33 DEF:user=$HOME/.load.rrd:user:MAX \ |
72e04923c4d4
Plot MAX load values to avoid graph length caps
IBBoard <dev@ibboard.co.uk>
parents:
30
diff
changeset
|
34 DEF:system=$HOME/.load.rrd:system:MAX \ |
72e04923c4d4
Plot MAX load values to avoid graph length caps
IBBoard <dev@ibboard.co.uk>
parents:
30
diff
changeset
|
35 DEF:iowait=$HOME/.load.rrd:iowait:MAX \ |
20
31a626c71eab
Change load type colours to be easier to read
IBBoard <dev@ibboard.co.uk>
parents:
19
diff
changeset
|
36 AREA:iowait#888888:"I/O Wait" \ |
31a626c71eab
Change load type colours to be easier to read
IBBoard <dev@ibboard.co.uk>
parents:
19
diff
changeset
|
37 STACK:system#6666FF:"System" \ |
31a626c71eab
Change load type colours to be easier to read
IBBoard <dev@ibboard.co.uk>
parents:
19
diff
changeset
|
38 STACK:user#CCCC66:"User" \ |
30 | 39 && rrdtool graph /tmp/load-memory.png -w 1280 -h 1024 -a PNG --start "$start" --end "$end" --title "Memory" \ |
29
c2584db4a650
Make load recording more flexible and efficient
IBBoard <dev@ibboard.co.uk>
parents:
24
diff
changeset
|
40 --vertical-label "Usage (%)" \ |
31
72e04923c4d4
Plot MAX load values to avoid graph length caps
IBBoard <dev@ibboard.co.uk>
parents:
30
diff
changeset
|
41 DEF:mem_used=$HOME/.load.rrd:mem_used:MAX \ |
72e04923c4d4
Plot MAX load values to avoid graph length caps
IBBoard <dev@ibboard.co.uk>
parents:
30
diff
changeset
|
42 DEF:mem_buffers=$HOME/.load.rrd:mem_buffers:MAX \ |
29
c2584db4a650
Make load recording more flexible and efficient
IBBoard <dev@ibboard.co.uk>
parents:
24
diff
changeset
|
43 AREA:mem_used#888888:"Used" \ |
c2584db4a650
Make load recording more flexible and efficient
IBBoard <dev@ibboard.co.uk>
parents:
24
diff
changeset
|
44 STACK:mem_buffers#cccccc:"Buffers" \ |
19
e245a271fc44
Add scripts for recording/displaying CPU and GPU activity
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
45 && eog /tmp/load-*.png |
e245a271fc44
Add scripts for recording/displaying CPU and GPU activity
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
46 rm -f /tmp/load-*.png |