org.rhq.core.clientapi.agent.measurement
Interface MeasurementAgentService


public interface MeasurementAgentService

The interface to a JON Agent's measurement (i.e. metric collection) subsystem.


Method Summary
 Map<String,Object> getMeasurementScheduleInfoForResource(int resourceId)
           
 Set<org.rhq.core.domain.measurement.MeasurementData> getRealTimeMeasurementValue(int resourceId, Set<org.rhq.core.domain.measurement.MeasurementScheduleRequest> requests)
          This method is a way for the caller to ask for measurement collections to occur "now".
 void scheduleCollection(Set<org.rhq.core.domain.measurement.ResourceMeasurementScheduleRequest> resourceSchedules)
          Schedules a group of measurements on the agent at specified interval.
 void unscheduleCollection(Set<Integer> resourceIds)
          Unschedule previously scheduled measurements for the resources with the specified id's .
 void updateCollection(Set<org.rhq.core.domain.measurement.ResourceMeasurementScheduleRequest> resourceSchedules)
          Updates the schedule for a group of measurements on the agent.
 

Method Detail

scheduleCollection

void scheduleCollection(Set<org.rhq.core.domain.measurement.ResourceMeasurementScheduleRequest> resourceSchedules)
Schedules a group of measurements on the agent at specified interval. This method should not fail if it cannot schedule any individual measurement(s). The only errors which should occur are protocol or connection errors.

Parameters:
resourceSchedules - list of the schedules that are to be added to the agent

updateCollection

void updateCollection(Set<org.rhq.core.domain.measurement.ResourceMeasurementScheduleRequest> resourceSchedules)
Updates the schedule for a group of measurements on the agent. Like scheduleCollection(), this method should not fail if it cannot schedule an individual measurement. The only errors which should occur are protocol or connection errors.

Parameters:
resourceSchedules - list of schedules that are to be updated on the agent

unscheduleCollection

void unscheduleCollection(Set<Integer> resourceIds)
Unschedule previously scheduled measurements for the resources with the specified id's . An attempt will be made to unschedule all measurements; however, if one measurement is unable to be unscheduled, an exception will not be thrown until the end of the operation. Therefore, it is safe to assume that measurements will be unscheduled (or at least attempted to be unscheduled) for all specified resources, regardless of exceptions.

Parameters:
resourceIds - list of the resources whose measurements are to be unscheduled from collection

getRealTimeMeasurementValue

Set<org.rhq.core.domain.measurement.MeasurementData> getRealTimeMeasurementValue(int resourceId,
                                                                                 Set<org.rhq.core.domain.measurement.MeasurementScheduleRequest> requests)
This method is a way for the caller to ask for measurement collections to occur "now". In other words, you can obtain real-time, current values of the given measurements for the given resource, even if those measurements are not even scheduled for collection.

Measurement data collected via this call will have its non-persistent "name" field set the name of the measurement, but will not have scheduleIds set except for per minute metrics. Requests for per minute metrics must specify the schedule id. This is because of the way a per minute metric is calculated which involved the previously collected value. That value is obtained from a cache which is keyed by schedule id.

Parameters:
resourceId - id of resource to collect from
requests - Each request specifies a metric to be collected along with its corresponding data type
Returns:
the set of collected measurements with their data values collected

getMeasurementScheduleInfoForResource

Map<String,Object> getMeasurementScheduleInfoForResource(int resourceId)


Copyright © 2008-2012 Red Hat, Inc.. All Rights Reserved.