/** * @see ListMetricsOptions#metricName(String) */ public static ListMetricsOptions metricName(String metricName) { return new ListMetricsOptions().metricName(metricName); }
@Override public ListMetricsOptions clone() { return Builder.namespace(namespace).metricName(metricName).dimensions(dimensions).afterMarker(afterMarker); }
/** * @see ListMetricsOptions#dimension(Dimension) */ public static ListMetricsOptions dimension(Dimension dimension) { return new ListMetricsOptions().dimension(dimension); }
/** * @see ListMetricsOptions#afterMarker(Object) */ public static ListMetricsOptions afterMarker(Object afterMarker) { return new ListMetricsOptions().afterMarker(afterMarker); } }
/** * @see ListMetricsOptions#namespace(String) */ public static ListMetricsOptions namespace(String namespace) { return new ListMetricsOptions().namespace(namespace); }
.dimension(new Dimension(EC2Constants.Dimension.INSTANCE_ID, "SOMEINSTANCEID")) .metricName(EC2Constants.MetricName.CPU_UTILIZATION) .namespace("SOMENEXTTOKEN") .afterMarker(Namespaces.EC2)).toString(), "[Metric{namespace=AWS/EC2, metricName=CPUUtilization, dimension=[Dimension{name=InstanceId, value=i-689fcf0f}]}]");
/** * @see ListMetricsOptions#dimensions(Iterable) */ public static ListMetricsOptions dimensions(Iterable<Dimension> dimensions) { return new ListMetricsOptions().dimensions(dimensions); }
@Override public IterableWithMarker<Metric> apply(Object input) { return metricApi.list(options.clone().afterMarker(input)); }
/** * Tests {@link CloudWatch#listMetrics(CloudWatchApi, String, org.jclouds.cloudwatch.options.ListMetricsOptions)} * where a single response returns all results. * * @throws Exception if anything goes wrong */ @Test public void testSinglePageResult() throws Exception { CloudWatchApi api = createMock(CloudWatchApi.class); MetricApi metricApi = createMock(MetricApi.class); ListMetricsOptions options = new ListMetricsOptions(); IterableWithMarker<Metric> response = IterableWithMarkers.from(ImmutableSet.of(createMock(Metric.class)), null); expect(api.getMetricApiForRegion(null)) .andReturn(metricApi) .atLeastOnce(); expect(metricApi.list(options)) .andReturn(response) .once(); EasyMock.replay(api, metricApi); Assert.assertEquals(1, Iterables.size(CloudWatch.listMetrics(api, null, options))); }
@Test protected void testCloudWatch() { String metricName = "TestMetricName" + System.currentTimeMillis(); String namespace = "JCLOUDS/Test"; Date metricTimestamp = new Date(); Set<MetricDatum> metrics = Sets.newLinkedHashSet(); for (int i = 0; i < 11; i++) { metrics.add(MetricDatum.builder() .metricName(metricName + "_" + i) .dimension(new Dimension("BaseMetricName", metricName)) .unit(Unit.COUNT) .timestamp(metricTimestamp) .value((double) i) .build()); } CloudWatch.putMetricData(api, null, metrics, namespace); ListMetricsOptions lmo = ListMetricsOptions.Builder.namespace(namespace) .dimension(new Dimension("BaseMetricName", metricName)); boolean success = retry(new Predicate<ListMetricsOptions>() { public boolean apply(ListMetricsOptions options) { return Iterables.size(CloudWatch.listMetrics(api, null, options)) == 11; } }, 20, 1, MINUTES).apply(lmo); if (!success) { Assert.fail("Unable to gather the created CloudWatch data within the time (20m) allotted."); } }
/** * @see ListMetricsOptions#afterMarker(Object) */ public static ListMetricsOptions afterMarker(Object afterMarker) { return new ListMetricsOptions().afterMarker(afterMarker); } }
/** * @see ListMetricsOptions#namespace(String) */ public static ListMetricsOptions namespace(String namespace) { return new ListMetricsOptions().namespace(namespace); }
.dimension(new Dimension(EC2Constants.Dimension.INSTANCE_ID, "SOMEINSTANCEID")) .metricName(EC2Constants.MetricName.CPU_UTILIZATION) .namespace("SOMENEXTTOKEN") .afterMarker(Namespaces.EC2)).toString(), "[Metric{namespace=AWS/EC2, metricName=CPUUtilization, dimension=[Dimension{name=InstanceId, value=i-689fcf0f}]}]");
/** * @see ListMetricsOptions#dimensions(Iterable) */ public static ListMetricsOptions dimensions(Iterable<Dimension> dimensions) { return new ListMetricsOptions().dimensions(dimensions); }
@Override public IterableWithMarker<Metric> apply(Object input) { return metricApi.list(options.clone().afterMarker(input)); }
/** * Tests {@link CloudWatch#listMetrics(CloudWatchApi, String, org.jclouds.cloudwatch.options.ListMetricsOptions)} * where a single response returns all results. * * @throws Exception if anything goes wrong */ @Test public void testSinglePageResult() throws Exception { CloudWatchApi api = createMock(CloudWatchApi.class); MetricApi metricApi = createMock(MetricApi.class); ListMetricsOptions options = new ListMetricsOptions(); IterableWithMarker<Metric> response = IterableWithMarkers.from(ImmutableSet.of(createMock(Metric.class)), null); expect(api.getMetricApiForRegion(null)) .andReturn(metricApi) .atLeastOnce(); expect(metricApi.list(options)) .andReturn(response) .once(); EasyMock.replay(api, metricApi); Assert.assertEquals(1, Iterables.size(CloudWatch.listMetrics(api, null, options))); }
@Test protected void testCloudWatch() { String metricName = "TestMetricName" + System.currentTimeMillis(); String namespace = "JCLOUDS/Test"; Date metricTimestamp = new Date(); Set<MetricDatum> metrics = Sets.newLinkedHashSet(); for (int i = 0; i < 11; i++) { metrics.add(MetricDatum.builder() .metricName(metricName + "_" + i) .dimension(new Dimension("BaseMetricName", metricName)) .unit(Unit.COUNT) .timestamp(metricTimestamp) .value((double) i) .build()); } CloudWatch.putMetricData(api, null, metrics, namespace); ListMetricsOptions lmo = ListMetricsOptions.Builder.namespace(namespace) .dimension(new Dimension("BaseMetricName", metricName)); boolean success = retry(new Predicate<ListMetricsOptions>() { public boolean apply(ListMetricsOptions options) { return Iterables.size(CloudWatch.listMetrics(api, null, options)) == 11; } }, 20, 1, MINUTES).apply(lmo); if (!success) { Assert.fail("Unable to gather the created CloudWatch data within the time (20m) allotted."); } }
@Override public ListMetricsOptions clone() { return Builder.namespace(namespace).metricName(metricName).dimensions(dimensions).afterMarker(afterMarker); }
/** * @see ListMetricsOptions#metricName(String) */ public static ListMetricsOptions metricName(String metricName) { return new ListMetricsOptions().metricName(metricName); }
/** * @see ListMetricsOptions#afterMarker(Object) */ public static ListMetricsOptions afterMarker(Object afterMarker) { return new ListMetricsOptions().afterMarker(afterMarker); } }