@Override public void chunkInterval(Interval interval) { delegateQueryMetrics.chunkInterval(interval); }
@Override public void chunkInterval(Interval interval) { delegateQueryMetrics.chunkInterval(interval); }
@Override public Sequence<T> apply(Interval singleInterval) { return new AsyncQueryRunner<T>( //Note: it is assumed that toolChest.mergeResults(..) gives a query runner that is //not lazy i.e. it does most of its work on call to run() method toolChest.mergeResults( new MetricsEmittingQueryRunner<T>( emitter, toolChest, baseRunner, QueryMetrics::reportIntervalChunkTime, queryMetrics -> queryMetrics.chunkInterval(singleInterval) ).withWaitMeasuredFromNow() ), executor, queryWatcher ).run( queryPlus.withQuerySegmentSpec( new MultipleIntervalSegmentSpec(Collections.singletonList(singleInterval))), responseContext ); } }
@Override public void chunkInterval(Interval interval) { delegateQueryMetrics.chunkInterval(interval); }
@Override public void chunkInterval(Interval interval) { delegateQueryMetrics.chunkInterval(interval); }
@Override public Sequence<T> apply(Interval singleInterval) { return new AsyncQueryRunner<T>( //Note: it is assumed that toolChest.mergeResults(..) gives a query runner that is //not lazy i.e. it does most of its work on call to run() method toolChest.mergeResults( new MetricsEmittingQueryRunner<T>( emitter, toolChest, baseRunner, QueryMetrics::reportIntervalChunkTime, queryMetrics -> queryMetrics.chunkInterval(singleInterval) ).withWaitMeasuredFromNow() ), executor, queryWatcher ).run( queryPlus.withQuerySegmentSpec( new MultipleIntervalSegmentSpec(Collections.singletonList(singleInterval))), responseContext ); } }