Class PerfTask
- java.lang.Object
-
- org.apache.lucene.benchmark.byTask.tasks.PerfTask
-
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
AddDocTask,AddIndexesTask,AnalyzerFactoryTask,ClearStatsTask,CloseIndexTask,CloseReaderTask,CloseTaxonomyIndexTask,CloseTaxonomyReaderTask,CommitIndexTask,CommitTaxonomyIndexTask,ConsumeContentSourceTask,CreateIndexTask,CreateTaxonomyIndexTask,FlushIndexTask,ForceMergeTask,NearRealtimeReaderTask,NewAnalyzerTask,NewCollationAnalyzerTask,NewLocaleTask,NewRoundTask,OpenIndexTask,OpenReaderTask,OpenTaxonomyIndexTask,OpenTaxonomyReaderTask,PrintReaderTask,ReadTask,ReadTokensTask,ReopenReaderTask,ReportTask,ResetInputsTask,RollbackIndexTask,SetPropTask,TaskSequence,UpdateDocTask,WaitTask,WriteLineDocTask
public abstract class PerfTask extends Object implements Cloneable
An abstract task to be tested for performance.
Every performance task extends this class, and provides its owndoLogic()method, which performs the actual task.
Tasks performing some work that should be measured for the task, can overridesetup()and/ortearDown()and place that work there.
Relevant properties:task.max.depth.log.
Also supports the following logging attributes:- log.step - specifies how often to log messages about the current running task. Default is
1000
doLogic()invocations. Set to -1 to disable logging. - log.step.[class Task Name] - specifies the same as 'log.step', only for a particular task
name. For example, log.step.AddDoc will be applied only for
AddDocTask. It's a way to control per task logging settings. If you want to omit logging for any other task, include log.step=-1. The syntax is "log.step." together with the Task's 'short' name (i.e., without the 'Task' part).
-
-
Constructor Summary
Constructors Constructor Description PerfTask(PerfRunData runData)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected PerfTaskclone()voidclose()abstract intdoLogic()Perform the task once (ignoring repetitions specification) Return number of work items done by this task.intgetAlgLineNum()intgetBackgroundDeltaPriority()intgetDepth()protected StringgetLogMessage(int recsCount)StringgetName()StringgetParams()PerfRunDatagetRunData()booleangetRunInBackground()booleanisDisableCounting()Return true if counting is disabled for this task.intrunAndMaybeStats(boolean reportStats)Run the task, record statistics.voidsetAlgLineNum(int algLineNum)voidsetDepth(int depth)voidsetDisableCounting(boolean disableCounting)protected voidsetName(String name)voidsetParams(String params)Set the params of this task.voidsetRunInBackground(int deltaPri)voidsetup()Task setup work that should not be measured for that specific task.protected booleanshouldNeverLogAtStart()Tasks that should never log at start can override this.protected booleanshouldNotRecordStats()Tasks that should not record statistics can override this.voidstopNow()booleansupportsParams()Sub classes that support parameters must override this method to return true.voidtearDown()Task tearDown work that should not be measured for that specific task.StringtoString()
-
-
-
Constructor Detail
-
PerfTask
public PerfTask(PerfRunData runData)
-
-
Method Detail
-
setRunInBackground
public void setRunInBackground(int deltaPri)
-
getRunInBackground
public boolean getRunInBackground()
-
getBackgroundDeltaPriority
public int getBackgroundDeltaPriority()
-
stopNow
public void stopNow()
-
clone
protected PerfTask clone() throws CloneNotSupportedException
- Overrides:
clonein classObject- Throws:
CloneNotSupportedException
-
runAndMaybeStats
public final int runAndMaybeStats(boolean reportStats) throws ExceptionRun the task, record statistics.- Returns:
- number of work items done by this task.
- Throws:
Exception
-
doLogic
public abstract int doLogic() throws ExceptionPerform the task once (ignoring repetitions 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.
-
getLogMessage
protected String getLogMessage(int recsCount)
-
shouldNeverLogAtStart
protected boolean shouldNeverLogAtStart()
Tasks that should never log at start can override this.- Returns:
- true if this task should never log when it start.
-
shouldNotRecordStats
protected boolean shouldNotRecordStats()
Tasks that should not record statistics can override this.- Returns:
- true if this task should never record its statistics.
-
setup
public void setup() throws ExceptionTask setup work that should not be measured for that specific task. By default it does nothing, but tasks can implement this, moving work fromdoLogic()to this method. Only the work done indoLogic()is 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 ExceptionTask tearDown work that should not be measured for that specific task. By default it does nothing, but tasks can implement this, moving work fromdoLogic()to this method. Only the work done indoLogic()is 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 support parameters must override 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.
-
isDisableCounting
public boolean isDisableCounting()
Return true if counting is disabled for this task.
-
setDisableCounting
public void setDisableCounting(boolean disableCounting)
-
setAlgLineNum
public void setAlgLineNum(int algLineNum)
-
getAlgLineNum
public int getAlgLineNum()
-
-