List of usage examples for com.amazonaws.services.cloudwatch.model Dimension withName
public Dimension withName(String name)
The name of the dimension.
From source file:org.alfresco.provision.AWSService.java
License:Open Source License
public Metrics getMetrics(String instanceId, List<String> measureNames) { GetMetricStatisticsRequest getMetricRequest = new GetMetricStatisticsRequest(); getMetricRequest.setNamespace("AWS/EC2"); getMetricRequest.setPeriod(60);//from w w w.j a v a2s.c o m List<String> stats = new LinkedList<>(); stats.add("Average"); getMetricRequest.setStatistics(stats); getMetricRequest.setNamespace("AWS/EC2"); Dimension dimension = new Dimension(); dimension.withName("InstanceId").withValue(instanceId); getMetricRequest.setDimensions(Arrays.asList(dimension)); GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("UTC")); calendar.add(GregorianCalendar.SECOND, -1 * calendar.get(GregorianCalendar.SECOND)); getMetricRequest.setEndTime(calendar.getTime()); calendar.add(GregorianCalendar.MINUTE, -10); getMetricRequest.setStartTime(calendar.getTime()); Map<Long, Metrics> measureSets = new HashMap<>(); for (String measureName : measureNames) { getMetricRequest.setMetricName(measureName); GetMetricStatisticsResult metricStatistics = cloudWatchClient.getMetricStatistics(getMetricRequest); List<Datapoint> datapoints = metricStatistics.getDatapoints(); for (Datapoint point : datapoints) { Calendar cal = new GregorianCalendar(); cal.setTime(point.getTimestamp()); Metrics measureSet = measureSets.get(cal.getTimeInMillis()); if (measureSet == null) { measureSet = new Metrics(); measureSet.timestamp = cal; measureSets.put(cal.getTimeInMillis(), measureSet); } measureSet.setMetric(measureName, point.getAverage()); } } List<Metrics> sortedMeasureSets = new ArrayList<>(measureSets.values()); if (sortedMeasureSets.size() == 0) { return null; } else { Collections.sort(sortedMeasureSets); return sortedMeasureSets.get(sortedMeasureSets.size() - 1); } }
From source file:org.alfresco.provision.CloudWatchMonitor.java
License:Open Source License
public MeasureSet retrieveMeasureSet(List<String> measureNames) { GetMetricStatisticsRequest getMetricRequest = new GetMetricStatisticsRequest(); getMetricRequest.setNamespace("AWS/EC2"); getMetricRequest.setPeriod(60);//w w w. j ava 2 s . c o m List<String> stats = new LinkedList<>(); stats.add("Average"); getMetricRequest.setStatistics(stats); List<Dimension> dimensions = new LinkedList<>(); Dimension dimension = new Dimension(); dimensions.add(dimension.withName("InstanceId").withValue(instanceId)); // getMetricRequest.setDimensions(dimensions); GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("UTC")); calendar.add(GregorianCalendar.SECOND, -1 * calendar.get(GregorianCalendar.SECOND)); getMetricRequest.setEndTime(calendar.getTime()); calendar.add(GregorianCalendar.MINUTE, -600); getMetricRequest.setStartTime(calendar.getTime()); // DimensionFilter dimFilter = new DimensionFilter(); // dimFilter.withName("InstanceId").withValue(instanceId); // List<DimensionFilter> dimFilters = new LinkedList<>(); // dimFilters.add(dimFilter); // ListMetricsRequest listMetricsRequest = new ListMetricsRequest(); // listMetricsRequest.setDimensions(dimFilters); // ListMetricsResult metrics = cloudWatchClient.listMetrics(); // for(Metric metric : metrics.getMetrics()) // { // System.out.println("IM" + metric); // } // getMetricRequest.setNamespace("AWS/EC2"); // getMetricRequest.setMetricName("CPUUtilization"); //// Dimension dimension = new Dimension(); //// dimensions.add(dimension.withName("InstanceId").withValue(instanceId)); // getMetricRequest.setDimensions(dimensions); // GetMetricStatisticsResult metricStatistics = cloudWatchClient.getMetricStatistics(getMetricRequest); // Map<Long, MeasureSet> measureSets = new HashMap<>(); // List<Datapoint> datapoints = metricStatistics.getDatapoints(); // for (Datapoint point : datapoints) { // Calendar cal = new GregorianCalendar(); // cal.setTime(point.getTimestamp()); //// cal.add(GregorianCalendar.HOUR, timeOffset); // MeasureSet measureSet = measureSets.get(cal.getTimeInMillis()); // if (measureSet == null) { // measureSet = new MeasureSet(); // measureSet.timestamp = cal; // measureSets.put(cal.getTimeInMillis(), measureSet); // } // measureSet.setMeasure("CPUUtilization", point.getAverage()); // } Map<Long, MeasureSet> measureSets = new HashMap<>(); for (String measureName : measureNames) { getMetricRequest.setNamespace("AWS/EC2"); getMetricRequest.setMetricName(measureName); Dimension dimension1 = new Dimension(); dimension1.withName("InstanceId").withValue(instanceId); getMetricRequest.setDimensions(Arrays.asList(dimension1)); GetMetricStatisticsResult metricStatistics = cloudWatchClient.getMetricStatistics(getMetricRequest); List<Datapoint> datapoints = metricStatistics.getDatapoints(); for (Datapoint point : datapoints) { Calendar cal = new GregorianCalendar(); cal.setTime(point.getTimestamp()); // cal.add(GregorianCalendar.HOUR, timeOffset); MeasureSet measureSet = measureSets.get(cal.getTimeInMillis()); if (measureSet == null) { measureSet = new MeasureSet(); measureSet.timestamp = cal; measureSets.put(cal.getTimeInMillis(), measureSet); } measureSet.setMeasure(measureName, point.getAverage()); } } List<MeasureSet> sortedMeasureSets = new ArrayList<>(measureSets.values()); if (sortedMeasureSets.size() == 0) { return null; } else { Collections.sort(sortedMeasureSets); return sortedMeasureSets.get(sortedMeasureSets.size() - 1); } }