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

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

Introduction

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

Prototype


public DimensionFilter withName(String name) 

Source Link

Document

The dimension name to be matched.

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 w ww.jav a  2 s.com
 * @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;
}