Search in sources :

Example 51 with Resource

use of org.opennms.newts.api.Resource 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 52 with Resource

use of org.opennms.newts.api.Resource 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 53 with Resource

use of org.opennms.newts.api.Resource 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)

Example 54 with Resource

use of org.opennms.newts.api.Resource 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);
}
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)

Example 55 with Resource

use of org.opennms.newts.api.Resource 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);
}
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

Resource (org.opennms.newts.api.Resource)67 Test (org.junit.Test)50 Row (org.opennms.newts.api.Results.Row)35 ResultDescriptor (org.opennms.newts.api.query.ResultDescriptor)31 MeasurementRowsBuilder (org.opennms.newts.aggregate.Utils.MeasurementRowsBuilder)20 SampleRowsBuilder (org.opennms.newts.aggregate.Utils.SampleRowsBuilder)20 Sample (org.opennms.newts.api.Sample)19 Measurement (org.opennms.newts.api.Measurement)14 Context (org.opennms.newts.api.Context)12 MetricRegistry (com.codahale.metrics.MetricRegistry)9 SearchResults (org.opennms.newts.api.search.SearchResults)8 Timestamp (org.opennms.newts.api.Timestamp)7 ResourcePath (org.opennms.netmgt.model.ResourcePath)6 ContextConfigurations (org.opennms.newts.cassandra.ContextConfigurations)6 Map (java.util.Map)5 Results (org.opennms.newts.api.Results)5 CassandraSession (org.opennms.newts.cassandra.CassandraSession)5 ResultSetFuture (com.datastax.driver.core.ResultSetFuture)4 List (java.util.List)4 Result (org.opennms.newts.api.search.SearchResults.Result)4