public interface TorperfResult extends Descriptor
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.
Modifier and Type | Method and Description |
---|---|
java.lang.Boolean |
didTimeout()
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 since the epoch when circuit
hops were built, or null if the torperf line didn't contain that
information.
|
int |
getCircId()
Return the identifier of the circuit used for this measurement, or
-1 if the torperf line didn't contain that information.
|
long |
getConnectMillis()
Return the time in milliseconds since the epoch when the socket was
connected.
|
long |
getDataCompleteMillis()
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 when
x% of
expected bytes were read for 0 <= x <= 100 , or null if the
torperf line didn't contain that information. |
long |
getDataRequestMillis()
Return the time in milliseconds since the epoch when the HTTP
request was written.
|
long |
getDataResponseMillis()
Return the time in milliseconds since the epoch when the first
response was received.
|
java.lang.String |
getEndpointLocal()
Return the hostname, IP address, and port that the TGen client used to
connect to the local tor SOCKS port, formatted as
hostname:ip:port , which may be "NULL:0.0.0.0:0"
if TGen was not able to find this information or null if the
OnionPerf line didn't contain this information. |
java.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 as
hostname:ip:port , which may be "NULL:0.0.0.0:0"
if TGen was not able to find this information or null if the
OnionPerf line didn't contain this information. |
java.lang.String |
getEndpointRemote()
Return the hostname, IP address, and port that the TGen client used to
connect to the remote server, formatted as
hostname:ip:port ,
which may be "NULL:0.0.0.0:0" if TGen was not able to find
this information or null if the OnionPerf line didn't contain
this information. |
int |
getFileSize()
Return the configured file size in bytes.
|
java.lang.String |
getHostnameLocal()
Return the client machine hostname, which may be
"(NULL)" if
the TGen client was not able to find this information or null
if the OnionPerf line didn't contain this information. |
java.lang.String |
getHostnameRemote()
Return the server machine hostname, which may be
"(NULL)" if
the TGen server was not able to find this information or null
if the OnionPerf line didn't contain this information. |
long |
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.
|
long |
getNegotiateMillis()
Return the time in milliseconds since the epoch when SOCKS 5
authentication methods have been negotiated.
|
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.
|
double |
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.
|
int |
getReadBytes()
Return the total number of bytes read.
|
long |
getRequestMillis()
Return the time in milliseconds since the epoch when the SOCKS
request was sent.
|
long |
getResponseMillis()
Return the time in milliseconds since the epoch when the SOCKS
response was received.
|
long |
getSocketMillis()
Return the time in milliseconds since the epoch when the socket was
created.
|
java.lang.String |
getSource()
Return the configured name of the data source.
|
java.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 or null if the OnionPerf line didn't contain this
information. |
long |
getStartMillis()
Return the time in milliseconds since the epoch when the connection
process started.
|
long |
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.
|
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.
|
long |
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.
|
int |
getUsedBy()
Return the identifier of the stream used for this measurement, or -1
if the torperf line didn't contain that information.
|
int |
getWriteBytes()
Return the total number of bytes written.
|
getAnnotations, getDescriptorFile, getRawDescriptorBytes, getRawDescriptorLength, getUnrecognizedLines
java.util.SortedMap<java.lang.String,java.lang.String> getUnrecognizedKeys()
java.lang.String getSource()
int getFileSize()
long getStartMillis()
long getSocketMillis()
long getConnectMillis()
long getNegotiateMillis()
long getRequestMillis()
long getResponseMillis()
long getDataRequestMillis()
long getDataResponseMillis()
long getDataCompleteMillis()
int getWriteBytes()
int getReadBytes()
java.lang.Boolean didTimeout()
java.util.SortedMap<java.lang.Integer,java.lang.Long> getDataPercentiles()
x%
of
expected bytes were read for 0 <= x <= 100
, or null if the
torperf line didn't contain that information.long getLaunchMillis()
long getUsedAtMillis()
java.util.List<java.lang.String> getPath()
java.util.List<java.lang.Long> getBuildTimes()
long getTimeout()
double getQuantile()
int getCircId()
int getUsedBy()
java.lang.String getEndpointLocal()
hostname:ip:port
, which may be "NULL:0.0.0.0:0"
if TGen was not able to find this information or null
if the
OnionPerf line didn't contain this information.java.lang.String getEndpointProxy()
hostname:ip:port
, which may be "NULL:0.0.0.0:0"
if TGen was not able to find this information or null
if the
OnionPerf line didn't contain this information.java.lang.String getEndpointRemote()
hostname:ip:port
,
which may be "NULL:0.0.0.0:0"
if TGen was not able to find
this information or null
if the OnionPerf line didn't contain
this information.java.lang.String getHostnameLocal()
"(NULL)"
if
the TGen client was not able to find this information or null
if the OnionPerf line didn't contain this information.java.lang.String getHostnameRemote()
"(NULL)"
if
the TGen server was not able to find this information or null
if the OnionPerf line didn't contain this information.java.lang.String getSourceAddress()
"unknown"
if OnionPerf was not able to find this
information or null
if the OnionPerf line didn't contain this
information.