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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
dc0cf6bc9fbe Add titles to graphs
IBBoard <dev@ibboard.co.uk>
parents: 29
diff changeset
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
dc0cf6bc9fbe Add titles to graphs
IBBoard <dev@ibboard.co.uk>
parents: 29
diff changeset
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
dc0cf6bc9fbe Add titles to graphs
IBBoard <dev@ibboard.co.uk>
parents: 29
diff changeset
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