/** * Returns a newly-created {@code MetricDatum} based on the contents of the {@code Builder}. */ public MetricDatum build() { return new MetricDatum(dimensions.build(), metricName, statisticValues, timestamp, unit, value); }
@Override public String toString() { return string().toString(); }
int dimensionIndex = 1; for (Dimension dimension : metricDatum.getDimensions()) { formParameters.put("MetricData.member." + metricDatumIndex + ".Dimensions.member." + dimensionIndex + ".Name", dimension.getName()); formParameters.put("MetricData.member." + metricDatumIndex + ".MetricName", metricDatum.getMetricName()); if (metricDatum.getStatisticValues().isPresent()) { StatisticValues statisticValues = metricDatum.getStatisticValues().get(); if (metricDatum.getTimestamp().isPresent()) { formParameters.put("MetricData.member." + metricDatumIndex + ".Timestamp", dateService.iso8601SecondsDateFormat(metricDatum.getTimestamp().get())); String.valueOf(metricDatum.getUnit())); if (metricDatum.getValue().isPresent()) { formParameters.put("MetricData.member." + metricDatumIndex + ".Value", String.valueOf(metricDatum.getValue().get()));
/** * Tests {@link CloudWatch#putMetricData(CloudWatchApi, String, Iterable, String)} where the set of metrics is * greater than 10. * * @throws Exception if anything goes wrong */ @Test public void testPutMetricData() throws Exception { CloudWatchApi api = createMock(CloudWatchApi.class); MetricApi metricApi = createMock(MetricApi.class); Set<MetricDatum> metrics = Sets.newLinkedHashSet(); String namespace = "JCLOUDS/Test"; for (int i = 0; i < 11; i++) { metrics.add(MetricDatum.builder().metricName("foo").build()); } // Using EasyMock.eq("") because EasyMock makes it impossible to pass null as a String value here expect(api.getMetricApiForRegion(EasyMock.eq(""))) .andReturn(metricApi) .atLeastOnce(); for (List<MetricDatum> slice : Iterables.partition(metrics, 10)) { metricApi.putMetricsInNamespace(slice, namespace); } EasyMock.replay(api, metricApi); CloudWatch.putMetricData(api, "", metrics, namespace); EasyMock.verify(metricApi); }
int dimensionIndex = 1; for (Dimension dimension : metricDatum.getDimensions()) { formParameters.put("MetricData.member." + metricDatumIndex + ".Dimensions.member." + dimensionIndex + ".Name", dimension.getName()); formParameters.put("MetricData.member." + metricDatumIndex + ".MetricName", metricDatum.getMetricName()); if (metricDatum.getStatisticValues().isPresent()) { StatisticValues statisticValues = metricDatum.getStatisticValues().get(); if (metricDatum.getTimestamp().isPresent()) { formParameters.put("MetricData.member." + metricDatumIndex + ".Timestamp", dateService.iso8601SecondsDateFormat(metricDatum.getTimestamp().get())); String.valueOf(metricDatum.getUnit())); if (metricDatum.getValue().isPresent()) { formParameters.put("MetricData.member." + metricDatumIndex + ".Value", String.valueOf(metricDatum.getValue().get()));
/** * Tests {@link CloudWatch#putMetricData(CloudWatchApi, String, Iterable, String)} where the set of metrics is * greater than 10. * * @throws Exception if anything goes wrong */ @Test public void testPutMetricData() throws Exception { CloudWatchApi api = createMock(CloudWatchApi.class); MetricApi metricApi = createMock(MetricApi.class); Set<MetricDatum> metrics = Sets.newLinkedHashSet(); String namespace = "JCLOUDS/Test"; for (int i = 0; i < 11; i++) { metrics.add(MetricDatum.builder().metricName("foo").build()); } // Using EasyMock.eq("") because EasyMock makes it impossible to pass null as a String value here expect(api.getMetricApiForRegion(EasyMock.eq(""))) .andReturn(metricApi) .atLeastOnce(); for (List<MetricDatum> slice : Iterables.partition(metrics, 10)) { metricApi.putMetricsInNamespace(slice, namespace); } EasyMock.replay(api, metricApi); CloudWatch.putMetricData(api, "", metrics, namespace); EasyMock.verify(metricApi); }
int dimensionIndex = 1; for (Dimension dimension : metricDatum.getDimensions()) { formParameters.put("MetricData.member." + metricDatumIndex + ".Dimensions.member." + dimensionIndex + ".Name", dimension.getName()); formParameters.put("MetricData.member." + metricDatumIndex + ".MetricName", metricDatum.getMetricName()); if (metricDatum.getStatisticValues().isPresent()) { StatisticValues statisticValues = metricDatum.getStatisticValues().get(); if (metricDatum.getTimestamp().isPresent()) { formParameters.put("MetricData.member." + metricDatumIndex + ".Timestamp", dateService.iso8601SecondsDateFormat(metricDatum.getTimestamp().get())); String.valueOf(metricDatum.getUnit())); if (metricDatum.getValue().isPresent()) { formParameters.put("MetricData.member." + metricDatumIndex + ".Value", String.valueOf(metricDatum.getValue().get()));
/** * Returns a newly-created {@code MetricDatum} based on the contents of the {@code Builder}. */ public MetricDatum build() { return new MetricDatum(dimensions.build(), metricName, statisticValues, timestamp, unit, value); }
@Override public String toString() { return string().toString(); }
@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."); } }
int dimensionIndex = 1; for (Dimension dimension : metricDatum.getDimensions()) { formParameters.put("MetricData.member." + metricDatumIndex + ".Dimensions.member." + dimensionIndex + ".Name", dimension.getName()); formParameters.put("MetricData.member." + metricDatumIndex + ".MetricName", metricDatum.getMetricName()); if (metricDatum.getStatisticValues().isPresent()) { StatisticValues statisticValues = metricDatum.getStatisticValues().get(); if (metricDatum.getTimestamp().isPresent()) { formParameters.put("MetricData.member." + metricDatumIndex + ".Timestamp", dateService.iso8601SecondsDateFormat(metricDatum.getTimestamp().get())); String.valueOf(metricDatum.getUnit())); if (metricDatum.getValue().isPresent()) { formParameters.put("MetricData.member." + metricDatumIndex + ".Value", String.valueOf(metricDatum.getValue().get()));
/** * Returns a newly-created {@code MetricDatum} based on the contents of the {@code Builder}. */ public MetricDatum build() { return new MetricDatum(dimensions.build(), metricName, statisticValues, timestamp, unit, value); }
@Override public String toString() { return string().toString(); }
@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."); } }
int dimensionIndex = 1; for (Dimension dimension : metricDatum.getDimensions()) { formParameters.put("MetricData.member." + metricDatumIndex + ".Dimensions.member." + dimensionIndex + ".Name", dimension.getName()); formParameters.put("MetricData.member." + metricDatumIndex + ".MetricName", metricDatum.getMetricName()); if (metricDatum.getStatisticValues().isPresent()) { StatisticValues statisticValues = metricDatum.getStatisticValues().get(); if (metricDatum.getTimestamp().isPresent()) { formParameters.put("MetricData.member." + metricDatumIndex + ".Timestamp", dateService.iso8601SecondsDateFormat(metricDatum.getTimestamp().get())); String.valueOf(metricDatum.getUnit())); if (metricDatum.getValue().isPresent()) { formParameters.put("MetricData.member." + metricDatumIndex + ".Value", String.valueOf(metricDatum.getValue().get()));
/** * Returns a newly-created {@code MetricDatum} based on the contents of the {@code Builder}. */ public MetricDatum build() { return new MetricDatum(dimensions.build(), metricName, statisticValues, timestamp, unit, value); }
@Override public String toString() { return string().toString(); }
public void testMetricWithMultipleDimensions() throws Exception { MetricDatum metricDatum = MetricDatum.builder() .metricName("TestMetricName") .dimension(new Dimension("TestDimension", "FAKE")) .dimension(new Dimension("TestDimension2", "FAKE2")) .unit(Unit.COUNT) .timestamp(new Date(10000000l)) .value(5.0) .build(); HttpRequest request = binder.bindToRequest(request(), ImmutableSet.of(metricDatum)); Assert.assertEquals(request.getPayload().getRawContent(), "MetricData.member.1.Dimensions.member.1.Name=TestDimension" + "&MetricData.member.1.Dimensions.member.1.Value=FAKE" + "&MetricData.member.1.Dimensions.member.2.Name=TestDimension2" + "&MetricData.member.1.Dimensions.member.2.Value=FAKE2" + "&MetricData.member.1.MetricName=TestMetricName" + "&MetricData.member.1.Timestamp=1970-01-01T02%3A46%3A40Z" + "&MetricData.member.1.Unit=" + Unit.COUNT.toString() + "&MetricData.member.1.Value=5.0"); }
int dimensionIndex = 1; for (Dimension dimension : metricDatum.getDimensions()) { formParameters.put("MetricData.member." + metricDatumIndex + ".Dimensions.member." + dimensionIndex + ".Name", dimension.getName()); formParameters.put("MetricData.member." + metricDatumIndex + ".MetricName", metricDatum.getMetricName()); if (metricDatum.getStatisticValues().isPresent()) { StatisticValues statisticValues = metricDatum.getStatisticValues().get(); if (metricDatum.getTimestamp().isPresent()) { formParameters.put("MetricData.member." + metricDatumIndex + ".Timestamp", dateService.iso8601SecondsDateFormat(metricDatum.getTimestamp().get())); String.valueOf(metricDatum.getUnit())); if (metricDatum.getValue().isPresent()) { formParameters.put("MetricData.member." + metricDatumIndex + ".Value", String.valueOf(metricDatum.getValue().get()));
/** * Returns a newly-created {@code MetricDatum} based on the contents of the {@code Builder}. */ public MetricDatum build() { return new MetricDatum(dimensions.build(), metricName, statisticValues, timestamp, unit, value); }