List of usage examples for com.amazonaws.services.cloudwatch.model PutMetricDataRequest withMetricData
public PutMetricDataRequest withMetricData(java.util.Collection<MetricDatum> metricData)
The data for the metric.
From source file:com.kixeye.chassis.support.metrics.aws.MetricsCloudWatchReporter.java
License:Apache License
private void addDatum(String name, double value, LinkedList<PutMetricDataRequest> requests, Date timestamp) { if (logger.isDebugEnabled()) { logger.debug("Adding Datum {} with value {} at {}", name, value, timestamp); }// w w w . java2 s. c o m if (requests.isEmpty() || requests.getLast().getMetricData().size() == MAX_CLOUDWATCH_DATUM_PER_REQUEST) { requests.add(createRequest()); } PutMetricDataRequest request = requests.getLast(); MetricDatum datum = new MetricDatum().withTimestamp(timestamp).withValue(value).withMetricName(name) .withUnit(StandardUnit.None).withDimensions(createDimensions()); request.withMetricData(datum); }
From source file:com.mimesis.jmx.Exporter4CloudwatchAsyncClient.java
License:Apache License
private PutMetricDataRequest newPutMetricDataRequest(ArrayList<MetricDatum> metrics) { PutMetricDataRequest putMetricDataRequest = new PutMetricDataRequest(); if (_namespace != null) { putMetricDataRequest = putMetricDataRequest.withNamespace(_namespace); }/*from w w w. ja va 2s .co m*/ return putMetricDataRequest.withMetricData(metrics); }
From source file:com.nextdoor.bender.monitoring.cw.CloudwatchReporter.java
License:Apache License
@Override public void write(ArrayList<Stat> stats, long invokeTimeMs, Set<Tag> tags) { Date dt = new Date(); dt.setTime(invokeTimeMs);/*from w ww. j a va 2 s . c om*/ Collection<Dimension> parentDims = tagsToDimensions(tags); List<MetricDatum> metrics = new ArrayList<MetricDatum>(); /* * Create CW metric objects from bender internal Stat objects */ for (Stat stat : stats) { /* * Dimension are CW's version of metric tags. A conversion must be done. */ Collection<Dimension> metricDims = tagsToDimensions(stat.getTags()); metricDims.addAll(parentDims); MetricDatum metric = new MetricDatum(); metric.setMetricName(stat.getName()); // TODO: add units to Stat object SYSTEMS-870 metric.setUnit(StandardUnit.None); metric.setTimestamp(dt); metric.setDimensions(metricDims); metric.setValue((double) stat.getValue()); metrics.add(metric); } /* * Not very well documented in java docs but CW only allows 20 metrics at a time. */ List<List<MetricDatum>> chunks = ListUtils.partition(metrics, 20); for (List<MetricDatum> chunk : chunks) { PutMetricDataRequest req = new PutMetricDataRequest(); req.withMetricData(chunk); req.setNamespace(namespace); this.client.putMetricData(req); } }