Apache JMeter

org.apache.jmeter.reporters
Class ResultCollector

java.lang.Object
  extended by org.apache.jmeter.testelement.AbstractTestElement
      extended by org.apache.jmeter.reporters.AbstractListenerElement
          extended by 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
static String FILENAME
           
 
Fields inherited from interface org.apache.jmeter.testelement.TestElement
COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS
 
Constructor Summary
ResultCollector()
          No-arg constructor.
ResultCollector(Summariser summer)
          Constructor which sets the used Summariser
 
Method Summary
 void clearData()
          Clears the current data of the object.
 Object clone()
           
protected  void flushFile()
          Flush PrintWriter to synchronize file contents
 String getFilename()
          Get the filename of the file this collector uses
 SampleSaveConfiguration getSaveConfig()
           
 boolean isErrorLogging()
          Get the state of error logging
 boolean 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 logging
 void loadExistingFile()
          Loads an existing sample data (JTL) file.
 void recordStats(TestElement e)
          recordStats is used to save statistics generated by visualizers
 void 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 flag
 void 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 logged
 void 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
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

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 used Summariser

Parameters:
summer - The Summariser to use
Method Detail

clone

public Object clone()
Specified by:
clone in interface TestElement
Overrides:
clone in class AbstractListenerElement

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: Should only be called for single samples.

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: This version is intended to be called by code that loops over many samples; it is cheaper than fetching the settings each time.

Parameters:
success - status of sample
errorOnly - if errors only wanted
successOnly - 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 interface TestStateListener
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 interface TestStateListener
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 interface TestStateListener
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 interface TestStateListener
See Also:
StandardJMeterEngine.run()

loadExistingFile

public void loadExistingFile()
Loads an existing sample data (JTL) file. This can be one of:


sampleStarted

public void sampleStarted(SampleEvent e)
Description copied from interface: SampleListener
A sample has started.

Specified by:
sampleStarted in interface SampleListener
Parameters:
e - the SampleEvent that has started

sampleStopped

public void sampleStopped(SampleEvent e)
Description copied from interface: SampleListener
A sample has stopped.

Specified by:
sampleStopped in interface SampleListener
Parameters:
e - the SampleEvent that has stopped

sampleOccurred

public void sampleOccurred(SampleEvent event)
When a test result is received, display it and save it.

Specified by:
sampleOccurred in interface SampleListener
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.

clearData

public void clearData()
Description copied from interface: Clearable
Clears the current data of the object.

Specified by:
clearData in interface Clearable

Apache JMeter

Copyright © 1998-2015 Apache Software Foundation. All Rights Reserved.