Skip navigation links

Package org.lsst.ccs.gconsole.plugins.monitor

The CCS graphical console plugin and infrastructure classes that support displaying monitoring data.

See: Description

Package org.lsst.ccs.gconsole.plugins.monitor Description

The CCS graphical console plugin and infrastructure classes that support displaying monitoring data.

Monitoring GUI framework

LsstMonitorPlugin enables menus and provides methods for opening new monitoring view, exporting their content into files, saving and restoring its state.

MonitorView is the interface to be implemented by any software component that needs to manage a graphical console page displaying monitoring data. It registers itself with the AgentStatusAggregator and updates in response to status change events. A view has an AgentChannelsFilter associated with it.

AbstractMonitorView1 is the first level adapter designed to simplify implementing MonitorView. It provides machinery for listening to status aggregator events and allows the developer to update the view by implementing responses to addition, removal, and modification of data channels. Channels are added along with the display path string as defined by the filter associated with the view. The same channel might be added multiple times with different paths.

AbstractMonitorView2 is the second level adapter built on top of AbstractMonitorView1. It wraps each added channel into ChannelHandle and maintains a map of display paths to channel handles. For minimal functionality, the developer only needs to implement a single method (resetChannels()) that rebuilds the view based on that map whenever channels are added or removed. The view is updated automatically as long as the correct Updatable is set for each ChannelHandle.

The package contains several concrete views - TreeView, SectionedTableView, ConfigView - as well as two utility views designed to combine several concrete views into a single view that can be managed by the graphical console: TabbedView and CompoundView.

The base class for most monitoring tables used by various views is MonitorTable. This class implements a table model as a 2-dimensional list of MonitorCell, handles mouse events, and provides a basic implementation of the Updatable interface. MonitorTableCellRenderer class provides the default renderer for FormattedValue. Several concrete subclasses of the MonitorTable are available for use in views: SectionedTable, MeshTable, TreeTable.

Formatting of table cells is done by MonitorFormat. It can be subclassed to customize formatting.

Skip navigation links

Copyright © 2018 LSST. All rights reserved.