List of usage examples for com.amazonaws.services.cloudwatch.model ListMetricsRequest withNamespace
public ListMetricsRequest withNamespace(String namespace)
The namespace to filter against.
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; }