[tor-bugs] #13792 [Tor]: HS statistics for private tor network to gather info on services, clients and relays

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Dec 19 14:27:41 UTC 2014


#13792: HS statistics for private tor network to gather info on services, clients
and relays
-------------------------+------------------------------
     Reporter:  dgoulet  |      Owner:
         Type:  task     |     Status:  new
     Priority:  normal   |  Milestone:
    Component:  Tor      |    Version:
   Resolution:           |   Keywords:  tor-hs, SponsorR
Actual Points:           |  Parent ID:
       Points:           |
-------------------------+------------------------------

Comment (by asn):

 Replying to [comment:4 dgoulet]:
 > Ok so the initial post for the framework to measure performance is here:
 >
 > https://lists.torproject.org/pipermail/tor-dev/2014-December/007989.html
 >
 > The post is mostly instructions and where to get the tools for it. I'll
 detail here the measurement we have up to now thus helping us add or
 modify or remove some.
 >
 > ==== Introduction Point ====
 >
 > * Circuit build time
 >   * Time from circuit is launched to "has opened" event.
 > * Established time
 >   * Time of rend_service_launch_establish_intro())
 > * Ready time
 >   * From the start of rend_service_launch_establish_intro() to the
 INTRO_ESTABLISHED cell
 > * Cannibalized (0|1)
 >
 > ==== Rendezvous Point ====
 >
 > * Circuit build time
 >   * Time from circuit is launched to "has opened" event.
 > * Established time
 >   * Time from the creation of the rdv point up to finishing handling the
 RENDEZVOUS_ESTABLISHED cell.
 > * Establish rdv to RENDEZVOUS2 cell
 >   * Time from the ESTABLISH_RENDEZVOUS cell to the RENDEZVOUS2 end of
 processing cell.
 > * Ready time
 >   * Time from the creation of the rdv point up to receiving the
 RENDEZVOUS2 cell which indicates that data is ready for transmission.
 > * Cannibalized (0|1)
 >
 > ==== HSDir Client ====
 >
 > * Fetch time
 >   * Time of rend_client_refetch_v2_renddesc()
 > * Store time
 >   * When a fetched desc. is successfully stored
 (rend_cache_store_v2_desc_as_client())
 >
 >
 > Note that it's not that trivial to match client/service trace events
 since well this is an anonimity network and it's by design that we can't
 match both. However in a controlled network of 1 client and 1 HS, there
 are some assumptions we can make vis-a-vis ordering of events thus
 possible to match them.
 >
 > We can do much more but this is the intial part I have which gives us
 pretty graph already and a clear picture of the timings in the HS
 subsystem.


 That's a great start! BTW, are the graphs for the HSDir measurements
 somewhere public? I'm interested to see the variance in the time of
 fetching a descriptor.

 On the topic of HSDirs, it should now be easy to do #13208 too, right?
 However, I'm not sure how useful this would be in a private network, where
 there is not that big number of relays and also natural churn is not very
 natural

 Also, I noticed that all stats come from clients or hidden services. You
 haven't instrumented the IP or HSDir code itself, right? Do you think that
 would be useful? For example, to check from the IP's PoV the "time from
 receiving ESTABLISH_INTRO to sending INTRO_ESTABLISHED cell back to the
 HS". Are the two clusters visible there too? If yes, it's definitely an IP
 issue.

 Also, maybe #13239 would be a useful experiment. Basically checking the
 performance baseline with 2 preemptive circuits vs 3 preemptive circuits.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/13792#comment:5>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list