From 67b3dabad31cf4905d7007b693567cb6c5f06667 Mon Sep 17 00:00:00 2001 From: Mike Crute Date: Sat, 3 Dec 2022 16:01:25 -0800 Subject: Add speed test script --- bin/speedtest.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 bin/speedtest.py diff --git a/bin/speedtest.py b/bin/speedtest.py new file mode 100755 index 0000000..2c9a529 --- /dev/null +++ b/bin/speedtest.py @@ -0,0 +1,31 @@ +#!/home/mcrute/.local/bin/python3 + +import json +import subprocess +from urllib import request + +def bits_per_second(bytes, seconds): + return round(((bytes/seconds) * 8)) + +r = subprocess.run( + ["/usr/bin/iperf3", "-J", "-c", "23.149.16.1"], capture_output=True) + +results = json.loads(r.stdout) + +sent_seconds = results["end"]["sum_sent"]["seconds"] +sent_bytes = results["end"]["sum_sent"]["bytes"] + +received_seconds = results["end"]["sum_received"]["seconds"] +received_bytes = results["end"]["sum_received"]["bytes"] + +req = request.Request( + "http://monitoring-1.sea1.crute.me:9091/metrics/job/wave_bandwidth_monitor", + method="POST") + +req.add_header("Content-Type", "text/plain") +request.urlopen(req, + data="bandwidth_sent_bps {}\n".format( + bits_per_second(sent_bytes, sent_seconds)).encode("us-ascii")) +request.urlopen(req, + data="bandwidth_received_bps {}\n".format( + bits_per_second(received_bytes, received_seconds)).encode("us-ascii")) -- cgit v1.2.3