Преглед изворни кода

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)