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 org.lsst.ccs.gconsole.agent.AgentStatusAggregator and updates in response to status change events. A view has an org.lsst.ccs.gconsole.agent.AgentChannelsFilter associated with it.

org.lsst.ccs.gconsole.plugins.monitor.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.

org.lsst.ccs.gconsole.plugins.monitor.AbstractMonitorView2 is the second level adapter built on top of org.lsst.ccs.gconsole.plugins.monitor.AbstractMonitorView1. It wraps each added channel into org.lsst.ccs.gconsole.plugins.monitor.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 org.lsst.ccs.gconsole.plugins.monitor.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, org.lsst.ccs.gconsole.plugins.monitor.TreeTable.

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

Skip navigation links

Copyright © 2023 LSST. All rights reserved.