StatisticalSampleResult (Apache JMeter dist API)
Description: declaration: package: org.apache.jmeter.samplers, class: StatisticalSampleResult

Package 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
  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

  Modifier and Type
  Method
  Description
  `void`
  `add(SampleResult res)`
  `protected void`
  `appendDebugParameters(StringBuilder sb)`
  `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, toDebugString, toString`

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

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

- ## Constructor Details

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

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

  - ### appendDebugParameters

    protected void appendDebugParameters(StringBuilder sb)
    Overrides:
      `appendDebugParameters` in class `SampleResult`