Package org.apache.druid.query.topn
Class DefaultTopNQueryMetrics
- java.lang.Object
-
- org.apache.druid.query.DefaultQueryMetrics<TopNQuery>
-
- org.apache.druid.query.topn.DefaultTopNQueryMetrics
-
- All Implemented Interfaces:
QueryMetrics<TopNQuery>
,TopNQueryMetrics
public class DefaultTopNQueryMetrics extends DefaultQueryMetrics<TopNQuery> implements TopNQueryMetrics
-
-
Field Summary
-
Fields inherited from class org.apache.druid.query.DefaultQueryMetrics
builder, metrics, ownerThread
-
-
Constructor Summary
Constructors Constructor Description DefaultTopNQueryMetrics()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TopNQueryMetrics
addProcessedRows(long numRows)
Called with the number of rows, processed via each cursor, processed for the query within the segment.void
algorithm(TopNAlgorithm algorithm)
void
columnValueSelector(ColumnValueSelector columnValueSelector)
This method is called exactly once with the columnValueSelector object of each cursor, processed for the query.void
cursor(Cursor cursor)
This method is called exactly once with each cursor, processed for the query.void
dimension(TopNQuery query)
SetsTopNQuery.getDimensionSpec()
.getDimension()
of the given query as dimension.void
dimensionCardinality(int cardinality)
void
granularity(TopNQuery query)
Sets the granularity ofBaseQuery.getGranularity()
of the given query as dimension.void
numComplexMetrics(TopNQuery query)
Sets the number of "complex" metrics of the given topN query as dimension.void
numMetrics(TopNQuery query)
Sets the number of metrics of the given topN query as dimension.void
numValuesPerPass(TopNParams params)
This method may setTopNParams.getNumValuesPerPass()
of the query as dimension.void
query(TopNQuery query)
Pulls all information from the query object into dimensions of future metrics.void
startRecordingScanTime()
Calls to this method andTopNQueryMetrics.stopRecordingScanTime()
wrap scanning of each cursor, processed for the query.TopNQueryMetrics
stopRecordingScanTime()
Calls ofTopNQueryMetrics.startRecordingScanTime()
and this method wrap scanning of each cursor, processed for the query.void
threshold(TopNQuery query)
SetsTopNQuery.getThreshold()
of the given query as dimension.-
Methods inherited from class org.apache.druid.query.DefaultQueryMetrics
checkModifiedFromOwnerThread, context, dataSource, duration, emit, hasFilters, identity, interval, makeBitmapResultFactory, parallelMergeParallelism, postFilters, preFilters, queryId, queryId, queryType, remoteAddress, reportBackPressureTime, reportBitmapConstructionTime, reportCpuTime, reportMetric, reportNodeBytes, reportNodeTime, reportNodeTimeToFirstByte, reportParallelMergeFastestPartitionTime, reportParallelMergeInputRows, reportParallelMergeInputSequences, reportParallelMergeOutputRows, reportParallelMergeParallelism, reportParallelMergeSlowestPartitionTime, reportParallelMergeTaskCount, reportParallelMergeTotalCpuTime, reportParallelMergeTotalTime, reportPreFilteredRows, reportQueriedSegmentCount, reportQueryBytes, reportQueryTime, reportSegmentAndCacheTime, reportSegmentRows, reportSegmentTime, reportWaitTime, segment, server, setDimension, sqlQueryId, sqlQueryId, status, subQueryId, success, vectorized
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.druid.query.QueryMetrics
context, dataSource, duration, emit, hasFilters, identity, interval, makeBitmapResultFactory, parallelMergeParallelism, postFilters, preFilters, queryId, queryId, queryType, remoteAddress, reportBackPressureTime, reportBitmapConstructionTime, reportCpuTime, reportNodeBytes, reportNodeTime, reportNodeTimeToFirstByte, reportParallelMergeFastestPartitionTime, reportParallelMergeInputRows, reportParallelMergeInputSequences, reportParallelMergeOutputRows, reportParallelMergeParallelism, reportParallelMergeSlowestPartitionTime, reportParallelMergeTaskCount, reportParallelMergeTotalCpuTime, reportParallelMergeTotalTime, reportPreFilteredRows, reportQueriedSegmentCount, reportQueryBytes, reportQueryTime, reportSegmentAndCacheTime, reportSegmentRows, reportSegmentTime, reportWaitTime, segment, server, sqlQueryId, sqlQueryId, status, subQueryId, success, vectorized
-
-
-
-
Method Detail
-
query
public void query(TopNQuery query)
Description copied from interface:QueryMetrics
Pulls all information from the query object into dimensions of future metrics.- Specified by:
query
in interfaceQueryMetrics<TopNQuery>
- Overrides:
query
in classDefaultQueryMetrics<TopNQuery>
-
threshold
public void threshold(TopNQuery query)
Description copied from interface:TopNQueryMetrics
SetsTopNQuery.getThreshold()
of the given query as dimension.- Specified by:
threshold
in interfaceTopNQueryMetrics
-
dimension
public void dimension(TopNQuery query)
Description copied from interface:TopNQueryMetrics
SetsTopNQuery.getDimensionSpec()
.getDimension()
of the given query as dimension.- Specified by:
dimension
in interfaceTopNQueryMetrics
-
numMetrics
public void numMetrics(TopNQuery query)
Description copied from interface:TopNQueryMetrics
Sets the number of metrics of the given topN query as dimension.- Specified by:
numMetrics
in interfaceTopNQueryMetrics
-
numComplexMetrics
public void numComplexMetrics(TopNQuery query)
Description copied from interface:TopNQueryMetrics
Sets the number of "complex" metrics of the given topN query as dimension. By default it is assumed that "complex" metric is a metric of not long or double type, but it could be redefined in the implementation of this method.- Specified by:
numComplexMetrics
in interfaceTopNQueryMetrics
-
granularity
public void granularity(TopNQuery query)
Description copied from interface:TopNQueryMetrics
Sets the granularity ofBaseQuery.getGranularity()
of the given query as dimension.- Specified by:
granularity
in interfaceTopNQueryMetrics
-
dimensionCardinality
public void dimensionCardinality(int cardinality)
- Specified by:
dimensionCardinality
in interfaceTopNQueryMetrics
-
algorithm
public void algorithm(TopNAlgorithm algorithm)
- Specified by:
algorithm
in interfaceTopNQueryMetrics
-
cursor
public void cursor(Cursor cursor)
Description copied from interface:TopNQueryMetrics
This method is called exactly once with each cursor, processed for the query.- Specified by:
cursor
in interfaceTopNQueryMetrics
-
columnValueSelector
public void columnValueSelector(ColumnValueSelector columnValueSelector)
Description copied from interface:TopNQueryMetrics
This method is called exactly once with the columnValueSelector object of each cursor, processed for the query.- Specified by:
columnValueSelector
in interfaceTopNQueryMetrics
-
numValuesPerPass
public void numValuesPerPass(TopNParams params)
Description copied from interface:TopNQueryMetrics
This method may setTopNParams.getNumValuesPerPass()
of the query as dimension.- Specified by:
numValuesPerPass
in interfaceTopNQueryMetrics
-
addProcessedRows
public TopNQueryMetrics addProcessedRows(long numRows)
Description copied from interface:TopNQueryMetrics
Called with the number of rows, processed via each cursor, processed for the query within the segment. The total number of processed rows, reported via this method for a TopNQueryMetrics instance, is smaller or equal toQueryMetrics.reportPreFilteredRows(long)
, becauseQueryMetrics.postFilters(java.util.List<org.apache.druid.query.filter.Filter>)
are additionally applied. If there are no postFilters, preFilteredRows and processedRows are equal.- Specified by:
addProcessedRows
in interfaceTopNQueryMetrics
-
startRecordingScanTime
public void startRecordingScanTime()
Description copied from interface:TopNQueryMetrics
Calls to this method andTopNQueryMetrics.stopRecordingScanTime()
wrap scanning of each cursor, processed for the query.- Specified by:
startRecordingScanTime
in interfaceTopNQueryMetrics
-
stopRecordingScanTime
public TopNQueryMetrics stopRecordingScanTime()
Description copied from interface:TopNQueryMetrics
Calls ofTopNQueryMetrics.startRecordingScanTime()
and this method wrap scanning of each cursor, processed for the query.- Specified by:
stopRecordingScanTime
in interfaceTopNQueryMetrics
-
-