Package org.apache.lucene.sandbox.search

# Class ProfilerCollector

java.lang.Object
org.apache.lucene.sandbox.search.ProfilerCollector

All Implemented Interfaces:
  `Collector`

public class ProfilerCollector extends Object implements Collector
This class wraps a Collector and times the execution of: - setScorer() - collect() - doSetNextReader() - needsScores()

QueryProfiler facilitates the linking of the Collector graph

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ProfilerCollector(Collector collector, String reason, List<ProfilerCollector> children)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected String`
  `deriveCollectorName(Collector c)`
  Creates a human-friendly representation of the Collector name.
  `LeafCollector`
  `getLeafCollector(LeafReaderContext context)`
  `String`
  `getName()`
  `ProfilerCollectorResult`
  `getProfileResult()`
  `String`
  `getReason()`
  `long`
  `getTime()`
  `ScoreMode`
  `scoreMode()`
  `void`
  `setWeight(Weight weight)`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ProfilerCollector

    public ProfilerCollector(Collector collector, String reason, List<ProfilerCollector> children)

- ## Method Details

  - ### getTime

    public long getTime()
    Returns:
      the profiled time for this collector (inclusive of children)

  - ### getReason

    public String getReason()
    Returns:
      a human readable "hint" about what this collector was used for

  - ### getName

    public String getName()
    Returns:
      the lucene class name of the collector

  - ### deriveCollectorName

    protected String deriveCollectorName(Collector c)
    Creates a human-friendly representation of the Collector name. Override to customize how the name is derived.
    Parameters:
      `c` - The Collector to derive a name from
    Returns:
      A (hopefully) prettier name

  - ### getLeafCollector

    public LeafCollector getLeafCollector(LeafReaderContext context) throws IOException
    Specified by:
      `getLeafCollector` in interface `Collector`
    Throws:
      `IOException`

  - ### setWeight

    public void setWeight(Weight weight)
    Specified by:
      `setWeight` in interface `Collector`

  - ### scoreMode

    public ScoreMode scoreMode()
    Specified by:
      `scoreMode` in interface `Collector`

  - ### getProfileResult

    public ProfilerCollectorResult getProfileResult()