summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2014-03-26 03:13:49 +0100
committermakefu <github@syntax-fehler.de>2014-03-26 03:13:49 +0100
commit366248702d97942bb96bb3db2eccb15c94821c22 (patch)
tree8a27f11f9cd87ab9c0189d4dc0d03798b229bf2e
parent4ffa4557c614a2d0171da259212cfb6191d040d2 (diff)
filehooker: add total transmission
-rw-r--r--filehooker/root-image/krebs/etc/Reaktor/commands/io25
1 files changed, 25 insertions, 0 deletions
diff --git a/filehooker/root-image/krebs/etc/Reaktor/commands/io b/filehooker/root-image/krebs/etc/Reaktor/commands/io
new file mode 100644
index 00000000..eb04ae9b
--- /dev/null
+++ b/filehooker/root-image/krebs/etc/Reaktor/commands/io
@@ -0,0 +1,25 @@
+#!/usr/bin/zsh
+printf '%-10s %-7s %-7s %-7s %-7s\n' IFACE rxkB/s txkB/s rxTotal txTotal
+sar -n DEV 1 3 | grep Average: | grep -v IFACE | grep -v ' lo ' | while read line;do
+ dev=$(echo $line | awk '{print $2}')
+ rxkb=$(echo $line | awk '{print $5}')
+ txkb=$(echo $line | awk '{print $6}')
+ total_bytes_r=$(cat /proc/net/dev | grep ${dev}: | awk '{print $2}')
+ total_bytes_t=$(cat /proc/net/dev | grep ${dev}: | awk '{print $10}')
+
+ printf '%-10s %-7s %-7s %-7s %-7s\n' $dev $rxkb $txkb $((total_bytes_r / (1024*1024))) $((total_bytes_t / (1024*1024)))
+done
+printf "%-10s %-7s %-7s\n" "DSK" "rxkB/s" "txkB/s"
+sar -p -d 1 3 | grep Average: | grep -v ' DEV ' |while read line;
+do
+ dsk=$(echo $line | awk '{print $2}')
+ rd_sec=$(echo $line | awk '{print $4}')
+ wr_sec=$(echo $line | awk '{print $5}')
+ if echo $dsk | egrep -q '(sd|hd|vd)';then
+ # TODO for some reason 0.00 can only be interpreted correctly as arithmetic
+ # expession by zsh
+ #
+ # rd is counted in blocks (which is 512 bytes)
+ printf "%-10s %-7.2f %-7.2f\n" "/dev/$dsk" "$((rd_sec*2))" "$((wr_sec*2))"
+ fi
+done