[tor-commits] [sbws/maint-1.1] chg: scaling: Add filtered bandwidth function
juga at torproject.org
juga at torproject.org
Mon Jun 29 07:49:10 UTC 2020
commit 5159662a50b6ae97588e87423d6c56a9014ff91f
Author: juga0 <juga at riseup.net>
Date: Sat May 16 17:07:19 2020 +0000
chg: scaling: Add filtered bandwidth function
to calculate the filtered bandwidth for each relay.
---
sbws/lib/scaling.py | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/sbws/lib/scaling.py b/sbws/lib/scaling.py
new file mode 100644
index 0000000..0fc3f84
--- /dev/null
+++ b/sbws/lib/scaling.py
@@ -0,0 +1,19 @@
+from statistics import mean
+
+
+def bw_measurements_from_results(results):
+ return [
+ dl['amount'] / dl['duration']
+ for r in results for dl in r.downloads
+ ]
+
+
+def bw_filt(bw_measurements):
+ """Filtered bandwidth for a relay.
+
+ It is the equivalent to Torflow's ``filt_sbw``.
+ ``mu`` in this function is the equivalent to Torflow's ``sbw``.
+ """
+ mu = mean(bw_measurements)
+ bws_gte_mean = filter(lambda bw: bw >= mu, bw_measurements)
+ return mean(bws_gte_mean)
More information about the tor-commits
mailing list