The Heartbeat GUI loads up the stat files generated by the Heartbeat engine and renders them visually, offering a way to drill through different data points and take snapshots as things change (by saving particular stat files for later). The GUI itself doesn't need to be on the same machine as the Heartbeat engine - it pulls the stat files through any URL - even through the EepProxy. An example Heartbeat GUI config file follows # how often do we want to pull new data to render refreshFrequency=60 ## for each peer test we may want to include in the GUI: # where to find the current stat file (URL or filename) stat.0.location=http://dev.i2p.net/stats/heartbeatStat_khWY_30s_1kb.txt ## optional entries for each peer test describing what we want shown ## (and how we want it shown) # do we want to plot the send time (from when the ping was sent until the pong server got it)? stat.0.plot.current.send=true # do we want to plot the receive time (from when the pong was sent until reception)? stat.0.plot.current.receive=true # do we want to plot the lost messages? stat.0.plot.current.lost=true # what color should the current lines be rendered in? stat.0.plot.current.color=BLUE ## optional entries for each peer test describing what averages we want ## rendered # plot 1 minute send average? stat.0.plot.1m.send=true # plot 1 minute receive average? stat.0.plot.1m.receive=true # plot 1 minute lost message average? stat.0.plot.1m.lost=true # what color should the 1 minute averages be rendered as? stat.0.plot.1m.color=GREEN ## repeated for all of the averaged periods, e.g. ## stat.0.plot.30m, .60m, 1440m (1 day) There may be some other options, such as where to store snapshot files, whether to generate PNG images, etc.