private MetricTimeSeries map(TimeSeries<Long, Double> timeSeries) { MetricTimeSeries.Builder builder = new MetricTimeSeries.Builder(timeSeries.getAttribute("metric").toString()); //add points Iterator<Pair<Long, Double>> it = timeSeries.iterator(); //ignore the first element if (it.hasNext()) { it.next(); } while (it.hasNext()) { Pair<Long, Double> pair = it.next(); builder.point(pair.getFirst(), pair.getSecond()); } //add attributes timeSeries.getAttributes().forEachRemaining(attribute -> builder.attribute(attribute.getKey(), attribute.getValue())); return builder.build(); } }
IOUtils.closeQuietly(decompressed); return ts.build();
.attributes(attributes) .attribute("id", batchUID) .build();
.points(timestamps, values) .attributes(attributes) .build();
@Override public MetricTimeSeries from(BinaryTimeSeries binaryTimeSeries, long queryStart, long queryEnd) { LOGGER.debug("Converting {} to MetricTimeSeries starting at {} and ending at {}", binaryTimeSeries, queryStart, queryEnd); //get the metric String metric = binaryTimeSeries.get(MetricTSSchema.METRIC).toString(); //Third build a minimal time series MetricTimeSeries.Builder builder = new MetricTimeSeries.Builder(metric); //add all user defined attributes binaryTimeSeries.getFields().forEach((field, value) -> { if (MetricTSSchema.isUserDefined(field)) { builder.attribute(field, value); } }); //Default serialization is protocol buffers. if (binaryTimeSeries.getPoints().length > 0) { fromProtocolBuffers(binaryTimeSeries, queryStart, queryEnd, builder); } else if (binaryTimeSeries.getFields().containsKey(DATA_AS_JSON_FIELD)) { //do it from json fromJson(binaryTimeSeries, queryStart, queryEnd, builder); } else { //we have no data //set the start and end builder.start(binaryTimeSeries.getStart()); builder.end(binaryTimeSeries.getEnd()); } return builder.build(); }
@Override public MetricTimeSeries from(BinaryTimeSeries binaryTimeSeries, long queryStart, long queryEnd) { LOGGER.debug("Converting {} to MetricTimeSeries starting at {} and ending at {}", binaryTimeSeries, queryStart, queryEnd); //get the metric String metric = binaryTimeSeries.get(MetricTSSchema.METRIC).toString(); //Third build a minimal time series MetricTimeSeries.Builder builder = new MetricTimeSeries.Builder(metric); //add all user defined attributes binaryTimeSeries.getFields().forEach((field, value) -> { if (MetricTSSchema.isUserDefined(field)) { builder.attribute(field, value); } }); //Default serialization is protocol buffers. if (binaryTimeSeries.getPoints().length > 0) { fromProtocolBuffers(binaryTimeSeries, queryStart, queryEnd, builder); } else if (binaryTimeSeries.getFields().containsKey(DATA_AS_JSON_FIELD)) { //do it from json fromJson(binaryTimeSeries, queryStart, queryEnd, builder); } else { //we have no data //set the start and end builder.start(binaryTimeSeries.getStart()); builder.end(binaryTimeSeries.getEnd()); } return builder.build(); }
/** * @param delta the whole list is shifted * @return a new instance with shifted values */ public MetricTimeSeries shift(final long delta) { return new MetricTimeSeries.Builder(metric + " shifted by " + delta).points(timestamps.shift(delta), values).build(); }
/** * @param scale to be applied to the values of this list * @return a new instance scaled with the given parameter */ public MetricTimeSeries scale(final double scale) { return new MetricTimeSeries.Builder(metric + " scaled by " + scale).points(timestamps, values.scale(scale)).build(); }
/** * @param scale to be applied to the values of this list * @return a new instance scaled with the given parameter */ public MetricTimeSeries scale(final double scale) { return new Builder(metric + " scaled by " + scale).points(timestamps, values.scale(scale)).build(); }
/** * @param delta the whole list is shifted * @return a new instance with shifted values */ public MetricTimeSeries shift(final long delta) { return new Builder(metric + " shifted by " + delta).points(timestamps.shift(delta), values).build(); }
private MetricTimeSeries copyWithDataRange(MetricTimeSeries ts, int start, int end) { return converterService.copy(ts) .points(sublist(timestamps, start, end), subList(values, start, end)) .start(timestamps.get(start)) .end(timestamps.get(end - 1)) .build(); } }