Package org.torproject.descriptor
Interface TorperfResult
- 
- All Superinterfaces:
- Descriptor,- java.io.Serializable
 
 public interface TorperfResult extends Descriptor Contains performance measurement results from making simple HTTP requests over the Tor network.The performance measurement service Torperf publishes performance data from making simple HTTP requests over the Tor network. Torperf uses a trivial SOCKS client to download files of various sizes over the Tor network and notes how long substeps take. - Since:
- 1.0.0
 
- 
- 
Method SummaryAll Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.BooleandidTimeout()Return whether the request timed out (as opposed to failing), or null if the torperf line didn't contain that information.java.util.List<java.lang.Long>getBuildTimes()Return a list of times in milliseconds between launching the circuit and extending to the next circuit hop, or null if the torperf line didn't contain that information.intgetCircId()Return the identifier of the circuit used for this measurement, or -1 if the torperf line didn't contain that information.longgetConnectMillis()Return the time in milliseconds since the epoch when the socket was connected.longgetDataCompleteMillis()Return the time in milliseconds since the epoch when the payload was complete.java.util.SortedMap<java.lang.Integer,java.lang.Long>getDataPercentiles()Return the times in milliseconds since the epoch whenx%of expected bytes were read for0 <= x <= 100, or null if the torperf line didn't contain that information.longgetDataRequestMillis()Return the time in milliseconds since the epoch when the HTTP request was written.longgetDataResponseMillis()Return the time in milliseconds since the epoch when the first response was received.java.lang.StringgetEndpointLocal()Return the hostname, IP address, and port that the TGen client used to connect to the local tor SOCKS port, formatted ashostname:ip:port, which may be"NULL:0.0.0.0:0"if TGen was not able to find this information ornullif the OnionPerf line didn't contain this information.java.lang.StringgetEndpointProxy()Return the hostname, IP address, and port that the TGen client used to connect to the SOCKS proxy server that tor runs, formatted ashostname:ip:port, which may be"NULL:0.0.0.0:0"if TGen was not able to find this information ornullif the OnionPerf line didn't contain this information.java.lang.StringgetEndpointRemote()Return the hostname, IP address, and port that the TGen client used to connect to the remote server, formatted ashostname:ip:port, which may be"NULL:0.0.0.0:0"if TGen was not able to find this information ornullif the OnionPerf line didn't contain this information.java.lang.StringgetErrorCode()Return the combined error code contained in thetgenclient logs and thetorclient logs, ornullif no error occured or if the OnionPerf line didn't contain this information.intgetFileSize()Return the configured file size in bytes.java.lang.StringgetHostnameLocal()Return the client machine hostname, which may be"(NULL)"if the TGen client was not able to find this information ornullif the OnionPerf line didn't contain this information.java.lang.StringgetHostnameRemote()Return the server machine hostname, which may be"(NULL)"if the TGen server was not able to find this information ornullif the OnionPerf line didn't contain this information.longgetLaunchMillis()Return the time in milliseconds since the epoch when the circuit was launched, or -1 if the torperf line didn't contain that information.longgetNegotiateMillis()Return the time in milliseconds since the epoch when SOCKS 5 authentication methods have been negotiated.java.util.SortedMap<java.lang.Integer,java.lang.Long>getPartials()Return the times in milliseconds since the epoch when the given number of bytes were read, or null if the torperf line didn't contain that information.java.util.List<java.lang.String>getPath()Return a list of fingerprints of the relays in the circuit, or null if the torperf line didn't contain that information.doublegetQuantile()Return the circuit build time quantile that the Tor client uses to determine its circuit-build timeout, or -1 if the torperf line didn't contain that information.intgetReadBytes()Return the total number of bytes read.longgetRequestMillis()Return the time in milliseconds since the epoch when the SOCKS request was sent.longgetResponseMillis()Return the time in milliseconds since the epoch when the SOCKS response was received.longgetSocketMillis()Return the time in milliseconds since the epoch when the socket was created.java.lang.StringgetSource()Return the configured name of the data source.java.lang.StringgetSourceAddress()Return the public IP address of the OnionPerf host obtained by connecting to well-known servers and finding the IP address in the result, which may be"unknown"if OnionPerf was not able to find this information ornullif the OnionPerf line didn't contain this information.longgetStartMillis()Return the time in milliseconds since the epoch when the connection process started.longgetTimeout()Return the circuit build timeout that the Tor client used when building this circuit, or -1 if the torperf line didn't contain that information.java.util.SortedMap<java.lang.String,java.lang.String>getUnrecognizedKeys()Return all unrecognized keys together with their values, or null if all keys were recognized.longgetUsedAtMillis()Return the time in milliseconds since the epoch when the circuit was used, or -1 if the torperf line didn't contain that information.intgetUsedBy()Return the identifier of the stream used for this measurement, or -1 if the torperf line didn't contain that information.intgetWriteBytes()Return the total number of bytes written.- 
Methods inherited from interface org.torproject.descriptor.DescriptorgetAnnotations, getDescriptorFile, getRawDescriptorBytes, getRawDescriptorLength, getUnrecognizedLines
 
- 
 
- 
- 
- 
Method Detail- 
getUnrecognizedKeysjava.util.SortedMap<java.lang.String,java.lang.String> getUnrecognizedKeys() Return all unrecognized keys together with their values, or null if all keys were recognized.- Since:
- 1.2.0
 
 - 
getSourcejava.lang.String getSource() Return the configured name of the data source.- Since:
- 1.0.0
 
 - 
getFileSizeint getFileSize() Return the configured file size in bytes.- Since:
- 1.0.0
 
 - 
getStartMillislong getStartMillis() Return the time in milliseconds since the epoch when the connection process started.- Since:
- 1.0.0
 
 - 
getSocketMillislong getSocketMillis() Return the time in milliseconds since the epoch when the socket was created.- Since:
- 1.0.0
 
 - 
getConnectMillislong getConnectMillis() Return the time in milliseconds since the epoch when the socket was connected.- Since:
- 1.0.0
 
 - 
getNegotiateMillislong getNegotiateMillis() Return the time in milliseconds since the epoch when SOCKS 5 authentication methods have been negotiated.- Since:
- 1.0.0
 
 - 
getRequestMillislong getRequestMillis() Return the time in milliseconds since the epoch when the SOCKS request was sent.- Since:
- 1.0.0
 
 - 
getResponseMillislong getResponseMillis() Return the time in milliseconds since the epoch when the SOCKS response was received.- Since:
- 1.0.0
 
 - 
getDataRequestMillislong getDataRequestMillis() Return the time in milliseconds since the epoch when the HTTP request was written.- Since:
- 1.0.0
 
 - 
getDataResponseMillislong getDataResponseMillis() Return the time in milliseconds since the epoch when the first response was received.- Since:
- 1.0.0
 
 - 
getDataCompleteMillislong getDataCompleteMillis() Return the time in milliseconds since the epoch when the payload was complete.- Since:
- 1.0.0
 
 - 
getWriteBytesint getWriteBytes() Return the total number of bytes written.- Since:
- 1.0.0
 
 - 
getReadBytesint getReadBytes() Return the total number of bytes read.- Since:
- 1.0.0
 
 - 
didTimeoutjava.lang.Boolean didTimeout() Return whether the request timed out (as opposed to failing), or null if the torperf line didn't contain that information.- Since:
- 1.0.0
 
 - 
getPartialsjava.util.SortedMap<java.lang.Integer,java.lang.Long> getPartials() Return the times in milliseconds since the epoch when the given number of bytes were read, or null if the torperf line didn't contain that information.- Since:
- 2.13.0
 
 - 
getDataPercentilesjava.util.SortedMap<java.lang.Integer,java.lang.Long> getDataPercentiles() Return the times in milliseconds since the epoch whenx%of expected bytes were read for0 <= x <= 100, or null if the torperf line didn't contain that information.- Since:
- 1.0.0
 
 - 
getLaunchMillislong getLaunchMillis() Return the time in milliseconds since the epoch when the circuit was launched, or -1 if the torperf line didn't contain that information.- Since:
- 1.0.0
 
 - 
getUsedAtMillislong getUsedAtMillis() Return the time in milliseconds since the epoch when the circuit was used, or -1 if the torperf line didn't contain that information.- Since:
- 1.0.0
 
 - 
getPathjava.util.List<java.lang.String> getPath() Return a list of fingerprints of the relays in the circuit, or null if the torperf line didn't contain that information.- Since:
- 1.0.0
 
 - 
getBuildTimesjava.util.List<java.lang.Long> getBuildTimes() Return a list of times in milliseconds between launching the circuit and extending to the next circuit hop, or null if the torperf line didn't contain that information.- Since:
- 1.0.0
 
 - 
getTimeoutlong getTimeout() Return the circuit build timeout that the Tor client used when building this circuit, or -1 if the torperf line didn't contain that information.- Since:
- 1.0.0
 
 - 
getQuantiledouble getQuantile() Return the circuit build time quantile that the Tor client uses to determine its circuit-build timeout, or -1 if the torperf line didn't contain that information.- Since:
- 1.0.0
 
 - 
getCircIdint getCircId() Return the identifier of the circuit used for this measurement, or -1 if the torperf line didn't contain that information.- Since:
- 1.0.0
 
 - 
getUsedByint getUsedBy() Return the identifier of the stream used for this measurement, or -1 if the torperf line didn't contain that information.- Since:
- 1.0.0
 
 - 
getEndpointLocaljava.lang.String getEndpointLocal() Return the hostname, IP address, and port that the TGen client used to connect to the local tor SOCKS port, formatted ashostname:ip:port, which may be"NULL:0.0.0.0:0"if TGen was not able to find this information ornullif the OnionPerf line didn't contain this information.- Since:
- 1.7.0
 
 - 
getEndpointProxyjava.lang.String getEndpointProxy() Return the hostname, IP address, and port that the TGen client used to connect to the SOCKS proxy server that tor runs, formatted ashostname:ip:port, which may be"NULL:0.0.0.0:0"if TGen was not able to find this information ornullif the OnionPerf line didn't contain this information.- Since:
- 1.7.0
 
 - 
getEndpointRemotejava.lang.String getEndpointRemote() Return the hostname, IP address, and port that the TGen client used to connect to the remote server, formatted ashostname:ip:port, which may be"NULL:0.0.0.0:0"if TGen was not able to find this information ornullif the OnionPerf line didn't contain this information.- Since:
- 1.7.0
 
 - 
getHostnameLocaljava.lang.String getHostnameLocal() Return the client machine hostname, which may be"(NULL)"if the TGen client was not able to find this information ornullif the OnionPerf line didn't contain this information.- Since:
- 1.7.0
 
 - 
getHostnameRemotejava.lang.String getHostnameRemote() Return the server machine hostname, which may be"(NULL)"if the TGen server was not able to find this information ornullif the OnionPerf line didn't contain this information.- Since:
- 1.7.0
 
 - 
getSourceAddressjava.lang.String getSourceAddress() Return the public IP address of the OnionPerf host obtained by connecting to well-known servers and finding the IP address in the result, which may be"unknown"if OnionPerf was not able to find this information ornullif the OnionPerf line didn't contain this information.- Since:
- 1.7.0
 
 - 
getErrorCodejava.lang.String getErrorCode() Return the combined error code contained in thetgenclient logs and thetorclient logs, ornullif no error occured or if the OnionPerf line didn't contain this information.- Since:
- 2.14.0
 
 
- 
 
-