Преглед на файлове

Log stats for fallback relays separately

Fallback relays get much more load than other relays when client churn,
so keep track of their stats separately.
Ian Goldberg преди 4 години
родител
ревизия
2be3e7a0a4
променени са 1 файла, в които са добавени 11 реда и са изтрити 2 реда
  1. 11 2
      simulator.py

+ 11 - 2
simulator.py

@@ -154,15 +154,23 @@ class Simulator:
         relaystats = network.PerfStatsStats(True)
         relaybstats = network.PerfStatsStats(True)
         relaynbstats = network.PerfStatsStats(True)
+        relayfbstats = network.PerfStatsStats(True)
         for r in self.relays:
             logging.debug("%s", r.perfstats)
             relaysent += r.perfstats.bytes_sent
             relayrecv += r.perfstats.bytes_received
             relaystats.accum(r.perfstats)
             if r.perfstats.is_bootstrapping:
-                relaybstats.accum(r.perfstats)
+                if r.is_fallbackrelay:
+                    self.statslogger.error(
+                        "ERROR: fallback relay is bootstrapping?")
+                else:
+                    relaybstats.accum(r.perfstats)
             else:
-                relaynbstats.accum(r.perfstats)
+                if r.is_fallbackrelay:
+                    relayfbstats.accum(r.perfstats)
+                else:
+                    relaynbstats.accum(r.perfstats)
         totsent += relaysent
         totrecv += relayrecv
         clistats = network.PerfStatsStats()
@@ -188,6 +196,7 @@ class Simulator:
         numclients = len(self.clients)
         self.statslogger.info("Dirauths %s", dirastats)
         self.statslogger.info("Relays %s", relaystats)
+        self.statslogger.info("Relays(FB) %s", relayfbstats)
         self.statslogger.info("Relays(B) %s", relaybstats)
         self.statslogger.info("Relays(NB) %s", relaynbstats)
         self.statslogger.info("Clients %s", clistats)