use of org.opennms.newts.api.Measurement in project newts by OpenNMS.
the class InsertSelectMeasurementsITCase method test.
@Test
public void test() {
Iterator<Row<Sample>> testSamples = new SampleRowsBuilder(new Resource("localhost"), MetricType.GAUGE).row(900000000).element("mGauge", // Thu Jul 9 11:00:00 CDT 1998
1).row(900000300).element("mGauge", 1).row(900000600).element("mGauge", 1).row(900000900).element("mGauge", 1).row(900001200).element("mGauge", 1).row(900001500).element("mGauge", 1).row(900001800).element("mGauge", 1, mapFor("a", "1")).row(900002100).element("mGauge", 3).row(900002400).element("mGauge", 3, mapFor("b", "2")).row(900002700).element("mGauge", 3).row(900003000).element("mGauge", 3).row(900003300).element("mGauge", 3).row(900003600).element("mGauge", 3).row(900003900).element("mGauge", 1).row(900004200).element("mGauge", 1).row(900004500).element("mGauge", 1).row(900004800).element("mGauge", 1).row(900005100).element("mGauge", 1, mapFor("c", "3")).row(900005400).element("mGauge", 1).row(900005700).element("mGauge", 3, mapFor("d", "4")).row(900006000).element("mGauge", 3).row(900006300).element("mGauge", 3).row(900006600).element("mGauge", 3).row(900006900).element("mGauge", 3).row(900007200).element("mGauge", // Thu Jul 9 13:00:00 CDT 1998
3).build();
ResultDescriptor rDescriptor = new ResultDescriptor(Duration.seconds(300)).datasource("mGauge-avg", "mGauge", Duration.seconds(600), AVERAGE).export("mGauge-avg");
Iterator<Row<Measurement>> expected = new MeasurementRowsBuilder(new Resource("localhost")).row(900003600).element("mGauge-avg", 2).row(900007200).element("mGauge-avg", 2).build();
writeSamples(testSamples);
Results<Measurement> results = getRepository().select(Context.DEFAULT_CONTEXT, new Resource("localhost"), Optional.of(Timestamp.fromEpochSeconds(900003600)), Optional.of(Timestamp.fromEpochSeconds(900007200)), rDescriptor, Optional.of(Duration.minutes(60)));
// Validate results
assertRowsEqual(expected, results.iterator());
// Validate merged attributes
Iterator<Row<Measurement>> rows = results.iterator();
assertAttributes(rows.next().getElement("mGauge-avg"), mapFor("a", "1", "b", "2"));
assertAttributes(rows.next().getElement("mGauge-avg"), mapFor("c", "3", "d", "4"));
}
Aggregations