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)

rvlat Summary Output

#

Label

Description

1

max

Maximum latency (in milliseconds)

2

min

Minimum latency (in milliseconds)

3

mean

Average latency (in milliseconds)

4

stddev

Standard deviation (in milliseconds)

5

>1ms

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 -spikes parameter.)

6

sampled

Number of responses actually sent by the server.

7

discarded

Number of data points discarded by the client; for background information, see Discarded Data Points.

8

received

Number of message received by the server.

9

sent

Number of request messages sent by the client.

10

total time

Total processing time for the trial (from the time the client sends the first request, to the time it receives the last reply).

11

msgs/s

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.