use of org.opennms.newts.api.Resource in project newts by OpenNMS.
the class PrimaryDataTest method testHeartbeatOneSample.
@Test
public void testHeartbeatOneSample() {
// Sample interval of 600 seconds (m1) exceeds heartbeat of 601
Iterator<Row<Sample>> testData = new SampleRowsBuilder(new Resource("localhost"), MetricType.GAUGE).row(0).element("m1", 1).row(300).element("m1", 2).row(900).element("m1", 4).build();
// Minimal result descriptor
ResultDescriptor rDescriptor = new ResultDescriptor().step(Duration.seconds(300)).datasource("m1", "m1", Duration.seconds(601), null);
// Expected results
Iterator<Row<Measurement>> expected = new MeasurementRowsBuilder(new Resource("localhost")).row(300).element("m1", 2).row(600).element("m1", 4).row(900).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.Resource in project newts by OpenNMS.
the class PrimaryDataTest method testLongSamples.
@Test
public void testLongSamples() {
// Samples occur later-than (after) the step interval.
Iterator<Row<Sample>> testData = new SampleRowsBuilder(new Resource("localhost"), MetricType.GAUGE).row(0).element("m0", 0).element("m1", 1).row(350).element("m0", 1).element("m1", 2).row(650).element("m0", 2).element("m1", 3).row(950).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.0).element("m1", 2.0).row(600).element("m0", 1.83333333).element("m1", 2.83333333).row(900).element("m0", 2.83333333).element("m1", 3.83333333).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.Resource in project newts by OpenNMS.
the class PrimaryDataTest method testSkippedSample.
@Test
public void testSkippedSample() {
// Sample m0 is missing at timestamp 550, (but interval does not exceed heartbeat).
Iterator<Row<Sample>> testData = new SampleRowsBuilder(new Resource("localhost"), MetricType.GAUGE).row(0).element("m0", 0).element("m1", 1).row(250).element("m0", 1).element("m1", 2).row(550).element("m1", 3).row(840).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.33333333).element("m1", 2.16666667).row(600).element("m0", 3.00000000).element("m1", 3.16666667).row(900).element("m0", 3.00000000).element("m1", 4.00000000).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.Resource in project newts by OpenNMS.
the class PrimaryDataTest method testLeadingSamplesMiss.
@Test
public void testLeadingSamplesMiss() {
// Missing a couple leading samples
Iterator<Row<Sample>> testData = new SampleRowsBuilder(new Resource("localhost"), MetricType.GAUGE).row(900000300).element("m0", 0).row(900000600).element("m0", 1).row(900000900).element("m0", 2).row(900001200).element("m0", 3).build();
ResultDescriptor rDescriptor = new ResultDescriptor(Duration.seconds(300)).datasource("m0", "m0", Duration.seconds(600), null);
// Expected results
Iterator<Row<Measurement>> expected = new MeasurementRowsBuilder(new Resource("localhost")).row(900000000).element("m0", Double.NaN).row(900000300).element("m0", Double.NaN).row(900000600).element("m0", 1).row(900000900).element("m0", 2).row(900001200).element("m0", 3).build();
PrimaryData primaryData = new PrimaryData(new Resource("localhost"), Timestamp.fromEpochSeconds(900000000), Timestamp.fromEpochSeconds(900001200), rDescriptor, testData);
assertRowsEqual(expected, primaryData);
}
use of org.opennms.newts.api.Resource in project newts by OpenNMS.
the class PrimaryDataTest method testOneToManySamples.
@Test
public void testOneToManySamples() {
// Actual sample interval is smaller than step size; One sample is mapped to many measurements
Iterator<Row<Sample>> testData = new SampleRowsBuilder(new Resource("localhost"), MetricType.GAUGE).row(0).element("m0", 0).element("m1", 1).row(900).element("m0", 1).element("m1", 2).row(1800).element("m0", 2).element("m1", 3).build();
// Minimal result descriptor
ResultDescriptor rDescriptor = new ResultDescriptor().step(Duration.seconds(300)).datasource("m0", "m0", Duration.seconds(1000), null).datasource("m1", "m1", Duration.seconds(1000), null);
// Expected results
Iterator<Row<Measurement>> expected = new MeasurementRowsBuilder(new Resource("localhost")).row(300).element("m0", 1).element("m1", 2).row(600).element("m0", 1).element("m1", 2).row(900).element("m0", 1).element("m1", 2).row(1200).element("m0", 2).element("m1", 3).row(1500).element("m0", 2).element("m1", 3).row(1800).element("m0", 2).element("m1", 3).build();
PrimaryData primaryData = new PrimaryData(new Resource("localhost"), Timestamp.fromEpochSeconds(300), Timestamp.fromEpochSeconds(1800), rDescriptor, testData);
assertRowsEqual(expected, primaryData);
}
Aggregations