@Override public void end() { 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.name(), dimension.value())); needsComma = true; } output.append("\n"); for (MetricDatum datum : data.values()) { StatisticSet statistics = datum.statisticValues(); output.append(String.format("Name=%25s\tMin=%.2f\tMax=%.2f\tCount=%.2f\tSum=%.2f\tAvg=%.2f\tUnit=%s\n", datum.metricName(), statistics.minimum(), statistics.maximum(), statistics.sampleCount(), statistics.sum(), statistics.sum() / statistics.sampleCount(), datum.unit())); } log.info(output.toString()); } }
@Override public void end() { 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.name(), dimension.value())); needsComma = true; } output.append("\n"); for (MetricDatum datum : data.values()) { StatisticSet statistics = datum.statisticValues(); output.append(String.format("Name=%25s\tMin=%.2f\tMax=%.2f\tCount=%.2f\tSum=%.2f\tAvg=%.2f\tUnit=%s\n", datum.metricName(), statistics.minimum(), statistics.maximum(), statistics.sampleCount(), statistics.sum(), statistics.sum() / statistics.sampleCount(), datum.unit())); } log.info(output.toString()); } }
private void accumulate(MetricDatumWithKey<KeyType> metricDatumWithKey, MetricDatum newDatum) { MetricDatum oldDatum = metricDatumWithKey.datum; if (!oldDatum.unit().equals(newDatum.unit())) { throw new IllegalArgumentException("Unit mismatch for datum named " + oldDatum.metricName()); } StatisticSet oldStats = oldDatum.statisticValues(); StatisticSet newStats = newDatum.statisticValues(); StatisticSet statisticSet = oldStats.toBuilder().sum(oldStats.sum() + newStats.sum()) .minimum(Math.min(oldStats.minimum(), newStats.minimum())) .maximum(Math.max(oldStats.maximum(), newStats.maximum())) .sampleCount(oldStats.sampleCount() + newStats.sampleCount()).build(); MetricDatum datum = oldDatum.toBuilder().statisticValues(statisticSet).build(); metricDatumWithKey.datum(datum); } }
private void accumulate(MetricDatumWithKey<KeyType> metricDatumWithKey, MetricDatum newDatum) { MetricDatum oldDatum = metricDatumWithKey.datum; if (!oldDatum.unit().equals(newDatum.unit())) { throw new IllegalArgumentException("Unit mismatch for datum named " + oldDatum.metricName()); } StatisticSet oldStats = oldDatum.statisticValues(); StatisticSet newStats = newDatum.statisticValues(); StatisticSet statisticSet = oldStats.toBuilder().sum(oldStats.sum() + newStats.sum()) .minimum(Math.min(oldStats.minimum(), newStats.minimum())) .maximum(Math.max(oldStats.maximum(), newStats.maximum())) .sampleCount(oldStats.sampleCount() + newStats.sampleCount()).build(); MetricDatum datum = oldDatum.toBuilder().statisticValues(statisticSet).build(); metricDatumWithKey.datum(datum); } }
.build(); } else { if (!datum.unit().equals(unit)) { throw new IllegalArgumentException("Cannot add to existing metric with different unit");
.build(); } else { if (!datum.unit().equals(unit)) { throw new IllegalArgumentException("Cannot add to existing metric with different unit");