[metrics-bugs] #24018 [Metrics]: Automate measuring connection timeouts per exit
Tor Bug Tracker & Wiki
blackhole at torproject.org
Thu Oct 26 16:25:34 UTC 2017
#24018: Automate measuring connection timeouts per exit
---------------------------------+--------------------------
Reporter: arthuredelstein | Owner: metrics-team
Type: defect | Status: new
Priority: Medium | Milestone:
Component: Metrics | Version:
Severity: Normal | Keywords:
Actual Points: | Parent ID: #21394
Points: | Reviewer:
Sponsor: |
---------------------------------+--------------------------
I have been investigating connection timeouts manually, using Tor Browser
in #21394.
My manual test is as follows: I set Tor Browser's pref
"extension.torbutton.loglevel to 3. In the Browser console, I filter for
the word "TIMEOUT". Then I attempt to connect to a website, and I count
the number of TIMEOUTs displayed on the browser console, such as this:
{{{
[10-26 06:25:47] Torbutton INFO: controlPort >> 650 STREAM 532 DETACHED
833 2606:2800:220:1:248:1893:25c8:1946:80 REASON=TIMEOUT
}}}
I repeatedly hit "New Tor Circuit for this Site" in the torbutton menu and
manually write down how many timeouts were observed for each circuit.
Here's my data from when I attempted to connect to example.com 50 times:
{{{
http://example.com
00100000021000002001001001000000001000000000001000
}}}
This sort of stream timeout is because, according to arma:
{{{
it means you sent your begin cell, and then you didn't get an end cell or
a connected cell after 10 seconds
}}}
The dominant source of timeouts appears to be DNS resolution failures at
the exit nodes. I observed almost no timeouts connecting directly to IPv4
or IPv6 addresses instead of a domain name (see ticket:21394#comment:20).
Regardless of the cause, I think these timeouts are causing serious damage
to Tor Browser usability and we should try hard to fix it.
teor suggested some fixes to tor. In the meantime it would be great if we
had an automated test that can measure the frequency of connection
timeouts on a daily basis. I imagine it could generate several circuits
through each exit node (both to domains and to bare IP addresses) and
produce summary statistics. That would also help us know if the fixes are
working or if we have any regressions in the future.
Is this something the Metrics team would be interested in working on? I
see the timeout statistics on https://metrics.torproject.org/torperf-
failures.html but I don't think that is measuring exactly the same thing.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/24018>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the metrics-bugs
mailing list