Event GUI Overview
The eventGUI is intended as a replacement for the Python-based acseventbrowser,
which has shown stability problems in the past. The new, Eclipse RCP (Java)-based
eventGUI does not include all the functionality that was offered by its
predecessor, but has other functionality not in the Python-based application, namely,
the display of pertinent statistics about the Notify Service and its channels provided by
the TAO Monitor and Control extensions to the Notify Service. The eventGUI should also
be easier to use and understand.
The main Event GUI screen, with the Event Detail View displayed in the lower right-hand quadrant.
 |
There are three principal views:
Service Summary View
This hierarchical view displays high-level information concerning each of the instances of
the CORBA Notify Service that are currently running under ACS. At the time
of writing, these are:
- Default Notify Service: the first (default) instance to be used by subsystems for event communication;
any non-preconfigured additional instances are shown as well if they are running
- Logging Notify Service: currently carries logs across the network
- Archiving Notify Service: carries those BACI properties for which it is enabled in the (TM)CDB
- Archiving Notify Service: carries alarms across the network
The leaves of the explorer-like tree show the number of consumers and the number of
suppliers for each of these Services. When monitoring is enabled (right-click
anywhere on the View and select "Start monitoring"), the recent (within the last
10 seconds) increase or decrease in the number of suppliers/consumers will be
shown next to the totals.
Channel Tree View
This hierarchical view shows, for each Notify Service instance, the channels that exist within that instance,
the numbers and names of components (or, for C++, containers of components) that are subscribing to or consuming
events on that channel. The current size of the event queue for each channel, which is normally zero for a
well-behaved system, is also shown. When the queue size for a channel is > 0, a list of the slowest
consumers on that channel is displayed.
For each channel, right-clicking on the channel name offers the option to subscribe or unsubscribe (if
already subscribed) to all events on that channel. There will normally be a delay of up to 60 seconds
before the subscription becomes effective, since that is the refresh cycle time for the monitoring thread
in the eventGUI. Unsubscribing, on the other hand, is nearly immediate.
A shortcut which allows you to
subscribe to all events on all channels at once (which mimics the previous default behavior of the eventGUI)
is available in the View's drop-down menu. You are advised not to do this on a full-up ALMA system, as
the eventGUI will almost surely not be able to keep up with an influx of several hundred events/s; this, in
turn, can impact the performance of the Notify Service itself and, if prolonged, lead to exhaustion of the
Notify Service's memory.
Event List View
Unless filtering (see below) is active, this View displays a scrolling list
of events, updated roughly once per second. A handful of high-level fields are shown
for each event, namely:
- Timestamp:
- Event source:
- Number of events received for this channel:
- Event type:
- Number of events of this type received:
Available memory is checked periodically, and when a low-water mark is reached, the
oldest events will be deleted from the list. Note the contrast between this behavior and
that of jlog, which can buffer log records to disk.
When this View is selected, the latest 10-second average of the arriving event rate (for those channels
to which the eventGUI is subscribing) is displayed in the status bar at the very bottom of the eventGUI
main window.
Filtering
This facility, most assuredly in a preliminary, experimental state, can select which incoming events
to display based on their type. Entering any part of a regular expression into the box
above the list will show only those events whose type is matched by the expression, and only
those which arrive after the filter is set. To resume full event display, the filter
text box should be cleared; again this is effective only for events arriving after the
filter box has been cleared.
Clicking on an event in this view will open the Event Detail View.
Event Detail View
This view (still somewhat of a work in progress) displays the decoded contents
of the selected event. In the case of an event that contains one or more
arrays, only the first 5 elements of the array will be shown.
Note that for large events, e.g.. with thousand-element arrays, display
of the event may take some time, as indicated by a rotating cursor.