[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [sbws/master] scanner: log circuit path nicknames and errors
commit a3951327b914298939574a9550b24a68cfe8b552
Author: juga0 <juga@xxxxxxxxxx>
Date: Sun Dec 9 13:00:12 2018 +0000
scanner: log circuit path nicknames and errors
---
sbws/core/scanner.py | 29 +++++++++++++++++------------
sbws/lib/destination.py | 2 +-
2 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/sbws/core/scanner.py b/sbws/core/scanner.py
index 6328f71..f614cc4 100644
--- a/sbws/core/scanner.py
+++ b/sbws/core/scanner.py
@@ -192,11 +192,14 @@ def measure_relay(args, conf, destinations, cb, rl, relay):
relay, dest, rl, cb.controller, is_exit=False)
if helper:
circ_fps = [helper.fingerprint, relay.fingerprint]
+ # stored for debugging
+ nicknames = [helper.nickname, relay.nickname]
else:
helper = _pick_ideal_second_hop(
relay, dest, rl, cb.controller, is_exit=True)
if helper:
circ_fps = [relay.fingerprint, helper.fingerprint]
+ nicknames = [relay.nickname, helper.nickname]
if not helper:
# TODO: Return ResultError of some sort
log.debug('Unable to pick a 2nd hop to help measure %s %s',
@@ -208,22 +211,20 @@ def measure_relay(args, conf, destinations, cb, rl, relay):
our_nick = conf['scanner']['nickname']
circ_id, reason = cb.build_circuit(circ_fps)
if not circ_id:
- log.debug('Could not build circuit involving %s', relay.nickname)
- msg = 'Unable to complete circuit'
+ log.debug('Could not build circuit with path %s (%s): %s ',
+ circ_fps, nicknames, reason)
return [
ResultErrorCircuit(relay, circ_fps, dest.url, our_nick,
msg=reason),
]
- log.debug('Built circ %s %s for relay %s %s', circ_id,
- stem_utils.circuit_str(cb.controller, circ_id), relay.nickname,
- relay.fingerprint[0:8])
+ log.debug('Built circuit with path %s (%s) to measure %s (%s)',
+ circ_fps, nicknames, relay.fingerprint, relay.nickname)
# Make a connection to the destionation webserver and make sure it can
# still help us measure
is_usable, usable_data = dest.is_usable(circ_id, s, cb.controller)
if not is_usable:
- log.debug('When measuring %s %s the destination seemed to have '
- 'stopped being usable: %s', relay.nickname,
- relay.fingerprint[0:8], usable_data)
+ log.debug('Destination %s unusable via circuit %s (%s), %s',
+ dest.url, circ_fps, nicknames, usable_data)
cb.close_circuit(circ_id)
# TODO: Return a different/new type of ResultError?
msg = 'The destination seemed to have stopped being usable'
@@ -236,8 +237,9 @@ def measure_relay(args, conf, destinations, cb, rl, relay):
rtts, reason = measure_rtt_to_server(s, conf, dest,
usable_data['content_length'])
if rtts is None:
- log.debug('Unable to measure RTT to %s via relay %s %s',
- dest.url, relay.nickname, relay.fingerprint[0:8])
+ log.debug('Unable to measure RTT for %s (%s) to %s via circuit '
+ '%s (%s): %s', relay.fingerprint, relay.nickname,
+ dest.url, circ_fps, nicknames, reason)
cb.close_circuit(circ_id)
return [
ResultErrorStream(relay, circ_fps, dest.url, our_nick,
@@ -247,8 +249,9 @@ def measure_relay(args, conf, destinations, cb, rl, relay):
bw_results, reason = measure_bandwidth_to_server(
s, conf, dest, usable_data['content_length'])
if bw_results is None:
- log.debug('Unable to measure bandwidth to %s via relay %s %s',
- dest.url, relay.nickname, relay.fingerprint[0:8])
+ log.debug('Unable to measure bandwidth for %s (%s) to %s via circuit '
+ '%s (%s): %s', relay.fingerprint, relay.nickname,
+ dest.url, circ_fps, nicknames, reason)
cb.close_circuit(circ_id)
return [
ResultErrorStream(relay, circ_fps, dest.url, our_nick,
@@ -256,6 +259,8 @@ def measure_relay(args, conf, destinations, cb, rl, relay):
]
cb.close_circuit(circ_id)
# Finally: store result
+ log.debug('Success measurement for %s (%s) via circuit %s (%s) to %s',
+ relay.fingerprint, relay.nickname, circ_fps, nicknames, dest.url)
return [
ResultSuccess(rtts, bw_results, relay, circ_fps, dest.url, our_nick),
]
diff --git a/sbws/lib/destination.py b/sbws/lib/destination.py
index 0b27f39..bbfab3d 100644
--- a/sbws/lib/destination.py
+++ b/sbws/lib/destination.py
@@ -195,7 +195,7 @@ class DestinationList:
# Pick a random exit
exit = self._rng.choice(exits)
circ_id, reason = \
- self._cb.build_circuit([None, exit.fingerprint])
+ self._cb.build_circuit([None, exit.fingerprint])
if circ_id:
break
if not circ_id:
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits