use of net.opentsdb.core.DataPoint in project opentsdb by OpenTSDB.
the class TestScale method evaluateFactor1point5GroupBy.
@Test
public void evaluateFactor1point5GroupBy() throws Exception {
params.add("1.5");
SeekableView view2 = SeekableViewsForTest.generator(START_TIME, INTERVAL, NUM_POINTS, true, 10, 1);
DataPoints dps2 = PowerMockito.mock(DataPoints.class);
when(dps2.iterator()).thenReturn(view2);
when(dps2.metricNameAsync()).thenReturn(Deferred.fromResult("sys.mem"));
group_bys = new DataPoints[] { dps, dps2 };
query_results.clear();
query_results.add(group_bys);
final DataPoints[] results = func.evaluate(data_query, query_results, params);
assertEquals(2, results.length);
assertEquals(METRIC, results[0].metricName());
assertEquals("sys.mem", results[1].metricName());
long ts = START_TIME;
double v = 1.5;
for (DataPoint dp : results[0]) {
System.out.println(dp.timestamp() + " : " + dp.toDouble());
assertEquals(ts, dp.timestamp());
assertFalse(dp.isInteger());
assertEquals(v, dp.doubleValue(), 0.001);
ts += INTERVAL;
v += 1.5;
}
ts = START_TIME;
v = 15;
for (DataPoint dp : results[1]) {
assertEquals(ts, dp.timestamp());
assertFalse(dp.isInteger());
assertEquals(v, dp.doubleValue(), 0.001);
ts += INTERVAL;
v += 1.5;
}
}
use of net.opentsdb.core.DataPoint in project opentsdb by OpenTSDB.
the class TestSumSeries method sumOneSeriesEach.
@Test
public void sumOneSeriesEach() throws Exception {
SeekableView view2 = SeekableViewsForTest.generator(START_TIME, INTERVAL, NUM_POINTS, true, 10, 1);
DataPoints dps2 = PowerMockito.mock(DataPoints.class);
when(dps2.iterator()).thenReturn(view2);
when(dps2.metricName()).thenReturn("sys.mem");
when(dps2.metricUID()).thenReturn(new byte[] { 0, 0, 2 });
group_bys = new DataPoints[] { dps2 };
query_results.add(group_bys);
final DataPoints[] results = func.evaluate(data_query, query_results, params);
assertEquals(1, results.length);
assertEquals(METRIC_STRING, results[0].metricName());
long ts = START_TIME;
double v = 11;
for (DataPoint dp : results[0]) {
assertEquals(ts, dp.timestamp());
assertEquals(v, dp.toDouble(), 0.001);
v += 2;
ts += INTERVAL;
}
}
use of net.opentsdb.core.DataPoint in project opentsdb by OpenTSDB.
the class TestSumSeries method sumMultipleSeriesEach.
@Test
public void sumMultipleSeriesEach() throws Exception {
oneExtraSameE();
queryAB_Dstar();
query_results.clear();
query_results.add(results.get("1").getValue());
query_results.add(results.get("0").getValue());
final DataPoints[] results = func.evaluate(data_query, query_results, params);
assertEquals(3, results.length);
final int[] vals = new int[] { 12, 18, 17 };
for (int i = 0; i < results.length; i++) {
long ts = 1431561600000l;
final SeekableView it = results[i].iterator();
while (it.hasNext()) {
final DataPoint dp = it.next();
assertEquals(ts, dp.timestamp());
assertEquals(vals[i], dp.toDouble(), 0.0001);
if (i < 2) {
vals[i] += 2;
} else {
vals[i]++;
}
ts += INTERVAL;
}
}
}
use of net.opentsdb.core.DataPoint in project opentsdb by OpenTSDB.
the class TestUnionIterator method setAMissingE.
@Test
public void setAMissingE() throws Exception {
threeAMissingE();
queryAB_Dstar();
final UnionIterator it = new UnionIterator("it", iterators, false, false);
final Map<String, ExpressionDataPoint[]> dps = it.getResults();
assertTrue(it.hasNext());
assertEquals(2, dps.size());
assertEquals(6, it.getSeriesSize());
long ts = 1431561600000L;
double[] values = new double[] { 1, 4, 7, 11, 14, 17 };
while (it.hasNext()) {
it.next();
DataPoint[] set_dps = dps.get("0");
assertEquals(6, set_dps.length);
for (int i = 0; i < set_dps.length; i++) {
assertEquals(ts, set_dps[i].timestamp());
}
assertEquals(values[0]++, set_dps[0].toDouble(), 0.0001);
assertEquals(0, set_dps[1].toDouble(), 0.0001);
assertEquals(values[1]++, set_dps[2].toDouble(), 0.0001);
assertEquals(0, set_dps[3].toDouble(), 0.0001);
assertEquals(values[2]++, set_dps[4].toDouble(), 0.0001);
assertEquals(0, set_dps[5].toDouble(), 0.0001);
set_dps = dps.get("1");
assertEquals(6, set_dps.length);
for (int i = 0; i < set_dps.length; i++) {
assertEquals(ts, set_dps[i].timestamp());
}
assertEquals(0, set_dps[0].toDouble(), 0.0001);
assertEquals(values[3]++, set_dps[1].toDouble(), 0.0001);
assertEquals(0, set_dps[2].toDouble(), 0.0001);
assertEquals(values[4]++, set_dps[3].toDouble(), 0.0001);
assertEquals(0, set_dps[4].toDouble(), 0.0001);
assertEquals(values[5]++, set_dps[5].toDouble(), 0.0001);
ts += 60000;
}
}
use of net.opentsdb.core.DataPoint in project opentsdb by OpenTSDB.
the class TestHighestCurrent method evaluateTopN2with2SeriesLong.
@Test
public void evaluateTopN2with2SeriesLong() throws Exception {
params.add("2");
SeekableView view2 = SeekableViewsForTest.generator(START_TIME, INTERVAL, NUM_POINTS, true, 10, 1);
DataPoints dps2 = PowerMockito.mock(DataPoints.class);
when(dps2.iterator()).thenReturn(view2);
when(dps2.metricNameAsync()).thenReturn(Deferred.fromResult("sys.mem"));
group_bys = new DataPoints[] { dps, dps2 };
query_results.clear();
query_results.add(group_bys);
final DataPoints[] results = func.evaluate(data_query, query_results, params);
assertEquals(2, results.length);
assertEquals("sys.mem", results[0].metricName());
assertEquals(METRIC, results[1].metricName());
long ts = START_TIME;
long v = 10;
for (DataPoint dp : results[0]) {
assertEquals(ts, dp.timestamp());
assertTrue(dp.isInteger());
assertEquals(v, dp.longValue());
ts += INTERVAL;
v += 1;
}
ts = START_TIME;
v = 1;
for (DataPoint dp : results[1]) {
assertEquals(ts, dp.timestamp());
assertTrue(dp.isInteger());
assertEquals(v, dp.longValue());
ts += INTERVAL;
v += 1;
}
}
Aggregations