From 50782f759e370a52030f93db65ae6960745afe7b Mon Sep 17 00:00:00 2001 From: Jan-Philipp Litza <janphilipp@litza.de> Date: Thu, 16 Jan 2014 22:24:57 +0100 Subject: [PATCH] alfred: make traffic counters absolute After a lenghty discussion, we settled on absolute vs. relative values. Main reasons: * stateless implementation on node possible * convertable to relative values by differentiaion on receiver * missed transmissions only decrease granularity, whereas relative values would introduce wrong numbers on integration if values are missed --- .../files/lib/gluon/alfred/announce.sh | 26 +++---------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/package/gluon-alfred/files/lib/gluon/alfred/announce.sh b/package/gluon-alfred/files/lib/gluon/alfred/announce.sh index 0d716c596..c4f88c61b 100755 --- a/package/gluon-alfred/files/lib/gluon/alfred/announce.sh +++ b/package/gluon-alfred/files/lib/gluon/alfred/announce.sh @@ -15,28 +15,9 @@ fi # set defaults [ -z "$ALFRED_DATA_TYPE" ] && ALFRED_DATA_TYPE=158 [ -z "$NET_IF" ] && NET_IF=br-client -[ -z "$TRAFFIC_FILE" ] && TRAFFIC_FILE=/var/run/traffic set -e -get_traffic() { - if [ -f "$TRAFFIC_FILE" ]; then - OLD_TIME="$(cut -d' ' -f1 "$TRAFFIC_FILE")" - OLD_RX="$(cut -d' ' -f2 "$TRAFFIC_FILE")" - OLD_TX="$(cut -d' ' -f3 "$TRAFFIC_FILE")" - else - OLD_TIME=0 - OLD_RX=0 - OLD_TX=0 - fi - NEW_TIME="$(cut -d' ' -f1 /proc/uptime)" - NEW_RX="$(cat /sys/class/net/bat0/statistics/rx_bytes)" - NEW_TX="$(cat /sys/class/net/bat0/statistics/tx_bytes)" - echo "$NEW_TIME $NEW_RX $NEW_TX" > "$TRAFFIC_FILE" - echo "$OLD_TIME $OLD_RX $OLD_TX $NEW_TIME $NEW_RX $NEW_TX" |\ - awk '{tdiff=$4-$1; print ($5-$2)/tdiff " " ($6-$3)/tdiff;}' -} - json_init json_add_string "hostname" "$(uci get 'system.@system[0].hostname')" @@ -83,11 +64,10 @@ json_close_object # network json_add_object "statistics" json_add_int "uptime" "$(cut -d' ' -f1 /proc/uptime)" - TRAFFIC="$(get_traffic)" json_add_object "traffic" - json_add_double "rx" "$(echo $TRAFFIC | cut -d' ' -f1)" - json_add_double "tx" "$(echo $TRAFFIC | cut -d' ' -f2)" - json_close_object + json_add_double "rx" "$(cat /sys/class/net/bat0/statistics/rx_bytes)" + json_add_double "tx" "$(cat /sys/class/net/bat0/statistics/tx_bytes)" + json_close_object # traffic json_close_object # statistics json_dump | tr -d '\n' | alfred -s "$ALFRED_DATA_TYPE" -- GitLab