Example usage for com.amazonaws.services.cloudwatch.model ListMetricsRequest withNamespace

List of usage examples for com.amazonaws.services.cloudwatch.model ListMetricsRequest withNamespace

Introduction

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

Prototype


public ListMetricsRequest withNamespace(String namespace) 

Source Link

Document

The namespace to filter against.

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 /*w w w  . j ava 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;
}