Aardvark |
|
| "Lick the bugs out of your network" *
| |
Aardvark is a prototype browser for IPPM Surveyor data, written in pure Java (with Swing).
Aardvark has been tested under Linux, MacOS, and Windows, and should work on any platform with both JDK 1.1.8 or greater and Swing 1.1.1 or greater installed. (JDK 1.2 and greater include Swing).
Aardvark retrieves Surveyor measurement summary statistics from SSS and displays them for browsing in any of the following formats:
While there are still bugs, known and unknown, we are ready to share Aardvark with the world. Please help us make Aardvark a great tool by sending us your feedback.
Each node is a single Surveyor measurement device, with which are associated several names:
Nodes are represented internally to SSS as integers, and appear in URL requests to that server as integers, not strings.
A path is an ordered pair of nodes engaged in active uni-directional testing of the network connectivity between them.
A Community of Interest is a set of related nodes (e.g. CSG schools, tele-immersion labs).
A metric is either a particular IP performance metric or a summary thereof over a specified interval. Currently supported metrics are:
- Minimum Delay
- 50th Percentile Delay
- 90th Percentile Delay
- Percentage packet loss
A moment in time, specifying both Date and Time. All Times are specified in GMT, which does not support Daylight Savings Time.
Increment is the granularity of the currently manipulated slider. Day increments are designed so that movement preserves day-of-week. Valid day increments are:
Valid time increments are:
For details on installing either a JDK or Aardvark, see the Installation Guide.
Although Aardvark is written as an applet and it is possible to invoke it as one, it is recommended that you invoke it instead as an application. Running as an application makes it unnecessary to download Aardvark from the server on every use and allows bookmarks to be saved to local disk. (More information is available on issues related to the applet security model in Java 1.1.x.)
All the examples below require you to substitute your specific local paths where paths are specified.
If you receive "out of memory" or "stack overflow" errors during Aardvark execution, see this note and possible fix.
The first time you invoke Aardvark, a multitude of diagnostic messages will flood stdout. These are normal, and in many cases helpful. Once the applet successfully launches, you may disable non-fatal messages via the preferences panel. The startup-output is an echoing of the URL requests made to the server for configuration information about Nodes, Metrics, and COIs. Status information about loading of maps for the Community panel is also displayed.
Successful output looks like this.
Some features of Aardvark may be controlled by parameters passed on the invocation command to java. These parameters (and their default values) are listed below. It is unlikely that you will need to change any but CACHESIZE.
MM/DD/YYYY HH:MM Z
Aardvark is a typical Swing application. A menubar provides access to administrative functions, while gui elements inside the window are used for most control operations. The tabs at the top of the screen switch between different views (Panels) of the data. Just beneath the tabs are pull-down selection boxes for COI, view-specific options, and a display that indicates the observation time for the data shown below. Below this is a data display, either tabular or graphical. At the bottom of the screen are two sets of controls. The first allows the user to navigate through time in user-adjusted increments. The second set of controls allows the user to specify a query predicate that selects which data are highlighted in the display. |
![]() |
![]() |
The Controls Panel is another tab-pane, containing "Now" and "Then" panels. When "Now" is selected, Aardvark requests the most-recent-data-available for the current selection (node/coi) every 10 seconds. (This functionality is not currently supported by the SSS server, which returns random data as a placeholder) When "Then" is selected, the controls shown above are used to select the current date, time, and query predicate for the current selection (node/coi). The sliders control date and time respectively. The Date slider's range is from the start date which may be controlled by an invocation parameter (default 1 Jan 2000) to the present day. The Time slider's range is from Midnight to 23:59 (GMT). The increment pop-up boxes to the right of the sliders control both the sliding and the snapping of the sliders. When an increment is selected, the current value of the slider is used as the reference value, and all subsequent values of the sliders are constrained to be (reference + (multiple * increment)) when the thumb is released. For instance, if the reference date is a Tuesday, and the increment is "every week", then the slider will always snap to a Tuesday. The Query controls are used to specify a predicate that determines which data is displayed or highlighted in the various Panel displays. Pop-up boxes allow specification of a metric and an inequality relation, while a slider controls the value of the inequality. The units are determined by the metric, and different metrics have different granularities. Currently, granularity is 1.0 for all metrics except Percentage Packet Loss, which has a granularity of 0.1. Sliding the query slider should result in live-updates of highlighting, however choosing a different query metric may result in a lag while new data is obtained from the server. Time and Query controls are disabled in Path View, since that data is aggregate over an entire day for a particular Metric. |
![]() |
![]() |
The community view shows data for a single metric, for all paths between members of a community of interest, at a specific time, as either a table or a map. The two images above show the same date/time/query, with different display types.
The pop-up in the top-left corner of the Panel selects the current COI, which limits the set of paths to which the query is applied.
Next to that is a pop-up to switch between different community view styles. Currently supported displays are Table and Map, with three resolutions of maps included: small, big, and huge.
If ToolTips are enabled, they will popup when the mouse is near a Node. Also, they will popup over the column-header of the Table view.
Clicking on a Node, or clicking on a column-header-cell will switch to the Local View for that node, with the current date/time/query settings.
Columns in the table view may not be re-arranged
![]() |
The Local Panel shows data collected from tests between a given Surveyor node and all members of its COI. The display is tabular, with each row containing test results from testing with a remote Surveyor node. The center column holds the abbreviated name of the remote node. Columns left of center hold outgoing path data, while those on the right hold incoming path data. The top-left pop-up selects the current COI, which limits the choices in the Node selection pop-up adjacent to the right. Moving the query slider or changing the query metric popup should result in live updates of highlighting. The highlight color for outgoing path data is red-shifted. Columns may be sorted by clicking on the column header. Clicking again reverses the sort. The currently sorted column is noted with a bold header. Also, columns in the Local View table may be rearranged and resized, by dragging either the headers or column boundaries respectively . Clicking on a cell in the table will switch to the Path View for that family of data for the Node on that row. |
![]() |
The Path View shows daily summary data for a specific metric for a specific path between two nodes. The top-left popup selects the COI, which controls the contents of the node source and destination popups adjacent to the right. Unlike the other panels, Metric selection is controlled by a popup at the top of the Panel (so that all live controls are grouped together, since most of the Selection panel is disabled). Time and Query widgets are disabled in the Path View. |
You may bookmark the current state of Aardvark by choosing "Add" from the Bookmark Menu. Bookmarks store the following information
Bookmarks are stored in a file called "AardvarkBookmarks". The location of this file is platform-dependent.
You may edit existing Bookmarks, by selecting the "Edit" command from the Bookmarks menu, which will bring up the Edit Bookmarks Dialog. Editing is fairly primitive with this release. Drag and Drop is unfortunately not supported, so hierarchy maintenance is a bit cumbersome. However, the basic functions of of rename, move, delete, and create-folder, etc are present.
Paste will paste into the currently selected folder, or the nearest parent folder if the current selection is not a folder. Paste will paste into the root folder if there is no current selection.
There is no "undo" available in this dialog.
![]() |
![]() |
![]() |
| The Bookmark Editor Dialog, showing a closed folder named "DOE" | The same dialog, with the folder "DOE" openned | Command available in the Dialog |
Several behaviors of Aardvark may be customized in a persistant manner between invocations.
![]() |
showToolTips -- controls whether ToolTips are displayed Show (lots) of Startup Information -- generates copious amounts of output to <stdout> at startup. Useful for sanity checking and trouble-shooting echo URLs as issued -- echos each URL request to <stdout>. Very helpful in troubleshooting. |
Some data is unavailable from the server, and we continue to find obscure bugs in the server, so the best diagnostic for problems fetching data is to copy the URL to a browser and see if you can open it there. If the output contains a horrible error message, send it to Dav and Ben
You can use this handy form to submit a bug-report, or send email to Dav
send email to dav demanding a better user-guide
* Many thanks to Ruth Phillips Teitelbaum for the Aardvark logo!