Package com.sun.mfwk.cib.statistics

This package provides interfaces that should be implemented by each component providing statistics and set of statistics for monitored objects.

See:
          Description

Interface Summary
CIBApplicationPerfStats Provides methods that should be implemented by a CIBApplicationStats object
CIBCountStatistic Provides methods that should be implemented by a CIBCountStatistic object This interface is used to map the CountStatistic interface of JSR77
CIBExternalResourcePerfStats Provides methods that should be implemented by a CIBExternalServiceStats object
CIBPerfStats Provides methods that should be implemented by a CIBPerfStats object
CIBRangeStatistic Provides methods that should be implemented by a CIBRangeStatistic object This interface is used to map the RangeStatistic interface of JSR77
CIBResourcePerfStats Provides methods that should be implemented by a CIBResourcePerfStats provider providing performance data for a CIBResource
CIBServicePerfStats Provides methods that should be implemented by a CIBServicePerfStats provider providing performance statistics for a CIBService
CIBStatistic Provides methods that should be implemented by a CIBStatistic object A Statistic interface provides the methods : getName, getUnit, getDescription, getStartTime, getLastSampleTime
CIBStats Provides methods that should implemented by a CIBStats
CIBTimeStatistic Provides methods that should be implemented by a CIBTimeStatistic object This interface is used to map the TimeStatistic interface of JSR77
CIBValueStatistic Provides methods that should be implemented by a CIBValueStatistic object
 

Package com.sun.mfwk.cib.statistics Description

This package provides interfaces that should be implemented by each component providing statistics and set of statistics for monitored objects. A default implementation of each interface is provided into the CIB/SDK packages and sub-packages.

Overview


The statistic model is based/derived on/from the statistic model specified into the JSR 77. The CIB Statistic model is composed of two
groups of interfaces :
Several basic CIBStatistic interfaces are provided in this package.
For each monitored object type defined into the CIB, a corresponding  CIBPerfStats interface is defined.

CIBMonitoredObject CIBPerfStats
CIBApplication
CIBApplicationPerfStats
CIBService
CIBServicePerfStats
CIBExternalResourceStats
CIBExternalResourcePerfStats
CIBResource
CIBResourcePerfStats


The following diagram shows relationships between a CIBMonitoredObject, its CIBProviderHandler and each provider.

UML Diagram

JSR77 Statistic Model

 Reference specifications : JSR 77 : J2EE Management

The following diagram shows the JSR77 statistics interfaces that are used into the CIB statistic model. For a complete specifications of each interfaces and methods please read the JSR 77 : J2EE Management specifications.

The CIB statistic model uses three specific interfaces of the JSR77 :
  1. javax.management.j2ee.statistics.CountStatistic interface representing a counter
  2. javax.management.j2ee.statistics.TimeStatistic interface representing a set of consistent time values
  3. javax.management.j2ee.statistics.RangeStatistic reprensenting a Gauge.

UML Diagram


CIBStatistic interfaces


Each interface provided into this package derived from the CIBStatistic interface. Each CIBStatistic object should implemented a "toCompositeData" and "fromCompositeData" methods. The implementation of these two methods allows to convert each statistic object into JMX open types and Objects. Therefore, each CIBStatistic object should implements the "to" and "from" CompositeData. The "toCompositeData" methods is called by the monitored object itself when a specific statistic is required through a getOpenStatistic/getOpenStats/getOpenStatistics methods.
Four default interfaces are provided :

UML Diagram



JSR77 Stats Model

Reference specifications : JSR 77 : J2EE Management

The Stats interface and its subinterface specify performance data accessors for each of the specific monitored object types.

String[] getStatisticNames : Return a list of names of the attributes from the specific Stats interface that this monitored object supports. Attributes named in the list must correspond to the name4s of operations in the Stats interface that will return Stastistics object of the appropriate type which contains valid data. Each operation in the Stats is an accessor which follows the pattern getAttributeName. The AttributeName portion of the operation name is the value that is returned as the name in the StatisticNames list.

Statistic getStatistic(String statisticName) : Get a statistic by name.
 
Statistic[] getStatistics() : Return the list of all the statistic object supported by this Stats object.


UML Diagram


CIB Stats model


The CIBStats interfaces allows to aggregate a set of CIBStatistic objects for a dedicated type monitored object : i.e for example, the CIBServicePerfStats interface aggregates a set the CIBService performance metrics like the ResidentTime, the ServiceTime etc ... giving a consistent view of the different statistics/metrics of a monitored object.  A CIBPerfstats interface has been defined which aggregates a specific set of metrics which are the performance metrics. Each interface defines a set statistics that should be provided by their dedicated monitored object type.

Each CIBPerfStats type should, through the "to" and "from" CompositeData method, convert each CIBPerfStats type to/from a JMX Open Type and CompositeData.
Each CIBStats is a CIBProvider, meaning that each CIBStats object is called also a CIBProvider. A CIBProvider is an object that implements an "init" and "destroy" methods. A Provider could be initialized and/or destroyed. The init/destroy are called by the specific monitored object.

UML Diagram