[tor-bugs] #8662 [Torperf]: Make Torperf log circuit failures

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Apr 9 02:57:03 UTC 2013


#8662: Make Torperf log circuit failures
-------------------------+--------------------------------------------------
 Reporter:  karsten      |          Owner:     
     Type:  enhancement  |         Status:  new
 Priority:  normal       |      Milestone:     
Component:  Torperf      |        Version:     
 Keywords:               |         Parent:     
   Points:               |   Actualpoints:     
-------------------------+--------------------------------------------------

Comment(by karsten):

 Hmm, okay, let's give up the one-output-line-per-meausurement format.  If
 we need this data for more than a few weeks, we should publish it.  And
 while I see how we could aggregate circuit failures in a single new field
 for it, this isn't going to scale forever.  I'm certain you'll want other
 circuit information in the future, and then we'd have this discussion
 again.  So, let's screw the format we have and come up with something new.
 No better time than now to do this.

 Here's a sample result line from a currently running 0.2.5.x Torperf
 (reformatted and annotated):

 {{{
 # Configuration
 SOURCE=ec2
 FILESIZE=51200

 # Measurement results
 START=1365473921.75
 SOCKET=1365473921.75
 CONNECT=1365473921.75
 NEGOTIATE=1365473921.75
 REQUEST=1365473921.75
 RESPONSE=1365473922.07
 DATAREQUEST=1365473922.07
 DATARESPONSE=1365473922.40
 DATACOMPLETE=1365473922.76
 WRITEBYTES=82
 READBYTES=51323
 DIDTIMEOUT=0
 DATAPERC10=1365473922.56
 DATAPERC20=1365473922.64
 DATAPERC30=1365473922.64
 DATAPERC40=1365473922.68
 DATAPERC50=1365473922.68
 DATAPERC60=1365473922.72
 DATAPERC70=1365473922.72
 DATAPERC80=1365473922.75
 DATAPERC90=1365473922.75

 # Additional information
 LAUNCH=1365473682.13
 USED_AT=1365473922.76
 PATH=$62680CF0743460E5F836F949E37A6DEC22622F9E,
      $11064D066F892DC38AAEFDA5EDAE1A227D07D182,
      $35F51DCE73B988CBAE06B06312B4D1271979FE3B
 BUILDTIMES=0.53,1.10,1.32
 TIMEOUT=4833
 QUANTILE=0.800000
 CIRC_ID=501
 USED_BY=884
 }}}

 I could imagine a JSON format with three event types for file_download,
 circuit, and buildtimeout_set:

 {{{
 [
   {
     "type": "buildtimeout_set",
     "id": "1365473682.03",
     "timeout": 4833,
     "quantile": 0.800000
   },
   {
     "type": "circuit",
     "id": "1365473682.13_501",
     "launch": 1365473682.13,
     "used_at": 1365473922.76,
     "path": [ "$62680CF0743460E5F836F949E37A6DEC22622F9E",
               "$11064D066F892DC38AAEFDA5EDAE1A227D07D182",
               "$35F51DCE73B988CBAE06B06312B4D1271979FE3B" ],
     "buildtimes": [ 0.53, 1.10, 1.32 ],
     "circ_id": 501,
     "used_by": 884
   },
   {
     "type": "file_download",
     "id": "ec2_51200_1365473921.75",
     "source": "ec2",
     "filesize": "51200",
     "start": 1365473921.75,
     "socket": 1365473921.75,
     "connect": 1365473921.75,
     "negotiate": 1365473921.75,
     "request": 1365473921.75,
     "response": 1365473922.07,
     "datarequest": 1365473922.07,
     "dataresponse": 1365473922.40,
     "datacomplete": 1365473922.76,
     "writebytes": 82,
     "readbytes": 51323,
     "didtimeout": 0,
     "dataperc": { "10": 1365473922.56,
                   "20": 1365473922.64,
                   "30": 1365473922.64,
                   "40": 1365473922.68,
                   "50": 1365473922.68,
                   "60": 1365473922.72,
                   "70": 1365473922.72,
                   "80": 1365473922.75,
                   "90": 1365473922.75 },
     "circ_id": "1365473682.13_501",
     "buildtimeout_used": "1365473682.03"
   }
 ]
 }}}

 This is just a draft that may change during implementation.  We could also
 add a separate event type for more detailed information about the stream
 used for the measurement.

 We can easily add reasons for circuit failures, which would mostly be in
 "circuit" events that are ''not'' referenced from "file_download" events.

 Anything else that comes to mind that we should add?

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


More information about the tor-bugs mailing list