Search in sources :

Example 21 with ResultDescriptor

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);
}
Also used : MeasurementRowsBuilder(org.opennms.newts.aggregate.Utils.MeasurementRowsBuilder) Resource(org.opennms.newts.api.Resource) ResultDescriptor(org.opennms.newts.api.query.ResultDescriptor) Row(org.opennms.newts.api.Results.Row) Test(org.junit.Test)

Example 22 with ResultDescriptor

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());
}
Also used : Measurement(org.opennms.newts.api.Measurement) Resource(org.opennms.newts.api.Resource) ResultDescriptor(org.opennms.newts.api.query.ResultDescriptor) Row(org.opennms.newts.api.Results.Row) SampleRowsBuilder(org.opennms.newts.aggregate.Utils.SampleRowsBuilder) Test(org.junit.Test)

Example 23 with ResultDescriptor

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());
}
Also used : Measurement(org.opennms.newts.api.Measurement) Resource(org.opennms.newts.api.Resource) ResultDescriptor(org.opennms.newts.api.query.ResultDescriptor) Row(org.opennms.newts.api.Results.Row) SampleRowsBuilder(org.opennms.newts.aggregate.Utils.SampleRowsBuilder) Test(org.junit.Test)

Example 24 with ResultDescriptor

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());
}
Also used : Measurement(org.opennms.newts.api.Measurement) Resource(org.opennms.newts.api.Resource) ResultDescriptor(org.opennms.newts.api.query.ResultDescriptor) Row(org.opennms.newts.api.Results.Row) SampleRowsBuilder(org.opennms.newts.aggregate.Utils.SampleRowsBuilder) Test(org.junit.Test)

Example 25 with ResultDescriptor

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);
}
Also used : MeasurementRowsBuilder(org.opennms.newts.aggregate.Utils.MeasurementRowsBuilder) Resource(org.opennms.newts.api.Resource) ResultDescriptor(org.opennms.newts.api.query.ResultDescriptor) Row(org.opennms.newts.api.Results.Row) SampleRowsBuilder(org.opennms.newts.aggregate.Utils.SampleRowsBuilder) Test(org.junit.Test)

Aggregations

ResultDescriptor (org.opennms.newts.api.query.ResultDescriptor)33 Resource (org.opennms.newts.api.Resource)30 Row (org.opennms.newts.api.Results.Row)29 Test (org.junit.Test)28 MeasurementRowsBuilder (org.opennms.newts.aggregate.Utils.MeasurementRowsBuilder)20 SampleRowsBuilder (org.opennms.newts.aggregate.Utils.SampleRowsBuilder)17 Measurement (org.opennms.newts.api.Measurement)11 MeasurementRowsBuilder (org.opennms.newts.persistence.cassandra.Utils.MeasurementRowsBuilder)5 SampleRowsBuilder (org.opennms.newts.persistence.cassandra.Utils.SampleRowsBuilder)5 Timed (com.codahale.metrics.annotation.Timed)1 Path (java.nio.file.Path)1 Callable (java.util.concurrent.Callable)1 POST (javax.ws.rs.POST)1 Path (javax.ws.rs.Path)1 Source (org.opennms.netmgt.measurements.model.Source)1 OnmsResource (org.opennms.netmgt.model.OnmsResource)1 ResourcePath (org.opennms.netmgt.model.ResourcePath)1 Context (org.opennms.newts.api.Context)1 Duration (org.opennms.newts.api.Duration)1 Results (org.opennms.newts.api.Results)1