summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Crute <mike@crute.us>2022-12-03 16:01:25 -0800
committerMike Crute <mike@crute.us>2022-12-03 16:01:43 -0800
commit67b3dabad31cf4905d7007b693567cb6c5f06667 (patch)
tree0d016adb77ddd0921b47e3c1eda9bed0b1bbb779
parent77945494eedb70f426965e2a588dbeb54254549c (diff)
downloaddotfiles-67b3dabad31cf4905d7007b693567cb6c5f06667.tar.bz2
dotfiles-67b3dabad31cf4905d7007b693567cb6c5f06667.tar.xz
dotfiles-67b3dabad31cf4905d7007b693567cb6c5f06667.zip
Add speed test script
-rwxr-xr-xbin/speedtest.py31
1 files changed, 31 insertions, 0 deletions
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 @@
1#!/home/mcrute/.local/bin/python3
2
3import json
4import subprocess
5from urllib import request
6
7def bits_per_second(bytes, seconds):
8 return round(((bytes/seconds) * 8))
9
10r = subprocess.run(
11 ["/usr/bin/iperf3", "-J", "-c", "23.149.16.1"], capture_output=True)
12
13results = json.loads(r.stdout)
14
15sent_seconds = results["end"]["sum_sent"]["seconds"]
16sent_bytes = results["end"]["sum_sent"]["bytes"]
17
18received_seconds = results["end"]["sum_received"]["seconds"]
19received_bytes = results["end"]["sum_received"]["bytes"]
20
21req = request.Request(
22 "http://monitoring-1.sea1.crute.me:9091/metrics/job/wave_bandwidth_monitor",
23 method="POST")
24
25req.add_header("Content-Type", "text/plain")
26request.urlopen(req,
27 data="bandwidth_sent_bps {}\n".format(
28 bits_per_second(sent_bytes, sent_seconds)).encode("us-ascii"))
29request.urlopen(req,
30 data="bandwidth_received_bps {}\n".format(
31 bits_per_second(received_bytes, received_seconds)).encode("us-ascii"))