use of net.opentsdb.core.DataPoint in project opentsdb by OpenTSDB.
the class TestMovingAverage method evaluateWindow5min.
@Test
public void evaluateWindow5min() throws Exception {
params.add("'5min'");
final DataPoints[] results = func.evaluate(data_query, query_results, params);
assertEquals(1, results.length);
assertEquals(METRIC, results[0].metricName());
long ts = START_TIME;
double v = 0;
for (DataPoint dp : results[0]) {
assertEquals(ts, dp.timestamp());
assertFalse(dp.isInteger());
assertEquals(v, dp.doubleValue(), 0.001);
ts += INTERVAL;
}
}
use of net.opentsdb.core.DataPoint in project opentsdb by OpenTSDB.
the class TestMovingAverage method evaluateWindow5dps.
@Test
public void evaluateWindow5dps() throws Exception {
params.add("5");
final DataPoints[] results = func.evaluate(data_query, query_results, params);
assertEquals(1, results.length);
assertEquals(METRIC, results[0].metricName());
long ts = START_TIME;
double v = 0;
for (DataPoint dp : results[0]) {
assertEquals(ts, dp.timestamp());
assertFalse(dp.isInteger());
assertEquals(v, dp.doubleValue(), 0.001);
ts += INTERVAL;
if (ts == 1356998640000L) {
v = 3.0;
}
}
}
use of net.opentsdb.core.DataPoint in project opentsdb by OpenTSDB.
the class TestMultiplySeries method multiplyMultipleSeriesEach.
@Test
public void multiplyMultipleSeriesEach() 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);
double[][] vals = new double[2][];
vals[0] = new double[] { 11, 24, 39 };
vals[1] = new double[] { 56, 75, 96 };
for (int i = 0; i < results.length; i++) {
long ts = 1431561600000l;
final SeekableView it = results[i].iterator();
int x = 0;
while (it.hasNext()) {
final DataPoint dp = it.next();
assertEquals(ts, dp.timestamp());
if (i < 2) {
assertEquals(vals[i][x++], dp.toDouble(), 0.0001);
} else {
assertEquals(0, dp.toDouble(), 0.0001);
}
ts += INTERVAL;
}
}
}
use of net.opentsdb.core.DataPoint in project opentsdb by OpenTSDB.
the class TestMultiplySeries method multiplyOneSeriesEach.
@Test
public void multiplyOneSeriesEach() 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());
final int[] vals = new int[] { 10, 22, 36, 52, 70 };
int i = 0;
long ts = START_TIME;
for (DataPoint dp : results[0]) {
assertEquals(ts, dp.timestamp());
assertEquals(vals[i++], dp.toDouble(), 0.001);
ts += INTERVAL;
}
}
use of net.opentsdb.core.DataPoint in project opentsdb by OpenTSDB.
the class TestPostAggregatedDataPoints method ctorDefaults.
@Test
public void ctorDefaults() throws Exception {
final PostAggregatedDataPoints dps = new PostAggregatedDataPoints(base_data_points, points);
assertEquals(METRIC_NAME, dps.metricName());
assertEquals(METRIC_NAME, dps.metricNameAsync().join());
assertSame(tags, dps.getTags());
assertSame(tags, dps.getTagsAsync().join());
assertSame(agg_tags, dps.getAggregatedTags());
assertSame(agg_tags, dps.getAggregatedTagsAsync().join());
assertSame(tsuids, dps.getTSUIDs());
assertSame(annotations, dps.getAnnotations());
assertSame(tag_uids, dps.getTagUids());
assertEquals(42, dps.getQueryIndex());
assertEquals(5, dps.size());
assertEquals(5, dps.aggregatedSize());
// values
final SeekableView iterator = dps.iterator();
int values = 0;
long value = 0;
long ts = BASE_TIME;
while (iterator.hasNext()) {
final DataPoint dp = iterator.next();
assertEquals(value++, dp.longValue());
assertEquals(ts, dp.timestamp());
ts += TIME_INTERVAL;
values++;
}
assertEquals(5, values);
assertFalse(iterator.hasNext());
try {
iterator.next();
fail("Expected a NoSuchElementException");
} catch (NoSuchElementException e) {
}
assertEquals(BASE_TIME + (4 * TIME_INTERVAL), dps.timestamp(4));
assertEquals(4, dps.longValue(4));
assertTrue(dps.isInteger(4));
try {
assertEquals(4, dps.doubleValue(4), 0.00);
fail("Expected a ClassCastException");
} catch (ClassCastException e) {
}
try {
dps.timestamp(5);
fail("Expected a ArrayIndexOutOfBoundsException");
} catch (ArrayIndexOutOfBoundsException e) {
}
try {
dps.isInteger(5);
fail("Expected a ArrayIndexOutOfBoundsException");
} catch (ArrayIndexOutOfBoundsException e) {
}
try {
dps.longValue(5);
fail("Expected a ArrayIndexOutOfBoundsException");
} catch (ArrayIndexOutOfBoundsException e) {
}
try {
dps.doubleValue(5);
fail("Expected a ArrayIndexOutOfBoundsException");
} catch (ArrayIndexOutOfBoundsException e) {
}
}
Aggregations