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, 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 and Description
    --- | ---
    `static String` | `FILENAME`

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

      `COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 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`

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

      `removed`

- - ### 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:
      - 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`

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