org.apache.jmeter.samplers

## Class StatisticalSampleResult

- java.lang.Object
- - org.apache.jmeter.samplers.SampleResult
  - - org.apache.jmeter.samplers.StatisticalSampleResult

- All Implemented Interfaces:
    Serializable, Cloneable, Searchable

      public class StatisticalSampleResult
      extends SampleResult
      implements Serializable

  Aggregates sample results for use by the Statistical remote batch mode. Samples are aggregated by the key defined by getKey(). TODO: merge error count into parent class?
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.apache.jmeter.samplers.SampleResult

      `BINARY, DEFAULT_ENCODING, DEFAULT_HTTP_ENCODING, TEXT`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StatisticalSampleResult()`
    `StatisticalSampleResult(long stamp, long elapsed)` Deprecated. Needs to be replaced when multiple sample results are sorted out
    `StatisticalSampleResult(SampleResult res)` Create a statistical sample result from an ordinary sample result.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `add(SampleResult res)`
    `int` | `getErrorCount()` Returns the count of errors.
    `static String` | `getKey(SampleEvent event, boolean keyOnThreadName)` Generates the key to be used for aggregating samples as follows: `sampleLabel` "-" `[threadName|threadGroup]`
    `long` | `getTime()` Get the time it took this sample to occur.
    `long` | `getTimeStamp()` Get the sample timestamp, which may be either the start time or the end time.
    `void` | `setErrorCount(int e)`

    - ### Methods inherited from class org.apache.jmeter.samplers.SampleResult

      `addAssertionResult, addRawSubResult, addSubResult, addSubResult, cleanAfterSample, clone, connectEnd, createTestSample, createTestSample, currentTimeInMillis, getAllThreads, getAssertionResults, getBodySize, getBodySizeAsLong, getBytes, getBytesAsLong, getConnectTime, getContentType, getDataEncodingNoDefault, getDataEncodingWithDefault, getDataEncodingWithDefault, getDataType, getEndTime, getFirstAssertionFailureMessage, getGroupThreads, getHeadersSize, getIdleTime, getLatency, getMediaType, getParent, getRequestHeaders, getResponseCode, getResponseData, getResponseDataAsString, getResponseHeaders, getResponseMessage, getResultFileName, getSampleCount, getSampleLabel, getSampleLabel, getSamplerData, getSaveConfig, getSearchableTokens, getSentBytes, getStartTime, getSubResults, getTestLogicalAction, getThreadName, getURL, getUrlAsString, isBinaryType, isIgnore, isMonitor, isRenameSampleLabel, isResponseCodeOK, isStampedAtStart, isStartNextThreadLoop, isStopTest, isStopTestNow, isStopThread, isSuccessful, latencyEnd, markFile, removeAssertionResults, removeSubResults, sampleEnd, samplePause, sampleResume, sampleStart, setAllThreads, setBodySize, setBodySize, setBytes, setBytes, setConnectTime, setContentType, setDataEncoding, setDataType, setEncodingAndType, setEndTime, setGroupThreads, setHeadersSize, setIdleTime, setIgnore, setLatency, setMonitor, setParent, setRequestHeaders, setResponseCode, setResponseCodeOK, setResponseData, setResponseData, setResponseData, setResponseHeaders, setResponseMessage, setResponseMessageOK, setResponseOK, setResultFileName, setSampleCount, setSampleLabel, setSamplerData, setSaveConfig, setSentBytes, setStampAndTime, setStartNextThreadLoop, setStartTime, setStopTest, setStopTestNow, setStopThread, setSuccessful, setTestLogicalAction, setThreadName, setTimeStamp, setURL, storeSubResult, storeSubResult, toString`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### StatisticalSampleResult

          public StatisticalSampleResult()

    - #### StatisticalSampleResult

          @Deprecated
          public StatisticalSampleResult(long stamp,
                                                     long elapsed)

      Deprecated. Needs to be replaced when multiple sample results are sorted out
      Allow CsvSaveService to generate a suitable result when sample/error counts have been saved.
      Parameters:
        `stamp` - this may be a start time or an end time (both in milliseconds)
        `elapsed` - time in milliseconds

    - #### StatisticalSampleResult

          public StatisticalSampleResult(SampleResult res)

      Create a statistical sample result from an ordinary sample result.
      Parameters:
        `res` - the sample result

  - ### Method Detail

    - #### add

          public void add(SampleResult res)

    - #### getTime

          public long getTime()

      Description copied from class: `SampleResult`
      Get the time it took this sample to occur.
      Overrides:
        `getTime` in class `SampleResult`
      Returns:
        elapsed time in milliseconds

    - #### getTimeStamp

          public long getTimeStamp()

      Description copied from class: `SampleResult`
      Get the sample timestamp, which may be either the start time or the end time.
      Overrides:
        `getTimeStamp` in class `SampleResult`
      Returns:
        timeStamp in milliseconds
      See Also:
        `SampleResult.getStartTime()`, `SampleResult.getEndTime()`

    - #### getErrorCount

          public int getErrorCount()

      Description copied from class: `SampleResult`
      Returns the count of errors.
      Overrides:
        `getErrorCount` in class `SampleResult`
      Returns:
        0 - or 1 if the sample failed TODO do we need allow for nested samples?

    - #### setErrorCount

          public void setErrorCount(int e)

      Overrides:
        `setErrorCount` in class `SampleResult`

    - #### getKey

          public static String getKey(SampleEvent event,
                                      boolean keyOnThreadName)

      Generates the key to be used for aggregating samples as follows:
      `sampleLabel` "-" `[threadName|threadGroup]`

      N.B. the key should agree with the fixed items that are saved in the sample.

      Parameters:
        `event` - sample event whose key is to be calculated
        `keyOnThreadName` - true if key should use thread name, otherwise use thread group
      Returns:
        the key to use for aggregating samples

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