Parcourir la source

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 il y a 4 ans
Parent
commit
2be3e7a0a4
1 fichiers modifiés avec 11 ajouts et 2 suppressions
  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)