Browse Source

Fix relay bootstrapping flag

Ian Goldberg 4 years ago
parent
commit
fdecbcdd5a
2 changed files with 19 additions and 14 deletions
  1. 2 2
      network.py
  2. 17 12
      simulator.py

+ 2 - 2
network.py

@@ -79,6 +79,8 @@ class PerfStats:
         self.name = None
         # The relay bandwidth, if appropriate
         self.bw = bw
+        # True if bootstrapping this epoch
+        self.is_bootstrapping = False
         self.reset()
 
     def __str__(self):
@@ -90,8 +92,6 @@ class PerfStats:
     def reset(self):
         """Reset the counters, typically at the beginning of each
         epoch."""
-        # True if bootstrapping this epoch
-        self.is_bootstrapping = False
         # Bytes sent and received
         self.bytes_sent = 0
         self.bytes_received = 0

+ 17 - 12
simulator.py

@@ -171,15 +171,11 @@ class Simulator:
             relaysent += r.perfstats.bytes_sent
             relayrecv += r.perfstats.bytes_received
             relaystats.accum(r.perfstats)
-            if r.perfstats.is_bootstrapping:
-                if r.is_fallbackrelay:
-                    self.statslogger.error(
-                        "ERROR: fallback relay is bootstrapping?")
-                else:
-                    relaybstats.accum(r.perfstats)
+            if r.is_fallbackrelay:
+                relayfbstats.accum(r.perfstats)
             else:
-                if r.is_fallbackrelay:
-                    relayfbstats.accum(r.perfstats)
+                if r.perfstats.is_bootstrapping:
+                    relaybstats.accum(r.perfstats)
                 else:
                     relaynbstats.accum(r.perfstats)
         totsent += relaysent
@@ -198,10 +194,14 @@ class Simulator:
                 clinbstats.accum(c.perfstats)
         totsent += clisent
         totrecv += clirecv
-        self.statslogger.info("DirAuths sent=%s recv=%s" % (dirasent, dirarecv))
-        self.statslogger.info("Relays sent=%s recv=%s" % (relaysent, relayrecv))
-        self.statslogger.info("Client sent=%s recv=%s" % (clisent, clirecv))
-        self.statslogger.info("Total sent=%s recv=%s" % (totsent, totrecv))
+        self.statslogger.info("DirAuths sent=%s recv=%s bytes=%s" % \
+                (dirasent, dirarecv, dirasent+dirarecv))
+        self.statslogger.info("Relays sent=%s recv=%s bytes=%s" % \
+                (relaysent, relayrecv, relaysent+relayrecv))
+        self.statslogger.info("Client sent=%s recv=%s bytes=%s" % \
+                (clisent, clirecv, clisent+clirecv))
+        self.statslogger.info("Total sent=%s recv=%s bytes=%s" % \
+                (totsent, totrecv, totsent+totrecv))
         numdirauths = len(self.dirauths)
         numrelays = len(self.relays)
         numclients = len(self.clients)
@@ -218,6 +218,11 @@ class Simulator:
         for c in allcircs:
             c.close()
 
+        # Clear bootstrapping flag
+        for d in self.dirauths: d.perfstats.is_bootstrapping = False
+        for r in self.relays: r.perfstats.is_bootstrapping = False
+        for c in self.clients: c.perfstats.is_bootstrapping = False
+
         # Churn relays
 
         # Stop some of the (non-fallback) relays