/** * Adds measurements to be included in selection of {@link CubeQuery}. * @param measurements map of measurement name, agg function to include * @return builder for configuring {@link CubeQuery} */ public Measurement measurements(Map<String, AggregationFunction> measurements) { Builder.this.measurements.putAll(measurements); return new Measurement(); } }
.select() .measurement("count", AggregationFunction.SUM) .from(null) .resolution(1, TimeUnit.SECONDS) .where()
private void verifyCountQuery(Cube cube, String aggregation, long startTs, long endTs, int resolution, String measureName, AggregationFunction aggFunction, Map<String, String> dimValues, List<String> groupByDims, Collection<TimeSeries> expected, Interpolator interpolator) throws Exception { CubeQuery query = CubeQuery.builder() .select() .measurement(measureName, aggFunction) .from(aggregation).resolution(resolution, TimeUnit.SECONDS) .where() .dimensions(dimValues) .timeRange(startTs, endTs) .groupBy() .dimensions(groupByDims) .limit(Integer.MAX_VALUE) .interpolator(interpolator) .build(); Collection<TimeSeries> result = cube.query(query); Assert.assertEquals(String.format("expected: %s, found: %s", expected, result), expected.size(), result.size()); Assert.assertTrue(String.format("expected: %s, found: %s", expected, result), expected.containsAll(result)); }
/** * Adds measurement to be included in selection of {@link CubeQuery}. * @param name name of the measurement * @param aggFunc function to be used if aggregation of measurement value is needed * @return builder for configuring {@link CubeQuery} */ public Measurement measurement(String name, AggregationFunction aggFunc) { Builder.this.measurements.put(name, aggFunc); return new Measurement(); }
/** * Adds measurements to be included in selection of {@link CubeQuery}. * @param measurements map of measurement name, agg function to include * @return builder for configuring {@link CubeQuery} */ public Measurement measurements(Map<String, AggregationFunction> measurements) { Builder.this.measurements.putAll(measurements); return new Measurement(); }