Sfoglia il codice sorgente

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 anni fa
parent
commit
2be3e7a0a4
1 ha cambiato i file con 11 aggiunte e 2 eliminazioni
  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)