public Builder() { this.rawQuery = new RawQuery(); }
public void testSimpleQueryBuilder2() throws QueryCompileException { RawQuery rawQuery = new RawQuery(); rawQuery.setQuery("TestTimeSeriesAPIEntity[@cluster=\"thecluster\" AND @field4 > 1000 OR @field5 < 10000 ]{@field1,@field2, EXP{@field3/2}}"); rawQuery.setStartTime("2015-01-06 01:40:02"); rawQuery.setEndTime("2015-01-06 01:40:02"); rawQuery.setPageSize(1000); CompiledQuery query = new CompiledQuery(rawQuery); QueryCriteriaBuilder criteriaBuilder = new QueryCriteriaBuilder(query,jdbcEntityDefinition); Criteria criteria = criteriaBuilder.build(); LOG.info(criteria.toString()); }
public void testSimpleMetricQueryBuilder() throws QueryCompileException { RawQuery rawQuery = new RawQuery(); rawQuery.setQuery("GenericMetricService[@cluster=\"thecluster\"]{@field1,@field2, EXP{@field3/2}}"); rawQuery.setStartTime("2015-01-06 01:40:02"); rawQuery.setEndTime("2015-01-06 01:40:02"); rawQuery.setMetricName("metric.name.value"); rawQuery.setPageSize(1000); CompiledQuery query = new CompiledQuery(rawQuery); QueryCriteriaBuilder criteriaBuilder = new QueryCriteriaBuilder(query,jdbcEntityDefinition); Criteria criteria = criteriaBuilder.build(); LOG.info(criteria.toString()); }
@Test public void testSimpleQueryBuilder() throws QueryCompileException { RawQuery rawQuery = new RawQuery(); rawQuery.setQuery("TestTimeSeriesAPIEntity[@cluster=\"thecluster\" AND @field4 > 1000 ]{@field1,@field2, EXP{@field3/2}}"); rawQuery.setStartTime("2015-01-06 01:40:02"); rawQuery.setEndTime("2015-01-06 01:40:02"); rawQuery.setPageSize(1000); CompiledQuery query = new CompiledQuery(rawQuery); QueryCriteriaBuilder criteriaBuilder = new QueryCriteriaBuilder(query,jdbcEntityDefinition); Criteria criteria = criteriaBuilder.build(); LOG.info(criteria.toString()); }
@Test public void testSimpleGroupAggregateRead() throws IOException, InterruptedException, QueryCompileException { long startTime = System.currentTimeMillis(); testWrite1000Metrics(); long endTime = System.currentTimeMillis(); RawQuery rawQuery = new RawQuery(); rawQuery.setQuery(GenericMetricEntity.GENERIC_METRIC_SERVICE+"[@site=\"unittest_site\" AND @application=\"unittest_application\"]<@site>{sum(value)}"); rawQuery.setMetricName(metricName); rawQuery.setStartTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(startTime)); rawQuery.setEndTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(endTime+1000)); rawQuery.setPageSize(10000); CompiledQuery query = new CompiledQuery(rawQuery); QueryResult queryResult = storage.query(query, entityDefinition); Assert.assertTrue(queryResult.getSize() >= 1); }
@Test public void testWriteAndDelete() throws IOException, QueryCompileException { // record insert init time long startTime = System.currentTimeMillis(); // Write 1000 entities List<TestTimeSeriesAPIEntity> entityList = new ArrayList<>(); int i= 0; while( i++ < 5){ entityList.add(newInstance()); } ModifyResult<String> result = storage.create(entityList, entityDefinition); Assert.assertTrue(result.getSize() >= 5); // record insertion finish time long endTime = System.currentTimeMillis(); // delete in time range [startTime, endTime) RawQuery rawQuery = new RawQuery(); rawQuery.setQuery("TestTimeSeriesAPIEntity[]{*}"); rawQuery.setStartTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(startTime-1000)); rawQuery.setEndTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(endTime+1000)); rawQuery.setPageSize(1000000); CompiledQuery query = new CompiledQuery(rawQuery); ModifyResult<String> queryResult = storage.delete(query, entityDefinition); Assert.assertTrue(queryResult.getSize() >= 5); }
@Test public void testWriteAndAggregation() throws IOException, QueryCompileException { // record insert init time long startTime = System.currentTimeMillis(); List<TestTimeSeriesAPIEntity> entityList = new ArrayList<>(); int i= 0; while( i++ < 5){ entityList.add(newInstance()); } ModifyResult<String> result = storage.create(entityList, entityDefinition); Assert.assertTrue(result.getSize() >= 5); // record insertion finish time long endTime = System.currentTimeMillis(); // init read in time range [startTime, endTime) RawQuery rawQuery = new RawQuery(); rawQuery.setQuery("TestTimeSeriesAPIEntity[]<@cluster,@datacenter>{count,max(@field1),min(@field2),sum(@field3)}"); rawQuery.setStartTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(startTime)); rawQuery.setEndTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(endTime+1000)); rawQuery.setPageSize(1000000); CompiledQuery query = new CompiledQuery(rawQuery); QueryResult queryResult = storage.query(query, entityDefinition); Assert.assertTrue(queryResult.getSize() >= 1); }
@Test public void testReadBySimpleQuery() throws QueryCompileException, IOException { RawQuery rawQuery = new RawQuery(); rawQuery.setQuery("TestTimeSeriesAPIEntity[@cluster=\"c4ut\"]{*}"); System.out.println(DateTimeUtil.millisecondsToHumanDateWithSeconds(baseTimestamp)); rawQuery.setStartTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(baseTimestamp)); rawQuery.setEndTime(DateTimeUtil.millisecondsToHumanDateWithMilliseconds(baseTimestamp+2000)); rawQuery.setPageSize(1000); CompiledQuery query = new CompiledQuery(rawQuery); QueryResult<TestTimeSeriesAPIEntity> result = storage.query(query, entityDefinition); Assert.assertNotNull(result); }
@Test public void testReadByNotEqualCondition() throws QueryCompileException, IOException { RawQuery rawQuery = new RawQuery(); rawQuery.setQuery("TestTimeSeriesAPIEntity[@cluster!=\"c4ut_not_found\" AND @field1 != 0]{*}"); System.out.println(DateTimeUtil.millisecondsToHumanDateWithSeconds(baseTimestamp)); rawQuery.setStartTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(baseTimestamp)); rawQuery.setEndTime(DateTimeUtil.millisecondsToHumanDateWithMilliseconds(baseTimestamp+2000)); rawQuery.setPageSize(1000); CompiledQuery query = new CompiledQuery(rawQuery); QueryResult<TestTimeSeriesAPIEntity> result = storage.query(query, entityDefinition); Assert.assertNotNull(result); }
@Test public void testReadBySimpleQuery() throws QueryCompileException, IOException { RawQuery rawQuery = new RawQuery(); rawQuery.setQuery("TestTimeSeriesAPIEntity[@cluster=\"c4ut\"]{*}"); System.out.println(DateTimeUtil.millisecondsToHumanDateWithSeconds(baseTimestamp)); rawQuery.setStartTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(baseTimestamp)); rawQuery.setEndTime(DateTimeUtil.millisecondsToHumanDateWithMilliseconds(baseTimestamp + 2000)); rawQuery.setPageSize(1000); CompiledQuery query = new CompiledQuery(rawQuery); QueryResult<TestTimeSeriesAPIEntity> result = storage.query(query, entityDefinition); Assert.assertNotNull(result); }
@Test public void testReadByNotEqualCondition() throws QueryCompileException, IOException { RawQuery rawQuery = new RawQuery(); rawQuery.setQuery("TestTimeSeriesAPIEntity[@cluster!=\"c4ut_not_found\" AND @field1 != 0]{*}"); System.out.println(DateTimeUtil.millisecondsToHumanDateWithSeconds(baseTimestamp)); rawQuery.setStartTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(baseTimestamp)); rawQuery.setEndTime(DateTimeUtil.millisecondsToHumanDateWithMilliseconds(baseTimestamp + 2000)); rawQuery.setPageSize(1000); CompiledQuery query = new CompiledQuery(rawQuery); QueryResult<TestTimeSeriesAPIEntity> result = storage.query(query, entityDefinition); Assert.assertNotNull(result); }
@Test public void testWriteAndDelete() throws IOException, QueryCompileException { // record insert init time final long startTime = System.currentTimeMillis(); // Write 1000 entities List<TestTimeSeriesAPIEntity> entityList = new ArrayList<>(); int i = 0; while (i++ < 5) { entityList.add(newInstance()); } ModifyResult<String> result = storage.create(entityList, entityDefinition); Assert.assertTrue(result.getSize() >= 5); // record insertion finish time long endTime = System.currentTimeMillis(); // delete in time range [startTime, endTime) RawQuery rawQuery = new RawQuery(); rawQuery.setQuery("TestTimeSeriesAPIEntity[]{*}"); rawQuery.setStartTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(startTime - 1000)); rawQuery.setEndTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(endTime + 1000)); rawQuery.setPageSize(1000000); CompiledQuery query = new CompiledQuery(rawQuery); ModifyResult<String> queryResult = storage.delete(query, entityDefinition); Assert.assertTrue(queryResult.getSize() >= 5); }
@Test public void testReadByComplexQueryWithLike() throws QueryCompileException, IOException { RawQuery rawQuery = new RawQuery(); rawQuery.setQuery("TestTimeSeriesAPIEntity[@cluster=\"c4ut\" AND @field4 > 1000 AND @field7 CONTAINS \"99404f47e309\" OR @datacenter =\"d4ut\" ]{@field1,@field2}"); rawQuery.setStartTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(baseTimestamp)); rawQuery.setEndTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(baseTimestamp + 2000)); rawQuery.setPageSize(1000); CompiledQuery query = new CompiledQuery(rawQuery); storage.query(query,entityDefinition); }
@Test public void testReadByComplexQueryWithLike() throws QueryCompileException, IOException { RawQuery rawQuery = new RawQuery(); rawQuery.setQuery("TestTimeSeriesAPIEntity[@cluster=\"c4ut\" AND @field4 > 1000 AND @field7 CONTAINS \"99404f47e309\" OR @datacenter =\"d4ut\" ]{@field1,@field2}"); rawQuery.setStartTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(baseTimestamp)); rawQuery.setEndTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(baseTimestamp + 2000)); rawQuery.setPageSize(1000); CompiledQuery query = new CompiledQuery(rawQuery); storage.query(query, entityDefinition); }
@Test public void testSimpleRead() throws IOException, QueryCompileException, InterruptedException { // record insert init time long startTime = System.currentTimeMillis(); // Write 1000 entities testWrite1000Metrics(); // record insertion finish time long endTime = System.currentTimeMillis(); // init read in time range [startTime, endTime) RawQuery rawQuery = new RawQuery(); rawQuery.setQuery(GenericMetricEntity.GENERIC_METRIC_SERVICE+"[]{*}"); rawQuery.setMetricName(metricName); rawQuery.setStartTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(startTime)); rawQuery.setEndTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(endTime+1000)); rawQuery.setPageSize(10000); CompiledQuery query = new CompiledQuery(rawQuery); QueryResult queryResult = storage.query(query, entityDefinition); Assert.assertTrue(queryResult.getSize() >= 1000); }
@Test public void testReadByComplexQuery() throws QueryCompileException, IOException { RawQuery rawQuery = new RawQuery(); rawQuery.setQuery("TestTimeSeriesAPIEntity[@cluster=\"c4ut\" AND @field4 > 1000 OR @datacenter =\"d4ut\" ]{@field1,@field2}"); rawQuery.setStartTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(baseTimestamp)); rawQuery.setEndTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(baseTimestamp + 2000)); rawQuery.setPageSize(1000); CompiledQuery query = new CompiledQuery(rawQuery); storage.query(query,entityDefinition); }
@Test public void testReadByComplexQuery() throws QueryCompileException, IOException { RawQuery rawQuery = new RawQuery(); rawQuery.setQuery("TestTimeSeriesAPIEntity[@cluster=\"c4ut\" AND @field4 > 1000 OR @datacenter =\"d4ut\" ]{@field1,@field2}"); rawQuery.setStartTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(baseTimestamp)); rawQuery.setEndTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(baseTimestamp + 2000)); rawQuery.setPageSize(1000); CompiledQuery query = new CompiledQuery(rawQuery); storage.query(query, entityDefinition); }
@Test public void testQuery() throws IllegalDataStorageTypeException, IOException { testCreate(); RawQuery query = new RawQuery(); query.setQuery("TestTimeSeriesAPIEntity[@cluster=\"test\" AND @datacenter = \"test\"]{*}"); query.setPageSize(Integer.MAX_VALUE); query.setFilterIfMissing(false); query.setStartTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(0)); query.setEndTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(System.currentTimeMillis() + 25 * 3600 * 1000)); QueryStatement queryStatement = new QueryStatement(query); QueryResult<?> entityResult = queryStatement.execute(DataStorageManager.newDataStorage("hbase")); assert entityResult != null; } }
@Test public void testTimeSeriesGroupAggregateRead() throws IOException, InterruptedException, QueryCompileException { long startTime = System.currentTimeMillis(); testWrite1000Metrics(); long endTime = System.currentTimeMillis(); RawQuery rawQuery = new RawQuery(); rawQuery.setQuery(GenericMetricEntity.GENERIC_METRIC_SERVICE+"[@site=\"unittest_site\" AND @application=\"unittest_application\"]<@site>{sum(value)}"); rawQuery.setMetricName(metricName); rawQuery.setTimeSeries(true); rawQuery.setIntervalmin(10); rawQuery.setStartTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(startTime)); rawQuery.setEndTime(DateTimeUtil.millisecondsToHumanDateWithSeconds(endTime + 10*60*1000)); rawQuery.setPageSize(10000); CompiledQuery query = new CompiledQuery(rawQuery); QueryResult queryResult = storage.query(query, entityDefinition); Assert.assertTrue(queryResult.getSize() >= 1); } }
@Test public void testCreatedCompiledQuery() throws QueryCompileException, IOException { RawQuery rawQuery = new RawQuery(); rawQuery.setQuery(queryStr); rawQuery.setStartTime(startTime); rawQuery.setEndTime(endTime); rawQuery.setPageSize(pageSize); CompiledQuery query = new CompiledQuery(rawQuery); Assert.assertEquals(baseTimestamp, query.getStartTime()); Assert.assertEquals(baseTimestamp + 2000, query.getEndTime()); Assert.assertEquals(rawQuery.isTreeAgg(), query.isHasAgg()); Assert.assertEquals(rawQuery.isTimeSeries(), query.isTimeSeries()); RawQuery raw2 = RawQuery.build().query(queryStr).startTime(startTime) .endTime(endTime).pageSize(pageSize).done(); Assert.assertEquals(rawQuery.toString(), raw2.toString()); } }