|Home >> All >> org >> altara|
ProbeFactory: ProbeFactory creates probes of an appropriate class for a given type of service. ProbeFactory is considered part of the data model, since a Service's ProbeFactory encapsulates how to test the service, and therefore what type of service it is. ProbeFactory itself maps service type names ("http", "smtp", etc.) to ProbeFactory instances, and handles dynamic loading of probes from JAR files in the home directory
Service: Represents a service on a host monitored by MARS. Each service has a probe factory (which the service can use to build a probe that knows how to monitor said service), a port on which the service is running, a set of arguments to give to that factory's create() method, and a representation of the current status of that service.
NotificationListener: Interface implemented by parties interested in service status changes for notification purposes. Defines one method, notifyStatusChanged(), which is called by Controller when a the Notifier notifies it of a status change that has stabilized for long enough to warrant notification.
FaultListModel: FaultListModel contains a list of service faults. It does this by watching list state changes (it is a StatusChangeListener) and adding each service in transition to a bad state to a list. This provides the user with an at-a-glance list of problems on her network.
ServiceTreeChangeAdapter: Translates StatusChangeEvents and the MarsModelListener interface into TreeModelEvents. This allows the serviceTree display to update itself in a timely manner without imposing the peculiarities of the JTree event model on the UI-independent MARS code.
ProbeWorker: This worker runs Probes in a circular queue. Each Probe is checked to see if it's ready to run and is placed back into the queue. ProbeWorker runs at a fairly low priority and yields often, so as not to interfere with interactive tasks.
MarsModel: Represents the whole of the data model used by the MARS monitoring engine. MarsModel is the root of the data model tree containing hosts and services. MarsModel contains both configuration and current service status information.
ProbeEvent: Represents a single run of a probe. Used to notify user-side components that a probe has been run and a service's status updated. This is useful to show the user something is happening, or for really nitpicky logging.
Status: Represents the status of a given service monitored by MARS. Status is a tuple of a status code and a detail string explaining what return value from the server led the probe to decide on the given status code.
StatusChangeListener: Interface implemented by parties interested in service status changes. Defines one method, statusChanged(), which is called by Controller when a Probe notifies it of a status change.
StatusChangeEvent: Represents a change of a given service's status. Used to notify user-side components (e.g. the user interface and notification engine) that a service's status has changed.
ProbeListener: Interface implemented by parties interested in probe run notification. Defines one method, probeRun(), which is called by Controller when a Probe is run.
ChangeListModel: ChangeListModel contains a list of service status change events. It provides the user with a way to view the history of service status changes.
Controller: This class controls the MARS monitoring engine. It manages the monitoring work queue, the monitoring threads, and the service status change list.
Host: Represents a single host monitored by MARS. Each Host contains a set of Services, which contain service specific information.
MarsAbstractRenderer: Renders a list cell or tree cell using a JLabel. Most of the look and feel of the renderer components is controlled here.
XmlProbeFactory: This class implements a SendExpectProbe-creating ProbeFactory configured from an incoming JDOM mdef:svctype element.
PluginRegistry: Manages the extension framework. PluginRegistry handles loading and configuration of plugins dynamically.
StatusChangeThreadAdapter: Wraps a StatusChangeListener to ensure statusChanged() is called in the Swing event dispatch thread.
MarsModelListener: Defines a interface for an object interested in non-status-related changes to a MarsModel.
ProbeThreadAdapter: Wraps a ProbeListener to ensure probeRun() is called in the Swing event dispatch thread.
Queue: Queue is a wrapper around a LinkedList providing a queue-oriented view.
ConfigPanel: Provides user access to plugin and (future) global config options.
Probe: Probe is the abstract superclass of all MARS service probes.
DetailListModel: Presents details about a service's status in a list view.