Skip to content
Snippets Groups Projects
Commit 50782f75 authored by Jan-Philipp Litza's avatar Jan-Philipp Litza
Browse files

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
parent 6bf44622
No related branches found
No related tags found
No related merge requests found
......@@ -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"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment