Example usage for com.amazonaws.services.cloudwatch.model DimensionFilter DimensionFilter

List of usage examples for com.amazonaws.services.cloudwatch.model DimensionFilter DimensionFilter

Introduction

In this page you can find the example usage for com.amazonaws.services.cloudwatch.model DimensionFilter DimensionFilter.

Prototype

DimensionFilter

Source Link

Usage

From source file:com.appdynamics.extensions.cloudwatch.metricsmanager.MetricsManager.java

License:Apache License

/**
 * Retrieve metrics for a particular namespace using the specified filter names
 * @param awsCloudWatch //from  www .jav  a 2s  . c om
 * @param namespace     Name of the namespace
 * @param filterNames   List of filter names (used to filter metrics)
 * @return List<Metric> List of filtered metrics for a particular namespace
 */
protected List<Metric> getMetrics(AmazonCloudWatch awsCloudWatch, String namespace, String... filterNames) {
    ListMetricsRequest request = new ListMetricsRequest();
    List<DimensionFilter> filters = new ArrayList<DimensionFilter>();

    for (String filterName : filterNames) {
        DimensionFilter dimensionFilter = new DimensionFilter();
        dimensionFilter.withName(filterName);
        filters.add(dimensionFilter);
    }
    request.withNamespace(namespace);
    request.withDimensions(filters);
    List<Metric> metricList = Lists.newArrayList();
    ListMetricsResult listMetricsResult = awsCloudWatch.listMetrics(request);
    metricList = listMetricsResult.getMetrics();
    // Retrieves all the metrics if metricList > 500
    while (listMetricsResult.getNextToken() != null) {
        request.setNextToken(listMetricsResult.getNextToken());
        listMetricsResult = awsCloudWatch.listMetrics(request);
        metricList.addAll(listMetricsResult.getMetrics());
    }
    return metricList;
}

From source file:com.pinterest.arcee.autoscaling.AwsAlarmManager.java

License:Apache License

@Override
public List<String> listAwsMetrics(String groupName) throws Exception {
    DimensionFilter dimensionFilter = new DimensionFilter();
    dimensionFilter.setName(DIMENTION_NAME);
    dimensionFilter.setValue(groupName);
    ListMetricsRequest listMetricsRequest = new ListMetricsRequest();
    listMetricsRequest.withDimensions(dimensionFilter).withNamespace(METRIC_NAMESPACE);

    ListMetricsResult listMetricsResult = acwClient.listMetrics(listMetricsRequest);
    List<String> metricName = new ArrayList<>();
    for (Metric metric : listMetricsResult.getMetrics()) {
        metricName.add(metric.getMetricName());
    }/*from  w  w  w.j  av  a  2  s . co  m*/
    return metricName;
}