Search in sources :

Example 71 with Metric

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

the class SeriesInsertTest method testBigFloatOverflow.

@Issue("2871")
@Test
public void testBigFloatOverflow() throws Exception {
    String entityName = "e-float-1";
    String metricName = "m-float-1";
    BigDecimal largeNumber = new BigDecimal("10.121212121212121212212121212121212121212121");
    final long t = MILLS_TIME;
    Series series = new Series(entityName, metricName);
    series.addSamples(Sample.ofDateDecimal(Util.ISOFormat(t), largeNumber));
    Metric metric = new Metric();
    metric.setName(metricName);
    metric.setDataType(DataType.FLOAT);
    MetricMethod.createOrReplaceMetricCheck(metric);
    assertEquals("Failed to insert float series", OK.getStatusCode(), insertSeries(Collections.singletonList(series)).getStatus());
    SeriesQuery seriesQuery = new SeriesQuery(series.getEntity(), series.getMetric(), t, t + 1);
    assertSeriesQueryDataSize(seriesQuery, 1);
    List<Series> seriesList = querySeriesAsList(seriesQuery);
    assertEquals("Stored big float value rounded incorrect", new BigDecimal("10.12121212121212121"), seriesList.get(0).getData().get(0).getValue());
}
Also used : SeriesQuery(com.axibase.tsd.api.model.series.query.SeriesQuery) Metric(com.axibase.tsd.api.model.metric.Metric) BigDecimal(java.math.BigDecimal) Issue(io.qameta.allure.Issue) Test(org.testng.annotations.Test)

Example 72 with Metric

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

the class SqlSelectMetricFieldsTest method prepareData.

@BeforeClass
public static void prepareData() throws Exception {
    Metric metric = new Metric(TEST_METRIC, Mocks.TAGS);
    metric.setLabel(Mocks.LABEL);
    metric.setTimeZoneID(Mocks.TIMEZONE_ID);
    metric.setInterpolate(InterpolationMode.PREVIOUS);
    metric.setDescription(Mocks.DESCRIPTION);
    metric.setDataType(DataType.INTEGER);
    metric.setTimePrecision("SECONDS");
    metric.setEnabled(true);
    metric.setPersistent(true);
    metric.setFilter("name = '*'");
    metric.setVersioned(false);
    metric.setAdditionalProperty("minValue", 0);
    metric.setAdditionalProperty("maxValue", 9);
    metric.setInvalidAction("NONE");
    metric.setAdditionalProperty("units", "kg");
    String entity = entity();
    Series series = new Series(entity, TEST_METRIC);
    series.addSamples(Mocks.SAMPLE);
    MetricMethod.createOrReplaceMetricCheck(metric);
    SeriesMethod.insertSeriesCheck(series);
}
Also used : Series(com.axibase.tsd.api.model.series.Series) Metric(com.axibase.tsd.api.model.metric.Metric) BeforeClass(org.testng.annotations.BeforeClass)

Example 73 with Metric

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

the class AggregationChangedDatatypeTest method testChangedDataTypeValues.

@Issue("3881")
@Test
public void testChangedDataTypeValues() throws Exception {
    String entityName = entity();
    String metricName = metric();
    Series series = new Series(entityName, metricName, "tag1", "1");
    series.addSamples(SAMPLE);
    SeriesMethod.insertSeriesCheck(series);
    Metric metric = new Metric();
    metric.setName(metricName);
    metric.setDataType(DataType.DECIMAL);
    MetricMethod.createOrReplaceMetric(metric);
    String sqlQuery = String.format("SELECT SUM(ROUND(value * cast(tags.tag1))) FROM \"%s\"", metric.getName());
    String[][] expectedRows = { { "123.0" } };
    assertSqlQueryRows("Error when querying metric with changed data type", expectedRows, sqlQuery);
}
Also used : Series(com.axibase.tsd.api.model.series.Series) Metric(com.axibase.tsd.api.model.metric.Metric) Issue(io.qameta.allure.Issue) Test(org.testng.annotations.Test) SqlTest(com.axibase.tsd.api.method.sql.SqlTest)

Example 74 with Metric

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

the class AutoTimeZoneTest method testMetricTimeZone.

@Test
public void testMetricTimeZone() throws Exception {
    Metric metric = new Metric(metric());
    metric.setTimeZoneID(ALGIERS_TIMEZONE_ID);
    Series series = new Series(entity(), metric.getName());
    series.addSamples(DEFAULT_SAMPLE);
    MetricMethod.createOrReplaceMetricCheck(metric);
    SeriesMethod.insertSeriesCheck(Collections.singletonList(series));
    String sqlQuery = String.format("SELECT date_format(time, '%s', AUTO) FROM \"%s\"", DEFAULT_PATTERN, metric.getName());
    String[][] expectedRows = { { formatDate(parseDate(DEFAULT_SAMPLE.getRawDate()), DEFAULT_PATTERN, getTimeZone(metric.getTimeZoneID())) } };
    assertSqlQueryRows("Failed to define metric timezone by AUTO param", expectedRows, sqlQuery);
}
Also used : Series(com.axibase.tsd.api.model.series.Series) Metric(com.axibase.tsd.api.model.metric.Metric) Test(org.testng.annotations.Test) SqlTest(com.axibase.tsd.api.method.sql.SqlTest)

Example 75 with Metric

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

the class AutoTimeZoneTest method testPriorityTimeZone.

@Test
public void testPriorityTimeZone() throws Exception {
    Entity entity = new Entity(entity());
    entity.setTimeZoneID(ALGIERS_TIMEZONE_ID);
    Metric metric = new Metric(metric());
    String metricTimeZoneId = "Canada/Yukon";
    metric.setTimeZoneID(metricTimeZoneId);
    Series series = new Series(entity.getName(), metric.getName());
    series.addSamples(DEFAULT_SAMPLE);
    EntityMethod.createOrReplaceEntityCheck(entity);
    MetricMethod.createOrReplaceMetricCheck(metric);
    SeriesMethod.insertSeriesCheck(Collections.singletonList(series));
    String sqlQuery = String.format("SELECT date_format(time, '%s', AUTO) FROM \"%s\"", DEFAULT_PATTERN, series.getMetric());
    String[][] expectedRows = { { formatDate(parseDate(DEFAULT_SAMPLE.getRawDate()), DEFAULT_PATTERN, getTimeZone(entity.getTimeZoneID())) } };
    assertSqlQueryRows("Failed to define entity timezone as priority by AUTO param", expectedRows, sqlQuery);
}
Also used : Entity(com.axibase.tsd.api.model.entity.Entity) Series(com.axibase.tsd.api.model.series.Series) Metric(com.axibase.tsd.api.model.metric.Metric) Test(org.testng.annotations.Test) SqlTest(com.axibase.tsd.api.method.sql.SqlTest)

Aggregations

Metric (com.axibase.tsd.api.model.metric.Metric)76 Test (org.testng.annotations.Test)58 Issue (io.qameta.allure.Issue)50 Series (com.axibase.tsd.api.model.series.Series)25 Entity (com.axibase.tsd.api.model.entity.Entity)21 Response (javax.ws.rs.core.Response)16 BeforeClass (org.testng.annotations.BeforeClass)15 SeriesQuery (com.axibase.tsd.api.model.series.query.SeriesQuery)13 MetricCommand (com.axibase.tsd.api.model.command.MetricCommand)10 SqlTest (com.axibase.tsd.api.method.sql.SqlTest)7 BigDecimal (java.math.BigDecimal)7 MetricCheck (com.axibase.tsd.api.method.checks.MetricCheck)5 HashMap (java.util.HashMap)5 File (java.io.File)4 ArrayList (java.util.ArrayList)4 SeriesSearchResultRecord (com.axibase.tsd.api.model.series.search.SeriesSearchResultRecord)3 Period (com.axibase.tsd.api.model.Period)2 Sample (com.axibase.tsd.api.model.series.Sample)2 Aggregate (com.axibase.tsd.api.model.series.query.transformation.aggregate.Aggregate)2 SeriesSearchQuery (com.axibase.tsd.api.model.series.search.SeriesSearchQuery)2