Output
rvlat
produces several kinds of output, including summary, raw data points, and outliers; human-readable and spreadsheet-ready; as well as error messages (which indicate problems with the command line parameters).
Output Streams
rvlat
directs its output to two streams:
• | stderr for human-readable output |
This category includes the human-readable summary, the spike data points (when requested), and error messages (if any).
• | stdout for spreadsheet output |
This category includes the terse spreadsheet summary, and the raw data points (when requested).
Summaries
After a run, rvlat
produces a summary of its data. The summary includes 13 comma-separated values (see rvlat Summary Output). The summary is available in two forms:
• | Human-readable summary, including units and abbreviated labels for each value |
• | Terse spreadsheet summary, including only the numeric values (with neither units nor labels) |
# |
Label |
Description |
1 |
|
Maximum latency (in milliseconds) |
2 |
|
Minimum latency (in milliseconds) |
3 |
|
Average latency (in milliseconds) |
4 |
|
Standard deviation (in milliseconds) |
5 |
|
Spikes—number of messages with latency greater than 1 millisecond. (Notice that this 1 millisecond summary threshold is independent of any threshold you might specify using the |
6 |
|
Number of responses actually sent by the server. |
7 |
|
Number of data points discarded by the client; for background information, see Discarded Data Points. |
8 |
|
Number of message received by the server. |
9 |
|
Number of request messages sent by the client. |
10 |
|
Total processing time for the trial (from the time the client sends the first request, to the time it receives the last reply). |
11 |
|
Approximate message rate, computed as inverse of the average processing time per message. |
Raw Data Points
With the -datapoints
option, rvlat
outputs a column of raw data points, one value per line to stdout
. Each value is the time (in milliseconds) for one round-trip message exchange. The values are purely numeric, suitable for spreadsheets.
After all the data points, rvlat
outputs the terse summary line to stdout
.
Spikes
With the -spikes
option, rvlat
outputs high-latency data points (those with round-trip time greater than a threshold). This output to stderr
is in two columns. Each row is one data point, which consists of two comma-separated values—the sequence number of the request message and its round-trip time (in milliseconds).
After all the spike data, rvlat
outputs the human-readable summary line to stderr
(unless -terse
suppresses it).
Discarded Data Points
If the round-trip time is faster than the client computer’s clock resolution (measuring time of day), the client can record the round-trip time as zero. Zero data points would invalidate the statistical measurements, so the client discards them.
The occurrence of any discards indicates that measurements are less precise than they could be. A computer with finer-grained time of day clock could produce more precise measurements.
If any discards occur, the client outputs a warning message. If this warning appears, we recommend selecting a different computer for the client.