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()