use of org.opennms.newts.api.Results.Row 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.Results.Row 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.Results.Row 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);
}
use of org.opennms.newts.api.Results.Row in project newts by OpenNMS.
the class PrimaryDataTest method testOneToOneSamples.
@Test
public void testOneToOneSamples() {
// Samples perfectly correlate to step interval boundaries.
Iterator<Row<Sample>> testData = new SampleRowsBuilder(new Resource("localhost"), MetricType.GAUGE).row(0).element("m0", 0).element("m1", 1).row(300).element("m0", 1).element("m1", 2).row(600).element("m0", 2).element("m1", 3).row(900).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).element("m1", 2).row(600).element("m0", 2).element("m1", 3).row(900).element("m0", 3).element("m1", 4).build();
PrimaryData primaryData = new PrimaryData(new Resource("localhost"), Timestamp.fromEpochSeconds(300), Timestamp.fromEpochSeconds(900), rDescriptor, testData);
assertRowsEqual(expected, primaryData);
}
use of org.opennms.newts.api.Results.Row in project newts by OpenNMS.
the class PrimaryDataTest method testHeartbeatTwoSamples.
@Test
public void testHeartbeatTwoSamples() {
// Sample interval of 600 seconds (m1) exceeds heartbeat of 601
Iterator<Row<Sample>> testData = new SampleRowsBuilder(new Resource("localhost"), MetricType.GAUGE).row(0).element("m0", 0).element("m1", 1).row(300).element("m0", 1).element("m1", 2).row(600).element("m0", 2).row(900).element("m0", 3).element("m1", 4).build();
// Minimal result descriptor
ResultDescriptor rDescriptor = new ResultDescriptor().step(Duration.seconds(300)).datasource("m0", "m0", Duration.seconds(601), null).datasource("m1", "m1", Duration.seconds(601), null);
// Expected results
Iterator<Row<Measurement>> expected = new MeasurementRowsBuilder(new Resource("localhost")).row(300).element("m0", 1).element("m1", 2).row(600).element("m0", 2).element("m1", 4).row(900).element("m0", 3).element("m1", 4).build();
PrimaryData primaryData = new PrimaryData(new Resource("localhost"), Timestamp.fromEpochSeconds(300), Timestamp.fromEpochSeconds(900), rDescriptor, testData);
assertRowsEqual(expected, primaryData);
}
Aggregations