OAA Monitor
version 2.0.3, November 1999
Contents:
The OAA Monitor program is used to trace, debug and profile communication
events for an OAA agent community. When the monitor agent connects to a
Facilitator agent, it asks the Facilitator for a list of all agents currently
connected to the system, and then graphically displays the agents arranged in
a circle around the Facilitator. As agents join or leave the dynamic agent
community, the Monitor agent updates its display accordingly.
From the vantage point of the graphical community display, an agent developer
can examine meta-information about individual agents or trace communication
messages among the participants.
Clicking on an agent icon selects the agent and displays information about it:
- The agent's capabilities or solvables
- The language the agent is written in
- The version number of the OAA library used by the agent
- The host the agent is running on
- How much data the agent has sent or received during the current
logging session.
The selected agent is used by several other Monitor functions: event logging
(to view only messages to and from the selected agent), and message filtering.
Clicking the right mouse button on an agent icon pops up an action menu for the
agent. From here, a developer may choose to send a kill message to a specific
agent, or can issue a Ping request to see how fast the agent responds (if at all).
If the record button
is turned on in the
interface, interagent communication messages will be graphically drawn on the
display, and saved in a log. A developer can choose to view the log window
with the show log button
, and can step
through the log trace one message at a time using forward
and back
buttons.
As events are added to the log, the total number of messages and number of
data byes sent and received are displayed on the main information panel.
The logged events can be saved to a file using the "Save log text" command
Log window
From the log window, developers can choose to see a "high level" view of the
communication messages, or a "communication level" view. The high level
view attempts to format the low-level messages into units which are more in
line semantically with what a developer writes in his or her code. For instance,
the internal message post_query() is reformatted into the OAA library
primitive solve(), with solutions to a solve request displayed one per
line. The lower-level "communication" view is useful to see exactly which
bytes were sent between two agents.
Searching through logged events
The log can be searched for a particular string value using the find in log
command accessible from the menu or by typing ctrl-F. F3 will
find the next instance of a search string. The logged messages can also be
trimmed to display only those messages coming from a single agent -- to do so,
choose an agent by clicking on it in the main display window, and then select
the "Only current agent" checkbox option in the log window.
The Monitor tools can also be used for simple profiling of an agent application.
Selecting the "Chart data size" option from the "Profile" menu will display a
chart depicting a graph of the number of bytes sent and received by each agent
during the logged session.
By selecting the appropriate option from the Options menu, the user can choose
whether or not to graphically view messages being sent among agents in the
community.
Also available is the ability to switch between different Look and Feel
interfaces (Windows, X/Motif, and Java's Metal Look)
Not yet implemented:
- Filter events: the Match command
- Ping an agent to see if it's alive
- Profile: chart time spent by each agent
- Save and load sessions
- Monitor listens to ALL events of the whole community, even when
the "record" button isn't selected. Since Java is slow, this can
slow down messaging for everyone, while Monitor tries to read and
consume all messages. If you leave Monitor connected for a long time
to a high-traffic community, Monitor may eventually clog progress.
Should be improved to use OAA 2.0's better trigger management to
filter only selected messages, at the right times.
Copyright (c) 1998 by SRI International