Class ResultCollector
- java.lang.Object
-
- org.apache.jmeter.testelement.AbstractTestElement
-
- org.apache.jmeter.reporters.AbstractListenerElement
-
- org.apache.jmeter.reporters.ResultCollector
-
- All Implemented Interfaces:
Serializable
,Cloneable
,NoThreadClone
,Searchable
,Clearable
,Remoteable
,SampleListener
,TestElement
,TestStateListener
- Direct Known Subclasses:
MailerResultCollector
public class ResultCollector extends AbstractListenerElement implements SampleListener, Clearable, Serializable, TestStateListener, Remoteable, NoThreadClone
This class handles all saving of samples. The class must be thread-safe because it is shared between threads (NoThreadClone).- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static String
FILENAME
-
Fields inherited from interface org.apache.jmeter.testelement.TestElement
COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS
-
-
Constructor Summary
Constructors Constructor Description ResultCollector()
No-arg constructor.ResultCollector(Summariser summer)
Constructor which sets the usedSummariser
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearData()
Clears the current data of the object.Object
clone()
protected void
flushFile()
Flush PrintWriter to synchronize file contentsString
getFilename()
Get the filename of the file this collector usesSampleSaveConfiguration
getSaveConfig()
boolean
isErrorLogging()
Get the state of error loggingboolean
isSampleWanted(boolean success)
Decides whether or not to a sample is wanted based on: errorOnly successOnly sample success Should only be called for single samples.static boolean
isSampleWanted(boolean success, boolean errorOnly, boolean successOnly)
Decides whether or not to a sample is wanted based on: errorOnly successOnly sample success This version is intended to be called by code that loops over many samples; it is cheaper than fetching the settings each time.boolean
isSuccessOnlyLogging()
Get the state of successful only loggingvoid
loadExistingFile()
Loads an existing sample data (JTL) file.void
recordStats(TestElement e)
recordStats is used to save statistics generated by visualizersvoid
sampleOccurred(SampleEvent event)
When a test result is received, display it and save it.void
sampleStarted(SampleEvent e)
A sample has started.void
sampleStopped(SampleEvent e)
A sample has stopped.protected void
sendToVisualizer(SampleResult r)
void
setErrorLogging(boolean errorLogging)
Sets error logging flagvoid
setFilename(String f)
Sets the filename attribute of the ResultCollector object.void
setSaveConfig(SampleSaveConfiguration saveConfig)
void
setSuccessOnlyLogging(boolean value)
Sets the flag whether only successful samples should be loggedvoid
testEnded()
Called once for all threads after the end of a test.void
testEnded(String host)
Called once for all threads after the end of a test.void
testStarted()
Called just before the start of the test from the main engine thread.void
testStarted(String host)
Called just before the start of the test from the main engine thread.-
Methods inherited from class org.apache.jmeter.reporters.AbstractListenerElement
getVisualizer, setListener
-
Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement
addPropertiesValues, addProperty, addProperty, addTestElement, canRemove, clear, clearTemporary, clearTestElementChildren, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getSearchableTokens, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traverseProperty
-
-
-
-
Field Detail
-
FILENAME
public static final String FILENAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ResultCollector
public ResultCollector()
No-arg constructor.
-
ResultCollector
public ResultCollector(Summariser summer)
Constructor which sets the usedSummariser
- Parameters:
summer
- TheSummariser
to use
-
-
Method Detail
-
clone
public Object clone()
- Specified by:
clone
in interfaceTestElement
- Overrides:
clone
in classAbstractListenerElement
-
getFilename
public String getFilename()
Get the filename of the file this collector uses- Returns:
- The name of the file
-
isErrorLogging
public boolean isErrorLogging()
Get the state of error logging- Returns:
- Flag whether errors should be logged
-
setErrorLogging
public final void setErrorLogging(boolean errorLogging)
Sets error logging flag- Parameters:
errorLogging
- The flag whether errors should be logged
-
setSuccessOnlyLogging
public final void setSuccessOnlyLogging(boolean value)
Sets the flag whether only successful samples should be logged- Parameters:
value
- The flag whether only successful samples should be logged
-
isSuccessOnlyLogging
public boolean isSuccessOnlyLogging()
Get the state of successful only logging- Returns:
- Flag whether only successful samples should be logged
-
isSampleWanted
public boolean isSampleWanted(boolean success)
Decides whether or not to a sample is wanted based on:- errorOnly
- successOnly
- sample success
- Parameters:
success
- is sample successful- Returns:
- whether to log/display the sample
-
isSampleWanted
public static boolean isSampleWanted(boolean success, boolean errorOnly, boolean successOnly)
Decides whether or not to a sample is wanted based on:- errorOnly
- successOnly
- sample success
- Parameters:
success
- status of sampleerrorOnly
- if errors only wantedsuccessOnly
- if success only wanted- Returns:
- whether to log/display the sample
-
setFilename
public void setFilename(String f)
Sets the filename attribute of the ResultCollector object.- Parameters:
f
- the new filename value
-
testEnded
public void testEnded(String host)
Description copied from interface:TestStateListener
Called once for all threads after the end of a test. This will use the same element instances as at the start of the test.
N.B. testStarted() and testEnded() are called from different threads.
- Specified by:
testEnded
in interfaceTestStateListener
- Parameters:
host
- name of host- See Also:
StandardJMeterEngine.stopTest()
-
testStarted
public void testStarted(String host)
Description copied from interface:TestStateListener
Called just before the start of the test from the main engine thread. This is before the test elements are cloned. Note that not all the test variables will have been set up at this point.
N.B. testStarted() and testEnded() are called from different threads.
- Specified by:
testStarted
in interfaceTestStateListener
- Parameters:
host
- name of host- See Also:
StandardJMeterEngine.run()
-
testEnded
public void testEnded()
Description copied from interface:TestStateListener
Called once for all threads after the end of a test. This will use the same element instances as at the start of the test.
N.B. testStarted() and testEnded() are called from different threads.
- Specified by:
testEnded
in interfaceTestStateListener
- See Also:
StandardJMeterEngine.stopTest()
-
testStarted
public void testStarted()
Description copied from interface:TestStateListener
Called just before the start of the test from the main engine thread. This is before the test elements are cloned. Note that not all the test variables will have been set up at this point.
N.B. testStarted() and testEnded() are called from different threads.
- Specified by:
testStarted
in interfaceTestStateListener
- See Also:
StandardJMeterEngine.run()
-
loadExistingFile
public void loadExistingFile()
Loads an existing sample data (JTL) file. This can be one of:- XStream format
- Avalon format
- CSV format
-
sampleStarted
public void sampleStarted(SampleEvent e)
Description copied from interface:SampleListener
A sample has started.- Specified by:
sampleStarted
in interfaceSampleListener
- Parameters:
e
- theSampleEvent
that has started
-
sampleStopped
public void sampleStopped(SampleEvent e)
Description copied from interface:SampleListener
A sample has stopped.- Specified by:
sampleStopped
in interfaceSampleListener
- Parameters:
e
- theSampleEvent
that has stopped
-
sampleOccurred
public void sampleOccurred(SampleEvent event)
When a test result is received, display it and save it.- Specified by:
sampleOccurred
in interfaceSampleListener
- Parameters:
event
- the sample event that was received
-
sendToVisualizer
protected final void sendToVisualizer(SampleResult r)
-
recordStats
public void recordStats(TestElement e) throws IOException
recordStats is used to save statistics generated by visualizers- Parameters:
e
- The data to save- Throws:
IOException
- when data writing fails
-
flushFile
protected void flushFile()
Flush PrintWriter to synchronize file contents
-
getSaveConfig
public SampleSaveConfiguration getSaveConfig()
- Returns:
- Returns the saveConfig.
-
setSaveConfig
public void setSaveConfig(SampleSaveConfiguration saveConfig)
- Parameters:
saveConfig
- The saveConfig to set.
-
-