@Override public ServiceMetricEvent.Builder makeMetricBuilder(TopNQuery query) { return DruidMetrics.makePartialQueryTimeMetric(query) .setDimension("threshold", String.valueOf(query.getThreshold())) .setDimension("dimension", query.getDimensionSpec().getDimension()) .setDimension("numMetrics", String.valueOf(query.getAggregatorSpecs().size())) .setDimension( "numComplexMetrics", String.valueOf(DruidMetrics.findNumComplexAggs(query.getAggregatorSpecs()))); }
public static TopNResultBuilder makeResultBuilder(TopNParams params, TopNQuery query) { final Comparator comparator = query .getTopNMetricSpec() .getComparator(query.getAggregatorSpecs(), query.getPostAggregatorSpecs()); return query .getTopNMetricSpec() .getResultBuilder( params.getCursor().getTime(), query.getDimensionSpec(), query.getThreshold(), comparator, query.getAggregatorSpecs(), query.getPostAggregatorSpecs()); }
private static List<PostAggregator> prunePostAggregators(TopNQuery query) { return AggregatorUtil.pruneDependentPostAgg( query.getPostAggregatorSpecs(), query.getTopNMetricSpec().getMetricName(query.getDimensionSpec())); }