use of org.opennms.newts.api.query.ResultDescriptor in project newts by OpenNMS.
the class ComputeTest method test.
@Test
public void test() {
Iterator<Row<Measurement>> testData = new MeasurementRowsBuilder(new Resource("localhost")).row(300).element("in", 2).element("out", 2).row(600).element("in", 6).element("out", 4).build();
ResultDescriptor rDescriptor = new ResultDescriptor().datasource("in", AVERAGE).datasource("out", AVERAGE).calculate("total", PLUS, "in", "out");
Iterator<Row<Measurement>> expected = new MeasurementRowsBuilder(new Resource("localhost")).row(300).element("in", 2).element("out", 2).element("total", 4).row(600).element("in", 6).element("out", 4).element("total", 10).build();
Compute compute = new Compute(rDescriptor, testData);
assertRowsEqual(expected, compute);
}
use of org.opennms.newts.api.query.ResultDescriptor in project newts by OpenNMS.
the class PrimaryDataAttributesTest method testOverlappingAttributes.
@Test
public void testOverlappingAttributes() {
// This set has samples with attributes that fall strictly within sample intervals.
Iterator<Row<Sample>> testData = new SampleRowsBuilder(new Resource("localhost"), MetricType.GAUGE).row(900000297).element("m0", 1, mapFor("a", "1")).row(900000298).element("m0", 1, mapFor("a", "2", "c", "5")).row(900000301).element("m0", 1, mapFor("a", "3")).row(900000597).element("m0", 1, mapFor("b", "1")).row(900000598).element("m0", 1, mapFor("b", "2")).row(900000599).element("m0", 1, mapFor("b", "3")).row(900000899).element("m0", 2).build();
ResultDescriptor rDescriptor = new ResultDescriptor(Duration.seconds(300)).datasource("m0", "m0", Duration.seconds(600), null);
PrimaryData primaryData = new PrimaryData(new Resource("localhost"), Timestamp.fromEpochSeconds(900000300), Timestamp.fromEpochSeconds(900000900), rDescriptor, testData);
// Row 1
Row<Measurement> row = primaryData.next();
assertThat(row.getTimestamp(), equalTo(fromEpochSeconds(900000300)));
assertAttributes(row.getElement("m0"), mapFor("a", "3", "c", "5"));
// Row 2
row = primaryData.next();
assertThat(row.getTimestamp(), equalTo(fromEpochSeconds(900000600)));
assertAttributes(row.getElement("m0"), mapFor("a", "3", "b", "3"));
// Row 3
row = primaryData.next();
assertThat(row.getTimestamp(), equalTo(fromEpochSeconds(900000900)));
assertAttributes(row.getElement("m0"), mapFor());
}
use of org.opennms.newts.api.query.ResultDescriptor in project newts by OpenNMS.
the class PrimaryDataAttributesTest method testMultipleSamples.
@Test
public void testMultipleSamples() {
// This set has samples with attributes that fall strictly within sample intervals.
Iterator<Row<Sample>> testData = new SampleRowsBuilder(new Resource("localhost"), MetricType.GAUGE).row(900000297).element("m0", 1, mapFor("a", "1")).element("m1", 2, mapFor("aa", "11")).row(900000298).element("m0", 1, mapFor("a", "2", "c", "5")).row(900000301).element("m0", 1, mapFor("a", "3")).element("m1", 2, mapFor("aa", "33")).row(900000597).element("m0", 1, mapFor("b", "1")).element("m1", 2, mapFor("bb", "11")).row(900000598).element("m0", 1, mapFor("b", "2")).element("m1", 2, mapFor("bb", "22")).row(900000599).element("m0", 1, mapFor("b", "3")).element("m1", 2, mapFor("bb", "33")).row(900000899).element("m0", 2).element("m1", 3).build();
ResultDescriptor rDescriptor = new ResultDescriptor(Duration.seconds(300)).datasource("m0", "m0", Duration.seconds(600), null).datasource("m1", "m1", Duration.seconds(600), null);
PrimaryData primaryData = new PrimaryData(new Resource("localhost"), Timestamp.fromEpochSeconds(900000300), Timestamp.fromEpochSeconds(900000900), rDescriptor, testData);
// Row 1
Row<Measurement> row = primaryData.next();
assertThat(row.getTimestamp(), equalTo(fromEpochSeconds(900000300)));
assertAttributes(row.getElement("m0"), mapFor("a", "3", "c", "5"));
assertAttributes(row.getElement("m1"), mapFor("aa", "33"));
// Row 2
row = primaryData.next();
assertThat(row.getTimestamp(), equalTo(fromEpochSeconds(900000600)));
assertAttributes(row.getElement("m0"), mapFor("a", "3", "b", "3"));
assertAttributes(row.getElement("m1"), mapFor("aa", "33", "bb", "33"));
// Row 3
row = primaryData.next();
assertThat(row.getTimestamp(), equalTo(fromEpochSeconds(900000900)));
assertAttributes(row.getElement("m0"), mapFor());
assertAttributes(row.getElement("m1"), mapFor());
}
use of org.opennms.newts.api.query.ResultDescriptor in project newts by OpenNMS.
the class PrimaryDataAttributesTest method testAttributesWithinInterval.
@Test
public void testAttributesWithinInterval() {
// This set has samples with attributes that fall strictly within sample intervals.
Iterator<Row<Sample>> testData = new SampleRowsBuilder(new Resource("localhost"), MetricType.GAUGE).row(900000297).element("m0", 1, mapFor("a", "1")).row(900000298).element("m0", 1, mapFor("a", "2", "c", "5")).row(900000299).element("m0", 1, mapFor("a", "3")).row(900000305).element("m0", 1).row(900000597).element("m0", 1, mapFor("b", "1")).row(900000598).element("m0", 1, mapFor("b", "2")).row(900000599).element("m0", 1, mapFor("b", "3")).row(900000899).element("m0", 2).build();
ResultDescriptor rDescriptor = new ResultDescriptor(Duration.seconds(300)).datasource("m0", "m0", Duration.seconds(600), null);
PrimaryData primaryData = new PrimaryData(new Resource("localhost"), Timestamp.fromEpochSeconds(900000300), Timestamp.fromEpochSeconds(900000900), rDescriptor, testData);
// Row 1
Row<Measurement> row = primaryData.next();
assertThat(row.getTimestamp(), equalTo(fromEpochSeconds(900000300)));
assertAttributes(row.getElement("m0"), mapFor("a", "3", "c", "5"));
// Row 2
row = primaryData.next();
assertThat(row.getTimestamp(), equalTo(fromEpochSeconds(900000600)));
assertAttributes(row.getElement("m0"), mapFor("b", "3"));
// Row 3
row = primaryData.next();
assertThat(row.getTimestamp(), equalTo(fromEpochSeconds(900000900)));
assertAttributes(row.getElement("m0"), mapFor());
}
use of org.opennms.newts.api.query.ResultDescriptor in project newts by OpenNMS.
the class PrimaryDataTest method testShortSamples.
@Test
public void testShortSamples() {
// Samples occur prior to the nearest step interval boundary.
Iterator<Row<Sample>> testData = new SampleRowsBuilder(new Resource("localhost"), MetricType.GAUGE).row(000).element("m0", 0).element("m1", 1).row(250).element("m0", 1).element("m1", 2).row(550).element("m0", 2).element("m1", 3).row(850).element("m0", 3).element("m1", 4).build();
// Minimal result descriptor
ResultDescriptor rDescriptor = new ResultDescriptor().step(Duration.seconds(300)).datasource("m0", "m0", Duration.seconds(600), null).datasource("m1", "m1", Duration.seconds(600), null);
// Expected results
Iterator<Row<Measurement>> expected = new MeasurementRowsBuilder(new Resource("localhost")).row(300).element("m0", 1.16666667).element("m1", 2.16666667).row(600).element("m0", 2.16666667).element("m1", 3.16666667).row(900).element("m0", 3.0).element("m1", 4.0).build();
PrimaryData primaryData = new PrimaryData(new Resource("localhost"), Timestamp.fromEpochSeconds(300), Timestamp.fromEpochSeconds(900), rDescriptor, testData);
assertRowsEqual(expected, primaryData);
}
Aggregations