@Override public String toString() { return String.format( "%s[timestamp=%s, resource=%s, name=%s, value=%s]", getClass().getSimpleName(), getTimestamp(), getResource(), getName(), getValue()); }
private Measurement getNan(String name) { return new Measurement(m_current.getTimestamp(), m_current.getResource(), name, Double.NaN); }
values.put(ds.getLabel(), metric != null ? metric.getValue() : Double.NaN); if (metric != null && metric.getAttributes() != null) { metricAttrs.putAll(metric.getAttributes()); Double v = aggregate(ds, values.get(ds.getLabel())); Map<String, String> attrs = aggregatedAttrs.get(ds.getLabel()); m_nextOut.addElement(new Measurement(m_nextOut.getTimestamp(), m_resource, ds.getLabel(), v, attrs));
private double[] getValues(Row<Measurement> row, String[] names) { double[] values = new double[names.length]; for (int i = 0; i < names.length; i++) { String name = names[i]; Optional<Double> d = parseDouble(name); values[i] = d.isPresent() ? d.get() : checkNotNull(row.getElement(name), "Missing measurement; Upstream iterator is bugged").getValue(); } return values; }
@Override public Row<Measurement> next() { if (!hasNext()) throw new NoSuchElementException(); Row<Measurement> row = m_input.next(); for (Calculation calc : m_resultDescriptor.getCalculations().values()) { double v = calc.getCalculationFunction().apply(getValues(row, calc.getArgs())); row.addElement(new Measurement(row.getTimestamp(), row.getResource(), calc.getLabel(), v)); } return row; }
output.addElement(new Measurement( output.getTimestamp(), output.getResource(),