List of usage examples for com.amazonaws.services.cloudwatch.model MetricDatum getUnit
public String getUnit()
When you are using a Put
operation, this defines what unit you want to use when storing the metric.
From source file:com.amazon.kinesis.streaming.agent.metrics.AccumulatingMetricsScope.java
License:Open Source License
@Override protected void realAddData(String name, double value, StandardUnit unit) { MetricDatum datum = data.get(name); if (datum == null) { data.put(name, new MetricDatum().withMetricName(name).withUnit(unit).withStatisticValues( new StatisticSet().withMaximum(value).withMinimum(value).withSampleCount(1.0).withSum(value))); } else {/*from www . jav a2 s. c o m*/ if (!datum.getUnit().equals(unit.name())) { throw new IllegalArgumentException("Cannot add to existing metric with different unit"); } StatisticSet statistics = datum.getStatisticValues(); statistics.setMaximum(Math.max(value, statistics.getMaximum())); statistics.setMinimum(Math.min(value, statistics.getMinimum())); statistics.setSampleCount(statistics.getSampleCount() + 1); statistics.setSum(statistics.getSum() + value); } }
From source file:com.amazon.kinesis.streaming.agent.metrics.LogMetricsScope.java
License:Open Source License
@Override protected void realCommit() { if (!data.values().isEmpty()) { StringBuilder output = new StringBuilder(); output.append("Metrics:\n"); output.append("Dimensions: "); boolean needsComma = false; for (Dimension dimension : getDimensions()) { output.append(String.format("%s[%s: %s]", needsComma ? ", " : "", dimension.getName(), dimension.getValue())); needsComma = true;// ww w . java2 s. co m } output.append("\n"); for (MetricDatum datum : data.values()) { StatisticSet statistics = datum.getStatisticValues(); output.append( String.format("Name=%50s\tMin=%.2f\tMax=%.2f\tCount=%.2f\tSum=%.2f\tAvg=%.2f\tUnit=%s\n", datum.getMetricName(), statistics.getMinimum(), statistics.getMaximum(), statistics.getSampleCount(), statistics.getSum(), statistics.getSum() / statistics.getSampleCount(), datum.getUnit())); } LOGGER.debug(output.toString()); } }
From source file:com.amazon.kinesis.streaming.agent.metrics.MetricAccumulatingQueue.java
License:Open Source License
private void accumulate(MetricDatum oldDatum, MetricDatum newDatum) { if (!oldDatum.getUnit().equals(newDatum.getUnit())) { throw new IllegalArgumentException("Unit mismatch for datum named " + oldDatum.getMetricName()); }/* w w w . jav a2 s . c om*/ StatisticSet oldStats = oldDatum.getStatisticValues(); StatisticSet newStats = newDatum.getStatisticValues(); oldStats.setSampleCount(oldStats.getSampleCount() + newStats.getSampleCount()); oldStats.setMaximum(Math.max(oldStats.getMaximum(), newStats.getMaximum())); oldStats.setMinimum(Math.min(oldStats.getMinimum(), newStats.getMinimum())); oldStats.setSum(oldStats.getSum() + newStats.getSum()); }
From source file:com.github.lpezet.antiope.metrics.aws.BlockingRequestBuilder.java
License:Open Source License
/** * Summarizes the given datum into the statistics of the respective unique metric. *///from ww w .j a v a 2 s. c o m private void summarize(MetricDatum pDatum, Map<String, MetricDatum> pUniqueMetrics) { Double pValue = pDatum.getValue(); if (pValue == null) { return; } List<Dimension> oDims = pDatum.getDimensions(); Collections.sort(oDims, DimensionComparator.INSTANCE); String oMetricName = pDatum.getMetricName(); String k = oMetricName + Jackson.toJsonString(oDims); MetricDatum oStatDatum = pUniqueMetrics.get(k); if (oStatDatum == null) { oStatDatum = new MetricDatum().withDimensions(pDatum.getDimensions()).withMetricName(oMetricName) .withUnit(pDatum.getUnit()).withStatisticValues(new StatisticSet().withMaximum(pValue) .withMinimum(pValue).withSampleCount(0.0).withSum(0.0)); pUniqueMetrics.put(k, oStatDatum); } StatisticSet oStat = oStatDatum.getStatisticValues(); oStat.setSampleCount(oStat.getSampleCount() + 1.0); oStat.setSum(oStat.getSum() + pValue); if (pValue > oStat.getMaximum()) { oStat.setMaximum(pValue); } else if (pValue < oStat.getMinimum()) { oStat.setMinimum(pValue); } }
From source file:com.github.lpezet.antiope.metrics.aws.BlockingRequestBuilder.java
License:Open Source License
/** * Returns a metric datum cloned from the given one. * Made package private only for testing purposes. *///w ww . ja va 2 s. c o m final MetricDatum cloneMetricDatum(MetricDatum pMd) { return new MetricDatum().withDimensions(pMd.getDimensions()) // a new collection is created .withMetricName(pMd.getMetricName()).withStatisticValues(pMd.getStatisticValues()) .withTimestamp(pMd.getTimestamp()).withUnit(pMd.getUnit()).withValue(pMd.getValue()); }
From source file:com.github.lpezet.antiope.metrics.aws.spi.MetricData.java
License:Open Source License
/** * Returns a new metric datum cloned from the given metric datum, but * replacing the dimensions with the newly specified ones. */// w ww . j a v a2s .c o m public static MetricDatum newMetricDatum(MetricDatum pFrom, Dimension... pDimensions) { return new MetricDatum().withMetricName(pFrom.getMetricName()).withDimensions(pDimensions) .withUnit(pFrom.getUnit()).withValue(pFrom.getValue()) .withStatisticValues(pFrom.getStatisticValues()).withTimestamp(pFrom.getTimestamp()); }