use of com.srotya.sidewinder.core.storage.Series in project sidewinder by srotya.
the class TestChainFunction method testSingleFunction.
@Test
public void testSingleFunction() throws Exception {
Series series = new Series("cpu", "test", Arrays.asList(new Tag("t", "1"), new Tag("t", "2")));
List<DataPoint> dps = new ArrayList<>();
long baseTs = 1486617103629L;
for (int i = 0; i < 4; i++) {
dps.add(new DataPoint(baseTs + 30_000 * i, 1));
}
series.setDataPoints(dps);
series.setFp(false);
List<Series> seriesList = Arrays.asList(series);
ChainFunction cf = new ChainFunction();
ReducingWindowedAggregator rwa = new WindowedMean();
rwa.init(new Object[] { 70, "smean" });
cf.init(new Function[] { rwa });
List<Series> apply = cf.apply(seriesList);
List<DataPoint> result = apply.get(0).getDataPoints();
assertEquals(2, result.size());
}
use of com.srotya.sidewinder.core.storage.Series in project sidewinder by srotya.
the class TestSingleValueAggregators method testMaxFunction.
@Test
public void testMaxFunction() {
MaxFunction f = new MaxFunction();
double[] values = { 2.2, 1.1, 3.3, 4.4 };
List<DataPoint> dps = new ArrayList<>();
long ts = System.currentTimeMillis();
for (double d : values) {
dps.add(MiscUtils.buildDataPoint(ts, d));
}
Series series = new Series();
series.setDataPoints(dps);
series.setFp(true);
Series result = f.apply(series);
assertEquals(4.4, result.getDataPoints().get(0).getValue(), 0);
}
use of com.srotya.sidewinder.core.storage.Series in project sidewinder by srotya.
the class TestSingleValueAggregators method testMeanAggregator.
@Test
public void testMeanAggregator() {
double[] values = { 2.2, 1.1, 3.3, 4.4 };
List<DataPoint> dps = new ArrayList<>();
long ts = System.currentTimeMillis();
for (double d : values) {
dps.add(MiscUtils.buildDataPoint(ts, d));
}
ReduceFunction sva = new MeanFunction();
Series series = new Series();
series.setFp(true);
series.setDataPoints(dps);
Series result = sva.apply(series);
assertEquals(2.75, result.getDataPoints().get(0).getValue(), 0.01);
dps.clear();
long[] vals = { 1, 2, 3, 4, 5 };
for (long l : vals) {
dps.add(MiscUtils.buildDataPoint(ts, l));
}
series.setFp(false);
result = sva.apply(series);
assertEquals(3, result.getDataPoints().get(0).getLongValue(), 0.01);
}
use of com.srotya.sidewinder.core.storage.Series in project sidewinder by srotya.
the class TestSingleValueAggregators method testFirstFunction.
@Test
public void testFirstFunction() {
FirstFunction f = new FirstFunction();
double[] values = { 2.2, 1.1, 3.3, 4.4 };
List<DataPoint> dps = new ArrayList<>();
long ts = System.currentTimeMillis();
for (double d : values) {
dps.add(MiscUtils.buildDataPoint(ts, d));
}
Series series = new Series();
series.setDataPoints(dps);
Series result = f.apply(series);
assertEquals(2.2, result.getDataPoints().get(0).getValue(), 0);
// List<long[]> data = new ArrayList<>();
// for(double d:values) {
// data.add(new long[] {ts, Double.doubleToLongBits(d)});
// }
// List<long[]> aggregatePoints = f.aggregatePoints(data, true);
// assertEquals(1, aggregatePoints.size());
// assertEquals(2.2, Double.longBitsToDouble(aggregatePoints.get(0)[1]), 0);
}
use of com.srotya.sidewinder.core.storage.Series in project sidewinder by srotya.
the class TestSingleValueAggregators method testLastFunction.
@Test
public void testLastFunction() {
LastFunction f = new LastFunction();
double[] values = { 2.2, 1.1, 3.3, 4.4 };
List<DataPoint> dps = new ArrayList<>();
long ts = System.currentTimeMillis();
for (double d : values) {
dps.add(MiscUtils.buildDataPoint(ts, d));
}
Series series = new Series();
series.setDataPoints(dps);
Series result = f.apply(series);
assertEquals(4.4, result.getDataPoints().get(0).getValue(), 0);
}
Aggregations