commit 1387f91ce469f2c54dfdd067cfd2cd0b3b9099a1 Author: juga0 juga@riseup.net Date: Fri Feb 15 16:06:53 2019 +0000
new: relaylist: Store total consensus count
to the state file. To know the total number of consensus seen in the last days.
Part of #28566. --- sbws/core/scanner.py | 2 +- sbws/lib/relaylist.py | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/sbws/core/scanner.py b/sbws/core/scanner.py index 503f9cc..73d0b0e 100644 --- a/sbws/core/scanner.py +++ b/sbws/core/scanner.py @@ -627,7 +627,7 @@ def run_speedtest(args, conf): # To do not have to pass args and conf to RelayList, pass an extra # argument with the data_period measurements_period = conf.getint('general', 'data_period') - rl = RelayList(args, conf, controller, measurements_period) + rl = RelayList(args, conf, controller, measurements_period, state) cb = CB(args, conf, controller, rl) rd = ResultDump(args, conf) rp = RelayPrioritizer(args, conf, rl, rd) diff --git a/sbws/lib/relaylist.py b/sbws/lib/relaylist.py index 4cac543..3857718 100644 --- a/sbws/lib/relaylist.py +++ b/sbws/lib/relaylist.py @@ -234,7 +234,7 @@ class RelayList: '''
def __init__(self, args, conf, controller, - measurements_period=MEASUREMENTS_PERIOD): + measurements_period=MEASUREMENTS_PERIOD, state=None): self._controller = controller self.rng = random.SystemRandom() self._refresh_lock = Lock() @@ -246,6 +246,7 @@ class RelayList: self._relays = [] # The period of time for which the measurements are keep. self._measurements_period = measurements_period + self._state = state self._refresh()
def _need_refresh(self): @@ -368,6 +369,13 @@ class RelayList: # Set a new list of relays. self._relays = self._init_relays()
+ log.info("Number of consensuses obtained in the last %s days: %s.", + int(self._measurements_period / 24 / 60 / 60), + self.consensus_count) + # NOTE: blocking, writes to file! + if self._state is not None: + self._state['consensus_count'] = self.consensus_count + @property def consensus_count(self): """Number of times a new consensus was obtained."""
tor-commits@lists.torproject.org