Package org.apache.jmeter.reporters

# 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`, `org.apache.jmeter.testelement.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

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface org.apache.jmeter.testelement.TestElement

  `org.apache.jmeter.testelement.TestElement.Companion`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `FILENAME`

  ### Fields inherited from interface org.apache.jmeter.testelement.TestElement

  `COMMENTS, Companion, ENABLED, GUI_CLASS, NAME, TEST_CLASS`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ResultCollector()`
  No-arg constructor.
  `ResultCollector(Summariser summer)`
  Constructor which sets the used `Summariser`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `clearData()`
  Clears the current data of the object.
  `Object`
  `clone()`
  `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`
  `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 final void`
  `sendToVisualizer(SampleResult r)`
  `final void`
  `setErrorLogging(boolean errorLogging)`
  Sets error logging flag
  `void`
  `setFilename(String f)`
  Sets the filename attribute of the ResultCollector object.
  `void`
  `setSaveConfig(SampleSaveConfiguration saveConfig)`
  `final 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, getPropertyOrNull, 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`

  ### Methods inherited from interface org.apache.jmeter.testelement.TestElement

  `get, get, get, get, get, get, get, get, get, getOrCreate, getOrCreate, getOrNull, getOrNull, getOrNull, getPropertyOrNull, getProps, getSchema, getString, removed, removeProperty, set, set, set, set, set, set, set, set, set`

- ## Field Details

  - ### FILENAME

    public static final String FILENAME
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### ResultCollector

    public ResultCollector()
    No-arg constructor.

  - ### ResultCollector

    public ResultCollector(Summariser summer)
    Constructor which sets the used `Summariser`
    Parameters:
      `summer` - The `Summariser` to use

- ## Method Details

  - ### clone

    public Object clone()
    Specified by:
      `clone` in interface `org.apache.jmeter.testelement.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:
    - errorOnly
    - successOnly
    - sample success
    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:
    - 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.
    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:
    - XStream format
    - CSV format

  - ### 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)

  - ### flushFile

    public 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`