Welcome to "xtw" - the NTP Timewarp Visualizer - Version 1.1.

This is an attempt at applying some simple visualization
methods to the task of watching the behavior of NTP.

"Xtw" is an X application that can be used to track the
time displacements between the associations of a host providing
NTP service.  The command line arguments are :

	xtw host1 host2 ... hostN

	where "hostN" is a host name that has an xntpd
running.  At least one host is required.  "Xtw" will display the 
list of associations of that NTP daemon by plotting a symbol 
(currently a square) onto a polar coordinate graph.  The size of 
the symbol indicates the "physical" closeness of the information 
(the delay value from an NTP mode 6 CTL_OP_READSTAT control
message).  The distance from the origin of the polar coordinate
graph indicates the time offset.  The hosts are distributed
evenly over the unit circle.  Thus, squares that are larger
are "closer" with respect to the communications delay and
squares that are closer to point 0,0 are closer in their
timestamps.

	After initially plotting the hosts, "xtw" will delay
for a preset amount of time (30 seconds initially), then issue
new NTP mode 6 control messages to update the display.  The
result is rotated a slight amount, so the effect over a period
of time allows one to see how different clocks are drifting, as
each symbol leaves a tiny trail of lines from previous snapshots.

	Various key presses are available while "xtw" is running :

	"-"	- change probe delay value by -1
	"+"	- change probe delay value by +1
	"i"	- zoom "i"n by 10 milliseconds
	"o"	- zoom "o"ut by 10 milliseconds
	"r"	- redraw the screen
	"z"     - zero the time trails
	"q"	- quit
	any other key - initiate an NTP probe immediately

	In addition, button # 1 on your pointing device
can be used to get more information about a specific host.  Just
move the cursor over the host's symbol and press the left
mouse button.  The text of the mode 6 READSTAT is then dumped
into the window where you started "xtw".  If symbols overlap,
all the hosts touched are displayed.

	When "xtw" is performing the mode 6 queries, the
X windows events are not handled immediately.  The message
"** Probing **" appears in the upper left corner and disappears
whenever the NTP queries are done, at which time X events are
handled (such as the above key presses and mouse motions).  This
can make it sluggish if you are peering at some slow hosts.

	The "z" option is useful when zooming around, since
the X,Y positions are calculated at the time of the original snapshot
and scaling doesn't guarantee that the trail of earlier times is
exact.  Typically, you would zoom into your preferred time resolution,
press "z", then sit back and watch.

TO BUILD
--------

"xtw" borrows heavily on the source from xntp, especially
ntpq.  You must have the source to that installed first.

Check the Imakefile.  Be sure the following make variables are
set accordingly :

	XNTPHOME = top of the source tree for xntp
	DEFINES = -DNO_SIGNED_CHAR_DECL (if your xntp needed it)

Run "xmkmf" against the Imakefile.  If you don't have xmkmf,
rename "Makefile.dist" to "Makefile" and start there.

Now just type "make", then "make install" if everything built OK.
Sorry, no man page yet!

If you are running under OpenWindows and the window doesn't accept
your input, try DEFINE'ing "-DOPENWINDOWS" and rebuilding.

Comments/curses/bugs/suggestions to bauer@loligo.cc.fsu.edu

BUGS/TO DO
----------
	o Color support would be nice.  Perhaps each strata could
	  be represented by a different color, etc.

	o Ability to get time differences from NTP version 1 hosts
	  would be nice.

	o Asynchronous time updates would make it more interactive
	  (rather than waiting while the "** Probing **" is going on).

	o The program tries to be too smart sometimes and ends up
	  plotting lots of lines with limited usefulness, especially
	  when the # of reachable hosts changes.
