Explorar el Código

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 hace 4 años
padre
commit
2be3e7a0a4
Se han modificado 1 ficheros con 11 adiciones y 2 borrados
  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)