Interface TopNQueryMetrics

All Superinterfaces:
QueryMetrics<TopNQuery>
All Known Implementing Classes:
DefaultTopNQueryMetrics

public interface TopNQueryMetrics extends QueryMetrics<TopNQuery>
Specialization of QueryMetrics for TopNQuery.
  • Method Details

    • threshold

      void threshold(TopNQuery query)
      Sets TopNQuery.getThreshold() of the given query as dimension.
    • dimension

      void dimension(TopNQuery query)
      Sets TopNQuery.getDimensionSpec().getDimension() of the given query as dimension.
    • numMetrics

      void numMetrics(TopNQuery query)
      Sets the number of metrics of the given topN query as dimension.
    • numComplexMetrics

      void numComplexMetrics(TopNQuery query)
      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.
    • granularity

      void granularity(TopNQuery query)
      Sets the granularity of BaseQuery.getGranularity() of the given query as dimension.
    • dimensionCardinality

      void dimensionCardinality(int cardinality)
    • algorithm

      void algorithm(TopNAlgorithm algorithm)
    • cursor

      void cursor(Cursor cursor)
      This method is called exactly once with each cursor, processed for the query.
    • columnValueSelector

      void columnValueSelector(ColumnValueSelector columnValueSelector)
      This method is called exactly once with the columnValueSelector object of each cursor, processed for the query.
    • numValuesPerPass

      void numValuesPerPass(TopNParams params)
      This method may set TopNParams.getNumValuesPerPass() of the query as dimension.
    • addProcessedRows

      TopNQueryMetrics addProcessedRows(long numRows)
      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 to QueryMetrics.reportPreFilteredRows(long), because matchers from QueryMetrics.filterBundle(FilterBundle.BundleInfo) are additionally applied. If there are no postFilters, preFilteredRows and processedRows are equal.
    • startRecordingScanTime

      void startRecordingScanTime()
      Calls to this method and stopRecordingScanTime() wrap scanning of each cursor, processed for the query.
    • stopRecordingScanTime

      TopNQueryMetrics stopRecordingScanTime()
      Calls of startRecordingScanTime() and this method wrap scanning of each cursor, processed for the query.