[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r19657: {torflow} Add checks to filter out any nodes that clearly weren't arou (torflow/trunk/NetworkScanners/BwAuthority)
Author: mikeperry
Date: 2009-06-08 00:48:04 -0400 (Mon, 08 Jun 2009)
New Revision: 19657
Modified:
torflow/trunk/NetworkScanners/BwAuthority/aggregate.py
Log:
Add checks to filter out any nodes that clearly weren't
around during our last measurements from our messages
about missing them. There still are about 80 nodes
that are escaping measurement, possibly due to hibernation
changes.
Modified: torflow/trunk/NetworkScanners/BwAuthority/aggregate.py
===================================================================
--- torflow/trunk/NetworkScanners/BwAuthority/aggregate.py 2009-06-08 03:03:24 UTC (rev 19656)
+++ torflow/trunk/NetworkScanners/BwAuthority/aggregate.py 2009-06-08 04:48:04 UTC (rev 19657)
@@ -4,6 +4,7 @@
import math
import sys
import socket
+import time
sys.path.append("../../")
from TorCtl.TorUtil import plog
@@ -202,7 +203,14 @@
for n in prev_consensus.itervalues():
if not n.measured:
- plog("INFO", "Didn't measure "+n.idhex+"="+n.nickname)
+ if "Fast" in n.flags and "Running" in n.flags:
+ r = c.get_router(n)
+ if r and not r.down and r.bw > 0:
+ if time.mktime(r.published.utctimetuple()) - r.uptime \
+ < oldest_timestamp:
+ # We still tend to miss about 80 nodes even with these
+ # checks.. Possibly going in and out of hibernation?
+ plog("INFO", "Didn't measure "+n.idhex+"="+n.nickname)
n_print = nodes.values()
n_print.sort(lambda x,y: int(x.new_bw) - int(y.new_bw))