org.rhq.enterprise.server.rest
Interface MetricHandlerLocal

All Known Implementing Classes:
MetricHandlerBean

public interface MetricHandlerLocal

Deal with metrics

Author:
Heiko W. Rupp

Method Summary
 List<MetricAggregate> getAggregatesForResource(int resourceId)
           
 Baseline getBaseline(int scheduleId, javax.ws.rs.core.HttpHeaders headers, javax.ws.rs.core.UriInfo uriInfo)
           
 javax.ws.rs.core.Response getMetricData(int scheduleId, long startTime, long endTime, int dataPoints, boolean hideEmpty, javax.ws.rs.core.Request request, javax.ws.rs.core.HttpHeaders headers)
           
 javax.ws.rs.core.Response getMetricDataMulti(String scheduleIds, long startTime, long endTime, int dataPoints, boolean hideEmpty, javax.ws.rs.core.Request request, javax.ws.rs.core.HttpHeaders headers)
           
 javax.ws.rs.core.StreamingOutput getMetricDataRaw(int scheduleId, long startTime, long endTime, long duration, javax.ws.rs.core.Request request, javax.ws.rs.core.HttpHeaders headers)
          Expose the raw metrics for the given schedule
 javax.ws.rs.core.Response getSchedule(int scheduleId, javax.ws.rs.core.Request request, javax.ws.rs.core.HttpHeaders headers, javax.ws.rs.core.UriInfo uriInfo)
          Get information about the schedule
 javax.ws.rs.core.Response getTraitValue(int scheduleId)
           
 javax.ws.rs.core.Response postMetricValues(Collection<NumericDataPoint> points, javax.ws.rs.core.HttpHeaders headers)
          Submit a series of (numerical) metric values to the server
 javax.ws.rs.core.Response putMetricValue(int scheduleId, long timestamp, NumericDataPoint point, javax.ws.rs.core.HttpHeaders headers, javax.ws.rs.core.UriInfo uriInfo)
          Submit a single (numerical) metric value to the server.
 javax.ws.rs.core.Response putTraitValue(int scheduleId, StringValue value)
           
 void setBaseline(int scheduleId, Baseline baseline, javax.ws.rs.core.HttpHeaders headers, javax.ws.rs.core.UriInfo uriInfo)
           
 javax.ws.rs.core.Response updateSchedule(int scheduleId, MetricSchedule in, javax.ws.rs.core.HttpHeaders headers)
          Update a schedule.
 

Method Detail

getMetricData

javax.ws.rs.core.Response getMetricData(int scheduleId,
                                        long startTime,
                                        long endTime,
                                        int dataPoints,
                                        boolean hideEmpty,
                                        @Context
                                        javax.ws.rs.core.Request request,
                                        @Context
                                        javax.ws.rs.core.HttpHeaders headers)

getMetricDataMulti

javax.ws.rs.core.Response getMetricDataMulti(String scheduleIds,
                                             long startTime,
                                             long endTime,
                                             int dataPoints,
                                             boolean hideEmpty,
                                             @Context
                                             javax.ws.rs.core.Request request,
                                             @Context
                                             javax.ws.rs.core.HttpHeaders headers)

getAggregatesForResource

List<MetricAggregate> getAggregatesForResource(int resourceId)

getSchedule

javax.ws.rs.core.Response getSchedule(int scheduleId,
                                      @Context
                                      javax.ws.rs.core.Request request,
                                      @Context
                                      javax.ws.rs.core.HttpHeaders headers,
                                      @Context
                                      javax.ws.rs.core.UriInfo uriInfo)
Get information about the schedule

Parameters:
scheduleId - id of the schedule
request - Injected request
headers - Injected http headers
uriInfo - Injected Uri
Returns:
the schedule

updateSchedule

javax.ws.rs.core.Response updateSchedule(int scheduleId,
                                         MetricSchedule in,
                                         @Context
                                         javax.ws.rs.core.HttpHeaders headers)
Update a schedule. Currently change of collection interval and enabled/disabled state are supported.

Parameters:
scheduleId - Id of the schedule to update
in - Modified schedule object
headers - Injected http headers
Returns:
Result of updating

getMetricDataRaw

javax.ws.rs.core.StreamingOutput getMetricDataRaw(int scheduleId,
                                                  long startTime,
                                                  long endTime,
                                                  long duration,
                                                  @Context
                                                  javax.ws.rs.core.Request request,
                                                  @Context
                                                  javax.ws.rs.core.HttpHeaders headers)
Expose the raw metrics for the given schedule

Parameters:
scheduleId - Schedule id
startTime - Start time, if 0 and duration=, start time = 8h before endTime
endTime - End time. If 0, now is used
duration - Duration in seconds. If duration=0, startTime is used
request - Injected Request headers
headers - Injected HttpHeaders
Returns:
a JSON encoded stream of numerical values

putMetricValue

javax.ws.rs.core.Response putMetricValue(int scheduleId,
                                         long timestamp,
                                         NumericDataPoint point,
                                         @Context
                                         javax.ws.rs.core.HttpHeaders headers,
                                         @Context
                                         javax.ws.rs.core.UriInfo uriInfo)
Submit a single (numerical) metric value to the server.

Parameters:
scheduleId - Id of the schedule to submit to
timestamp - Timestamp of the entry
point - Datapoint of class NumericDataPoint
headers - Injected HTTP headers
uriInfo - Injected info about the uri
Returns:

postMetricValues

javax.ws.rs.core.Response postMetricValues(Collection<NumericDataPoint> points,
                                           @Context
                                           javax.ws.rs.core.HttpHeaders headers)
Submit a series of (numerical) metric values to the server

Parameters:
points - Collection of NumericDataPoint entries
headers - Injected HTTP headers
Returns:
response object

getBaseline

Baseline getBaseline(int scheduleId,
                     @Context
                     javax.ws.rs.core.HttpHeaders headers,
                     @Context
                     javax.ws.rs.core.UriInfo uriInfo)

setBaseline

void setBaseline(int scheduleId,
                 Baseline baseline,
                 @Context
                 javax.ws.rs.core.HttpHeaders headers,
                 @Context
                 javax.ws.rs.core.UriInfo uriInfo)

putTraitValue

javax.ws.rs.core.Response putTraitValue(int scheduleId,
                                        StringValue value)

getTraitValue

javax.ws.rs.core.Response getTraitValue(int scheduleId)


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