Search in sources :

Example 11 with Period

use of com.axibase.tsd.api.model.Period in project atsd-api-test by axibase.

the class SeriesQueryTransformationWithDifferentForecastTest method generateGroupingSet.

private List<Group> generateGroupingSet() {
    List<Group> groups = new ArrayList<>();
    List<List<GroupType>> setsGroupType = Arrays.asList(Arrays.asList(GroupType.AVG, GroupType.SUM), Arrays.asList(GroupType.AVG, GroupType.SUM, GroupType.DETAIL));
    Period period = new Period(GROUP_PERIOD_COUNT, TimeUnit.MINUTE, PeriodAlignment.START_TIME);
    AggregationInterpolate interp = new AggregationInterpolate(AggregationInterpolateType.LINEAR, true);
    for (List<GroupType> setGroupType : setsGroupType) {
        groups.add(new Group().setPeriod(period).setInterpolate(interp).setTypes(setGroupType));
    }
    return groups;
}
Also used : Group(com.axibase.tsd.api.model.series.query.transformation.group.Group) GroupType(com.axibase.tsd.api.model.series.query.transformation.group.GroupType) ArrayList(java.util.ArrayList) Period(com.axibase.tsd.api.model.Period) ArrayList(java.util.ArrayList) List(java.util.List) AggregationInterpolate(com.axibase.tsd.api.model.series.query.transformation.AggregationInterpolate)

Example 12 with Period

use of com.axibase.tsd.api.model.Period in project atsd-api-test by axibase.

the class TokenMessageTest method testStatsMethod.

@Test(description = "Tests messages query stats endpoint with tokens.")
@Issue("6052")
public void testStatsMethod() throws Exception {
    String url = "/messages/stats/query";
    String token = TokenRepository.getToken(username, HttpMethod.POST, url);
    MessageStatsQuery msq = new MessageStatsQuery().setEntity(entity).setType(message.getType()).setStartDate(ISO_TIME).setEndDate(Util.MAX_QUERYABLE_DATE).setAggregate(new Aggregate(AggregationType.COUNT, new Period(1, TimeUnit.DAY, PeriodAlignment.START_TIME)));
    Response response = queryMessageStats(Collections.singletonList(msq), token);
    String expected = String.format("[ {\n" + "  \"entity\" : \"%s\",\n" + "  \"metric\" : \"message-count\",\n" + "  \"tags\" : {\n" + "    \"type\" : \"logger\"\n" + "  },\n" + "  \"type\" : \"HISTORY\",\n" + "  \"aggregate\" : {\n" + "    \"type\" : \"COUNT\",\n" + "   \"period\":{\"count\":1,\"unit\":\"DAY\"}" + "  },\n" + "  \"data\" : [{\"d\":\"%s\", \"v\":1} ]\n" + "} ]", entity, ISO_TIME);
    assertTrue(compareJsonString(expected, response.readEntity(String.class)));
}
Also used : MessageStatsQuery(com.axibase.tsd.api.model.message.MessageStatsQuery) Response(javax.ws.rs.core.Response) Period(com.axibase.tsd.api.model.Period) Aggregate(com.axibase.tsd.api.model.series.query.transformation.aggregate.Aggregate) Issue(io.qameta.allure.Issue) MessageTest(com.axibase.tsd.api.method.message.MessageTest) Test(org.testng.annotations.Test)

Example 13 with Period

use of com.axibase.tsd.api.model.Period in project atsd-api-test by axibase.

the class SeriesQueryMultipleYearsGroupTest method testSeriesQueryMultipleYearGroupBothEntities.

@Issue("4101")
@Issue("4591")
@Test
public void testSeriesQueryMultipleYearGroupBothEntities() throws Exception {
    SeriesQuery query = new SeriesQuery();
    query.setEntities(Arrays.asList(ENTITY_NAME1, ENTITY_NAME2));
    query.setMetric(METRIC_NAME);
    query.setStartDate("1900-01-01T00:00:00.000Z");
    query.setEndDate("2100-01-01T00:00:00.000Z");
    query.setAggregate(new Aggregate(AggregationType.COUNT, new Period(12, TimeUnit.YEAR)));
    List<Series> resultSeries = querySeriesAsList(query);
    List<Sample> samples1 = new ArrayList<>();
    /* See #4101#note-18 */
    if (zeroTimeOffset <= 0) {
        samples1.add(Sample.ofDateInteger("1970-01-01T00:00:00.000Z", 1));
    }
    samples1.add(Sample.ofDateInteger("2006-01-01T00:00:00.000Z", 2));
    samples1.add(Sample.ofDateInteger("2018-01-01T00:00:00.000Z", 1));
    List<Sample> samples2 = new ArrayList<>();
    samples2.add(Sample.ofDateInteger("2006-01-01T00:00:00.000Z", 2));
    assertSamples(samples1, resultSeries.get(0).getData());
    assertSamples(samples2, resultSeries.get(1).getData());
}
Also used : SeriesQuery(com.axibase.tsd.api.model.series.query.SeriesQuery) Period(com.axibase.tsd.api.model.Period) Aggregate(com.axibase.tsd.api.model.series.query.transformation.aggregate.Aggregate) Issue(io.qameta.allure.Issue) Test(org.testng.annotations.Test)

Example 14 with Period

use of com.axibase.tsd.api.model.Period in project atsd-api-test by axibase.

the class SeriesQueryMultipleYearsGroupTest method testSeriesQueryMultipleYearGroupSingleEntity.

@Issue("4101")
@Issue("4591")
@Test
public void testSeriesQueryMultipleYearGroupSingleEntity() throws Exception {
    SeriesQuery query = new SeriesQuery();
    query.setEntities(Collections.singletonList(ENTITY_NAME2));
    query.setMetric(METRIC_NAME);
    query.setStartDate("1900-01-01T00:00:00.000Z");
    query.setEndDate("2100-01-01T00:00:00.000Z");
    query.setAggregate(new Aggregate(AggregationType.COUNT, new Period(12, TimeUnit.YEAR)));
    List<Series> resultSeries = querySeriesAsList(query);
    List<Sample> samples = new ArrayList<>();
    samples.add(Sample.ofDateInteger("2006-01-01T00:00:00.000Z", 2));
    assertSamples(samples, resultSeries.get(0).getData());
}
Also used : SeriesQuery(com.axibase.tsd.api.model.series.query.SeriesQuery) Period(com.axibase.tsd.api.model.Period) Aggregate(com.axibase.tsd.api.model.series.query.transformation.aggregate.Aggregate) Issue(io.qameta.allure.Issue) Test(org.testng.annotations.Test)

Example 15 with Period

use of com.axibase.tsd.api.model.Period in project atsd-api-test by axibase.

the class SeriesQueryTest method testDateIntervalFieldEnoughToAggregate.

@Issue("3030")
@Test
public void testDateIntervalFieldEnoughToAggregate() throws Exception {
    final BigDecimal VALUE = new BigDecimal("1.0");
    Series series = new Series("entity-query-26", "metric-query-26");
    series.addSamples(Sample.ofDateDecimal("2014-01-01T00:00:00.000Z", VALUE));
    insertSeriesCheck(Collections.singletonList(series));
    SeriesQuery query = new SeriesQuery();
    query.setEntity(series.getEntity());
    query.setMetric(series.getMetric());
    query.setInterval(new Interval(99999, TimeUnit.QUARTER));
    Period period = new Period(99999, TimeUnit.QUARTER, PeriodAlignment.START_TIME);
    query.setAggregate(new Aggregate(AggregationType.SUM, period));
    List<Series> storedSeries = querySeriesAsList(query);
    assertEquals("Response should contain only one series", 1, storedSeries.size());
    List<Sample> data = storedSeries.get(0).getData();
    assertEquals("Response should contain only one sample", 1, data.size());
    assertEquals("Returned value does not match to expected SUM", VALUE, data.get(0).getValue());
}
Also used : Series(com.axibase.tsd.api.model.series.Series) SeriesQuery(com.axibase.tsd.api.model.series.query.SeriesQuery) Sample(com.axibase.tsd.api.model.series.Sample) Period(com.axibase.tsd.api.model.Period) Aggregate(com.axibase.tsd.api.model.series.query.transformation.aggregate.Aggregate) BigDecimal(java.math.BigDecimal) Interval(com.axibase.tsd.api.model.series.query.Interval) Issue(io.qameta.allure.Issue) Test(org.testng.annotations.Test)

Aggregations

Period (com.axibase.tsd.api.model.Period)63 Test (org.testng.annotations.Test)48 Issue (io.qameta.allure.Issue)44 SeriesQuery (com.axibase.tsd.api.model.series.query.SeriesQuery)39 Aggregate (com.axibase.tsd.api.model.series.query.transformation.aggregate.Aggregate)30 BigDecimal (java.math.BigDecimal)24 Group (com.axibase.tsd.api.model.series.query.transformation.group.Group)16 Series (com.axibase.tsd.api.model.series.Series)14 Rate (com.axibase.tsd.api.model.series.query.transformation.rate.Rate)11 AggregationInterpolate (com.axibase.tsd.api.model.series.query.transformation.AggregationInterpolate)10 PropertyQuery (com.axibase.tsd.api.model.property.PropertyQuery)7 Property (com.axibase.tsd.api.model.property.Property)6 MessageQuery (com.axibase.tsd.api.model.message.MessageQuery)5 MessageQuerySizeCheck (com.axibase.tsd.api.method.checks.MessageQuerySizeCheck)4 Message (com.axibase.tsd.api.model.message.Message)4 AggregationType (com.axibase.tsd.api.model.series.query.transformation.aggregate.AggregationType)3 ArrayList (java.util.ArrayList)3 Response (javax.ws.rs.core.Response)3 DataProvider (org.testng.annotations.DataProvider)3 Metric (com.axibase.tsd.api.model.metric.Metric)2