org.apache.lucene.benchmark.byTask.tasks

Class PerfTask

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 StringNEW_LINE
protected Stringparams
Constructor Summary
PerfTask(PerfRunData runData)
Method Summary
protected Objectclone()
abstract intdoLogic()
Perform the task once (ignoring repetions specification) Return number of work items done by this task.
intgetDepth()
StringgetName()
StringgetParams()
PerfRunDatagetRunData()
intrunAndMaybeStats(boolean reportStats)
Run the task, record statistics.
voidsetDepth(int depth)
protected voidsetName(String name)
voidsetParams(String params)
Set the params of this task.
voidsetup()
Task setup work that should not be measured for that specific task.
protected booleanshouldNeverLogAtStart()
Tasks that should never log at start can overide this.
protected booleanshouldNotRecordStats()
Tasks that should not record statistics can overide this.
booleansupportsParams()
Sub classes that supports parameters must overide this method to return true.
voidtearDown()
Task tearDown work that should not be measured for that specific task.
StringtoString()

Field Detail

NEW_LINE

protected static final String NEW_LINE

params

protected String params

Constructor Detail

PerfTask

public PerfTask(PerfRunData runData)

Method Detail

clone

protected Object clone()

doLogic

public abstract int doLogic()
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.

getDepth

public int getDepth()

Returns: Returns the depth.

getName

public String getName()

Returns: Returns the name.

getParams

public String getParams()

Returns: Returns the Params.

getRunData

public PerfRunData getRunData()

Returns: Returns the run data.

runAndMaybeStats

public final int runAndMaybeStats(boolean reportStats)
Run the task, record statistics.

Returns: number of work items done by this task.

setDepth

public void setDepth(int depth)

Parameters: depth The depth to set.

setName

protected void setName(String name)

Parameters: name The name to set.

setParams

public void setParams(String params)
Set the params of this task.

Throws: UnsupportedOperationException for tasks supporting command line parameters.

setup

public void setup()
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

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.

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.

tearDown

public void tearDown()
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.

toString

public String toString()
Copyright © 2000-2007 Apache Software Foundation. All Rights Reserved.