@Override Object convertRollupToObject(Rollup rollup) throws UnsupportedOperationException { if (rollup instanceof BasicRollup) return ((BasicRollup) rollup).getAverage(); else if (rollup instanceof BluefloodTimerRollup) return ((BluefloodTimerRollup) rollup).getAverage(); else // counters, sets throw new UnsupportedOperationException( String.format("average not supported for this type: %s", rollup.getClass().getSimpleName())); }
boolean hasAllZeroData(MetricData dataPoints) { boolean allZeroFlag = true; // Points should be of type BasicRollup. Will throw an exception if they are not. Map<Long, Points.Point<BasicRollup>> points = dataPoints.getData().getPoints(); for (Map.Entry<Long, Points.Point<BasicRollup>> entry : points.entrySet()) { BasicRollup basicRollup = entry.getValue().getData(); if((basicRollup.getMaxValue().isFloatingPoint() ? basicRollup.getMaxValue().toDouble() != 0.0 : basicRollup.getMaxValue().toLong() != 0) && (basicRollup.getMinValue().isFloatingPoint() ? basicRollup.getMinValue().toDouble() != 0.0 : basicRollup.getMinValue().toLong() != 0) && (basicRollup.getAverage().isFloatingPoint() ? basicRollup.getAverage().toDouble() != 0.0 : basicRollup.getAverage().toLong() != 0)) { allZeroFlag = false; break; } } return allZeroFlag; }
public static Points<BasicRollup> generateFakeRollupPoints() { Points<BasicRollup> points = new Points<BasicRollup>(); long baseTime = 1234567L; for (int count = 0; count < 5; count++) { final BasicRollup basicRollup = new BasicRollup(); basicRollup.setCount(count * 100); basicRollup.getAverage().setLongValue(count); Points.Point<BasicRollup> point = new Points.Point<BasicRollup>(baseTime + (count*1000), basicRollup); points.add(point); } return points; }
Assert.assertNull(dataJSON.get("sum")); } else { Assert.assertEquals(((BasicRollup) point.getData()).getAverage(), dataJSON.get("average")); Assert.assertEquals(((BasicRollup) point.getData()).getMaxValue(), dataJSON.get("max")); Assert.assertEquals(((BasicRollup) point.getData()).getMinValue(), dataJSON.get("min"));