$Id: README,v 1.9 1999/10/15 03:03:18 wollman Exp $

This is latd, version 0.3.

latd is a program which continuously samples network latencies between
a management station (the machine running latd) and a list of machines
elsewhere on the network.  Currently, latd supports the ICMP and UDP
ECHO protocols, but adding other protocols (such as HTTP) is a Small
Matter of Programming.

The significant advantage of latd, as compared to simply periodically
pinging every end station, is that it attempts to sample the data in a
statistically-useful way.  Rather than taking a measurement every
fixed interval, latd randomizes its measurement periods uniformly over
the range [i/2, 3*i/2], where `i' is the desired average measurement
period.  (By default, `i' is 20 seconds, which is chosen to give 15
measurements over a 5-minute interval.)  By spreading out measurements
in this way, the probability of `missing' a network disturbance which
takes place between two measurements is lessened.  (Suggestions from
statisticians as to more appropriate distribution functions are gladly
accepted.)  By taking measurements over a fairly long average period,
it is possible to measure the latency to a large number of
destinations without placing an undue burden on the network.

Future versions of latd will provide support for configurable periodic
statistics generation.  Currently, latd will open a couple of log
files into which statistics might be written, but the code to actually
compute those statistics does not yet exist -- indeed, I have not yet
figured out which statistics are worth implementing.  In the mean
time, latd is still useful using the `-p' option, which specifies a
log file to which every observation is written.  External scripts,
such as the provided `make-plot' and `make-stats', can then
post-process this log file to extract interesting information.

Future versions of latd will also provide support for configurable
alarms, based on the generated statistics or on individual
observations.

See the man page for usage information.

Since latd needs to open a raw ICMP socket in order to send pings,
latd must be run as root.  (There is no mechanism to run it securely
set-uid, nor will there be.)

This program in its current state will only run on FreeBSD, although
porting to other 4.4BSD derivatives should be fairly easy.

You can use the `make-plot' program in conjunction with Tim Shepard's
`xplot' program to display graphically the variation in latency over
time.  Run it as follows:
	make-plot /path/to/pktlog dest-ip-addr[:port] [...]

e.g.:
	make-plot /tmp/pktlog 10.11.12.13 10.11.12.13:7

(which will compare latency with ICMP to that with UDP).

You can use the `make-stats' program to extract some
potentially-interesting statistics from the packet log.  Run it as
follows:
	fgrep 'dest-ip-addr[:port] proto' /path/to/pktlog | make-stats

e.g.:
	fgrep '10.11.12.13 icmp' /tmp/pktlog | make-stats

If you have any questions, suggestions, bug fixes, praise, vast
fortunes, etc., please address them directly to me at
<wollman@lcs.mit.edu>.

