Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

## 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 :

- The CIBStatistic interfaces represent a consistent view of a specific performance metric like the "ResidentTime" of a CIBService monitored object. In this specific example, the "ResidentTime" is a CIBTimeStatistic object allowing to aggregate :

- the minimum resident time since the beginning of the measurement,
- the maximum resident time since the beginning of the measurement,
- the accumulated resident time since the beginning of the measurement,
- the accumulated squared resident time since the beginning of the measurement.

Several basic CIBStatistic interfaces are provided in this package.

- The CIBStats interfaces allows to aggregate a set of CIBStatistic objects for a dedicated type monitored object : for example, the CIBServicePerfStats interface aggregates a set the CIBService performance metrics like the above ResidentTime, the ServiceTime etc ... This aggregation gives a consistent view of the different statistics/metrics of a specific monitored object. A CIBPerfstats interface has been defined which defines a specific set of metrics which are the "performance metrics".

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.

## JSR77 Statistic Model

Reference specific ations : 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.

## 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 :

- CIBCountStatistic representing a javax.management.j2ee.statistics.CountStatistic and a com.sun.mfwk.statistics.CIBStatistic
- CIBValueStatistic representing a javax.management.j2ee.statistics.Statistic and a com.sun.mfwk.statistics.CIBStatistic. This statistic interface has been added to represent a value which is not a counter.
- CIBRangeStatistic representing a javax.management.j2ee.statistics.RangeStatistic and a com.sun.mfwk.statistics.CIBStatistic
- CIBTimeStatistic representing a javax.management.j2ee.statistics.TimeStatistic and a com.sun.mfwk.statistics.CIBStatistic. The CIBTimeStatistic extends the TimeStatistic interface of the JSR77 by adding the "getTotalSquaredTime" method. This method allows to send back the sum of the squared time since the beginning of the measurement.

## JSR77 Stats Model

Reference specific ations : 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.

## 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.

- A CIBService monitored object should provide the set of statistics defined by the CIBServicePerfStats
- A CIBApplication monitored object should provide the set of statistic defined by the CIBApplicationPerfStats. (This interface is actually empty but could be extend to add specific CIBApplication statistic).
- A CIBExternalResource monitored object should provide the set of metrics defined by the CIBExternalResourcePerfStats interface.
- A CIBResource monnitored object should provide the set of the metrics defined by the CIBResourcePerfStats interface.

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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES