@Override
public MetricTimeSeries from(BinaryTimeSeries binaryTimeSeries, long queryStart, long queryEnd) {
LOGGER.debug("Converting {} to MetricTimeSeries starting at {} and ending at {}", binaryTimeSeries, queryStart, queryEnd);
String metric = binaryTimeSeries.get(MetricTSSchema.METRIC).toString();
MetricTimeSeries.Builder builder = new MetricTimeSeries.Builder(metric);
binaryTimeSeries.getFields().forEach((field, value) -> {
if (MetricTSSchema.isUserDefined(field)) {
builder.attribute(field, value);
}
});
if (binaryTimeSeries.getPoints().length > 0) {
fromProtocolBuffers(binaryTimeSeries, queryStart, queryEnd, builder);
} else if (binaryTimeSeries.getFields().containsKey(DATA_AS_JSON_FIELD)) {
fromJson(binaryTimeSeries, queryStart, queryEnd, builder);
} else {
builder.start(binaryTimeSeries.getStart());
builder.end(binaryTimeSeries.getEnd());
}
return builder.build();
}