Skip to content

Instantly share code, notes, and snippets.

@lab3
Last active October 21, 2016 18:27
Show Gist options
  • Save lab3/d3faeec81a16dfc41a396b040b22aec4 to your computer and use it in GitHub Desktop.
Save lab3/d3faeec81a16dfc41a396b040b22aec4 to your computer and use it in GitHub Desktop.
#!/bin/bash
INTERVAL="1" # update interval in seconds
if [ -z "$1" ]; then
echo
echo usage: $0 [network-interface]
echo
echo e.g. $0 eth0
echo
echo shows packets-per-second, bytes-per-second, drops-per-second
exit
fi
IF=$
D=`date +%H:%M:%S`
printf "%s %+7s %+7s %+10s %+10s %+8s %+8s\n" $D tx-MB rx-MB tx-packets rx-packets tx-drops rx-drops
while true
do
D=`date +%H:%M:%S`
A1=`cat /sys/class/net/$1/statistics/rx_packets`
B1=`cat /sys/class/net/$1/statistics/tx_packets`
C1=`cat /sys/class/net/$1/statistics/rx_bytes`
D1=`cat /sys/class/net/$1/statistics/tx_bytes`
E1=`cat /sys/class/net/$1/statistics/rx_dropped`
F1=`cat /sys/class/net/$1/statistics/tx_dropped`
sleep $INTERVAL
A2=`cat /sys/class/net/$1/statistics/rx_packets`
B2=`cat /sys/class/net/$1/statistics/tx_packets`
C2=`cat /sys/class/net/$1/statistics/rx_bytes`
D2=`cat /sys/class/net/$1/statistics/tx_bytes`
E2=`cat /sys/class/net/$1/statistics/rx_dropped`
F2=`cat /sys/class/net/$1/statistics/tx_dropped`
MB=1048576
TXPPS=`expr $B2 - $B1`
RXPPS=`expr $A2 - $A1`
TXBPS=`bc -l <<< "scale=2;($D2 - $D1) / $MB"`
RXBPS=`bc -l <<< "scale=2;($C2 - $C1) / $MB"`
TXDRP=`expr $F2 - $F1`
RXDRP=`expr $E2 - $E1`
#echo -e "$TXBPS\t\t$RXBPS\t\t$TXPPS\t\t$RXPPS\t\t$TXDRP\t\t$RXDRP"
printf "%s %+7s %+7s %+10s %+10s %+8s %+8s\n" $D $TXBPS $RXBPS $TXPPS $RXPPS $TXDRP $RXDRP
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment