MetricSnapshot convert() {
for (Map.Entry<Identifier, UntypedMetric> entry : snapshot.entrySet()) {
Identifier ident = entry.getKey();
getMap(ident.getLocation()).put(ident.getName(), convert(entry.getValue()));
}
Map<MetricDimensions, MetricSet> data = new HashMap<>();
for (Map.Entry<Point, Map<String, MetricValue>> entry : perPointData.entrySet()) {
MetricDimensions key = convert(entry.getKey());
MetricSet newval = new MetricSet(entry.getValue());
MetricSet old = data.get(key);
if (old != null) {
log.warning("losing MetricSet when converting for: "+entry.getKey());
} else {
data.put(key, newval);
}
}
return new MetricSnapshot(snapshot.getFromMillis(),
snapshot.getToMillis(),
TimeUnit.MILLISECONDS,
data);
}