## org.apache.lucene.benchmark.byTask.tasks
Class PerfTask

    java.lang.Object
      org.apache.lucene.benchmark.byTask.tasks.PerfTask

All Implemented Interfaces:
  Cloneable

Direct Known Subclasses:
  AddDocTask, ClearStatsTask, CloseIndexTask, CloseReaderTask, CreateIndexTask, DeleteDocTask, NewAnalyzerTask, NewRoundTask, OpenIndexTask, OpenReaderTask, OptimizeTask, ReadTask, ReadTokensTask, ReportTask, ResetInputsTask, SetPropTask, TaskSequence, WriteLineDocTask

    public abstract class PerfTask

extends Object
implements Cloneable

A (abstract) task to be tested for performance.
Every performance task extends this class, and provides its own doLogic() method, which performss the actual task.
Tasks performing some work that should be measured for the task, can overide setup() and/or tearDown() and placed that work there.
Relevant properties: `task.max.depth.log`.

Field Summary
`protected static String` `NEW_LINE`
`protected String` `params`

Constructor Summary
`PerfTask(PerfRunData runData)`

Method Summary
`protected Object` `clone()`
`abstract int` `doLogic()` Perform the task once (ignoring repetions specification) Return number of work items done by this task.
`int` `getDepth()`
`String` `getName()`
`String` `getParams()`
`PerfRunData` `getRunData()`
`int` `runAndMaybeStats(boolean reportStats)` Run the task, record statistics.
`void` `setDepth(int depth)`
`protected void` `setName(String name)`
`void` `setParams(String params)` Set the params of this task.
`void` `setup()` Task setup work that should not be measured for that specific task.
`protected boolean` `shouldNeverLogAtStart()` Tasks that should never log at start can overide this.
`protected boolean` `shouldNotRecordStats()` Tasks that should not record statistics can overide this.
`boolean` `supportsParams()` Sub classes that supports parameters must overide this method to return true.
`void` `tearDown()` Task tearDown work that should not be measured for that specific task.
`String` `toString()`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### params

    protected String params

### NEW_LINE

    protected static final String NEW_LINE

Constructor Detail

### PerfTask

    public PerfTask(PerfRunData runData)

Method Detail

### clone

    protected Object clone()
                    throws CloneNotSupportedException

  Overrides:
    `clone` in class `Object`
  Throws:
    `CloneNotSupportedException`

### runAndMaybeStats

    public final int runAndMaybeStats(boolean reportStats)
                               throws Exception

  Run the task, record statistics.

  Returns:
    number of work items done by this task.
  Throws:
    `Exception`

### doLogic

    public abstract int doLogic()
                         throws Exception

  Perform the task once (ignoring repetions specification) Return number of work items done by this task. For indexing that can be number of docs added. For warming that can be number of scanned items, etc.

  Returns:
    number of work items done by this task.
  Throws:
    `Exception`

### getName

    public String getName()

  Returns:
    Returns the name.

### setName

    protected void setName(String name)

  Parameters:
    `name` - The name to set.

### getRunData

    public PerfRunData getRunData()

  Returns:
    Returns the run data.

### getDepth

    public int getDepth()

  Returns:
    Returns the depth.

### setDepth

    public void setDepth(int depth)

  Parameters:
    `depth` - The depth to set.

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### shouldNeverLogAtStart

    protected boolean shouldNeverLogAtStart()

  Tasks that should never log at start can overide this.

  Returns:
    true if this task should never log when it start.

### shouldNotRecordStats

    protected boolean shouldNotRecordStats()

  Tasks that should not record statistics can overide this.

  Returns:
    true if this task should never record its statistics.

### setup

    public void setup()
               throws Exception

  Task setup work that should not be measured for that specific task. By default it does nothing, but tasks can implement this, moving work from doLogic() to this method. Only the work done in doLogicis measured for this task. Notice that higher level (sequence) tasks containing this task would then measure larger time than the sum of their contained tasks.

  Throws:
    `Exception`

### tearDown

    public void tearDown()
                  throws Exception

  Task tearDown work that should not be measured for that specific task. By default it does nothing, but tasks can implement this, moving work from doLogic() to this method. Only the work done in doLogicis measured for this task. Notice that higher level (sequence) tasks containing this task would then measure larger time than the sum of their contained tasks.

  Throws:
    `Exception`

### supportsParams

    public boolean supportsParams()

  Sub classes that supports parameters must overide this method to return true.

  Returns:
    true iff this task supports command line params.

### setParams

    public void setParams(String params)

  Set the params of this task.

  Throws:
    `UnsupportedOperationException` - for tasks supporting command line parameters.

### getParams

    public String getParams()

  Returns:
    Returns the Params.

Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.