jade.core.sam
Interface SAMHelper

All Superinterfaces:
ServiceHelper

public interface SAMHelper
extends ServiceHelper

Helper interface for the System Activity Monitoring (SAM) Service.
The SAM Service allows collecting system activity information such as the average time to perform a given operations or the number of events of a given type. When activated, the SAM service is used internally by the JADE runtime to monitor entities related to JADE specific activities such as the average message delivery time or the number of posted messages, but can be used by application agents as well to monitor entities related to application specific activities. In order to do that an agent must retrieve the SAMHelper by means of the getHelper() method of the Agent class and register providers of measures for the entities that have to be monitored. The underlying SAM Service periodically invokes such providers and collects all retrieved information in the Main Container aggregating them properly. Many providers can be registered (possibly in different containers) for the same entity. In general measures of the same entity generated by different providers are mediated to compute an average measure. Counters of events are treated differently: contributions from different providers associated to the same counter are summed to compute a total value.

See Also:
Agent.getHelper(String)

Field Summary
static java.lang.String SERVICE_NAME
           
 
Method Summary
 void addCounterValueProvider(java.lang.String counterName, CounterValueProvider provider)
          Register a provider to get values of a given counter
 void addEntityMeasureProvider(java.lang.String entityName, AverageMeasureProvider provider)
          Register a provider of average measures for a given entity
 void addEntityMeasureProvider(java.lang.String entityName, MeasureProvider provider)
          Register a provider of measures for a given entity
 
Methods inherited from interface jade.core.ServiceHelper
init
 

Field Detail

SERVICE_NAME

static final java.lang.String SERVICE_NAME
See Also:
Constant Field Values
Method Detail

addEntityMeasureProvider

void addEntityMeasureProvider(java.lang.String entityName,
                              MeasureProvider provider)
Register a provider of measures for a given entity

Parameters:
entityName - The name of the entity the registered provider will provide measures for
provider - The provider of measures
See Also:
MeasureProvider

addEntityMeasureProvider

void addEntityMeasureProvider(java.lang.String entityName,
                              AverageMeasureProvider provider)
Register a provider of average measures for a given entity

Parameters:
entityName - The name of the entity the registered provider will provide measures for
provider - The provider of average measures
See Also:
AverageMeasureProvider, AverageMeasureProviderImpl

addCounterValueProvider

void addCounterValueProvider(java.lang.String counterName,
                             CounterValueProvider provider)
Register a provider to get values of a given counter

Parameters:
counterName - The name of the counter the registered provider will get values of
provider - The provider of counter values
See Also:
CounterValueProvider


These are the official JADE API. For these API backward compatibility is guaranteed accross JADE versions