Apache JMeter

## org.apache.jmeter.samplers
Class SampleResult

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

All Implemented Interfaces:
  Serializable

Direct Known Subclasses:
  HTTPSampleResult, StatisticalSampleResult

    public class SampleResult

extends Object
implements Serializable

This is a nice packaging for the various information returned from taking a sample of an entry.

See Also:
  Serialized Form

Field Summary
`static String` `BINARY` Data type value indicating that the response data is binary.
`static String` `DEFAULT_HTTP_ENCODING` The default encoding to be used if not overridden.
`static String` `TEXT` Data type value indicating that the response data is text.

Constructor Summary
`` `SampleResult()`
`protected` `SampleResult(long elapsed, boolean atend)` Create a sample with a specific elapsed time but don't allow the times to be changed later (only used by HTTPSampleResult)
`` `SampleResult(long stamp, long elapsed)` Allow users to create a sample with specific timestamp and elapsed times for cloning purposes, but don't allow the times to be changed later Currently used by OldSaveService, CSVSaveService and StatisticalSampleResult
`` `SampleResult(SampleResult res)` Copy constructor.

Method Summary
`void` `addAssertionResult(AssertionResult assertResult)`
`void` `addRawSubResult(SampleResult subResult)` Add a subresult to the collection without updating any parent fields.
`void` `addSubResult(SampleResult subResult)` Add a subresult and adjust the parent byte count and end-time.
`static SampleResult` `createTestSample(long elapsed)` Create a sample with a specific elapsed time for test purposes, but don't allow the times to be changed later
`static SampleResult` `createTestSample(long start, long end)` Create a sample with specific start and end times for test purposes, but don't allow the times to be changed later (used by StatVisualizerModel.Test)
`static long` `currentTimeInMs()`
`int` `getAllThreads()`
`AssertionResult[]` `getAssertionResults()` Gets the assertion results associated with this sample.
`int` `getBytes()` return the bytes returned by the response.
`String` `getContentType()`
`String` `getDataEncodingNoDefault()` Returns the dataEncoding.
`String` `getDataEncodingWithDefault()` Returns the dataEncoding or the default if no dataEncoding was provided.
`protected String` `getDataEncodingWithDefault(String defaultEncoding)` Returns the dataEncoding or the default if no dataEncoding was provided.
`String` `getDataType()`
`long` `getEndTime()`
`int` `getErrorCount()` Returns the count of errors.
`int` `getGroupThreads()`
`long` `getIdleTime()`
`long` `getLatency()`
`String` `getMediaType()` Get the media type from the Content Type
`SampleResult` `getParent()`
`String` `getRequestHeaders()`
`String` `getResponseCode()`
`byte[]` `getResponseData()` Gets the responseData attribute of the SampleResult object.
`String` `getResponseDataAsString()` Gets the responseData of the SampleResult object as a String
`String` `getResponseHeaders()`
`String` `getResponseMessage()`
`String` `getResultFileName()`
`int` `getSampleCount()` return the sample count. by default, the value is 1.
`String` `getSampleLabel()`
`String` `getSampleLabel(boolean includeGroup)` Get the sample label for use in summary reports etc.
`String` `getSamplerData()`
`SampleSaveConfiguration` `getSaveConfig()`
`long` `getStartTime()`
`SampleResult[]` `getSubResults()` Gets the subresults associated with this sample.
`String` `getThreadName()`
`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.
`URL` `getURL()`
`String` `getUrlAsString()` Get a String representation of the URL (if defined).
`boolean` `isMonitor()` If the sampler is a monitor, method will return true.
`boolean` `isResponseCodeOK()`
`boolean` `isStampedAtStart()`
`boolean` `isStopTest()`
`boolean` `isStopTestNow()`
`boolean` `isStopThread()`
`boolean` `isSuccessful()`
`void` `latencyEnd()` Set the time to the first response
`boolean` `markFile(String filename)` Set the "marked" flag to show that the result has been written to the file.
`void` `removeAssertionResults()` Allow custom SampleSenders to drop unwanted assertionResults
`void` `removeSubResults()` Allow custom SampleSenders to drop unwanted subResults
`void` `sampleEnd()` Record the end time of a sample and calculate the elapsed time
`void` `samplePause()` Pause a sample
`void` `sampleResume()` Resume a sample
`void` `sampleStart()` Record the start time of a sample
`void` `setAllThreads(int n)`
`void` `setBytes(int length)` In the event the sampler does want to pass back the actual contents, we still want to calculate the throughput.
`void` `setContentType(String string)` Stores the content-type string, e.g.
`void` `setDataEncoding(String dataEncoding)` Sets the dataEncoding.
`void` `setDataType(String dataType)`
`void` `setEncodingAndType(String ct)` Extract and save the DataEncoding and DataType from the parameter provided.
`protected void` `setEndTime(long end)`
`void` `setErrorCount(int i)`
`void` `setGroupThreads(int n)`
`void` `setIdleTime(long idle)` Set idle time pause.
`void` `setLatency(long latency)` This is only intended for use by SampleResultConverter!
`void` `setMonitor(boolean monitor)` When a Sampler is working as a monitor
`void` `setParent(SampleResult parent)`
`void` `setRequestHeaders(String string)`
`void` `setResponseCode(String code)`
`void` `setResponseCodeOK()` Set response code to OK, i.e. "200"
`void` `setResponseData(byte[] response)` Sets the responseData attribute of the SampleResult object.
`void` `setResponseData(String response)` Deprecated. - only intended for use from BeanShell code
`void` `setResponseData(String response, String encoding)` Sets the encoding and responseData attributes of the SampleResult object.
`void` `setResponseHeaders(String string)`
`void` `setResponseMessage(String msg)`
`void` `setResponseMessageOK()`
`void` `setResponseOK()` Set result statuses OK - shorthand method to set: ResponseCode ResponseMessage Successful status
`void` `setResultFileName(String resultFileName)`
`void` `setSampleCount(int count)` The statistical sample sender aggregates several samples to save on transmission costs.
`void` `setSampleLabel(String label)`
`void` `setSamplerData(String s)`
`void` `setSaveConfig(SampleSaveConfiguration propertiesToSave)`
`void` `setStampAndTime(long stamp, long elapsed)`
`protected void` `setStartTime(long start)`
`void` `setStopTest(boolean b)`
`void` `setStopTestNow(boolean b)`
`void` `setStopThread(boolean b)`
`void` `setSuccessful(boolean success)` Sets the successful attribute of the SampleResult object.
`void` `setThreadName(String threadName)`
`void` `setTimeStamp(long timeStamp)` This is only intended for use by SampleResultConverter!
`void` `setURL(URL location)`
`void` `storeSubResult(SampleResult subResult)` Add a subresult read from a results file.
`String` `toString()` Returns the display name.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### DEFAULT_HTTP_ENCODING

    public static final String DEFAULT_HTTP_ENCODING

  The default encoding to be used if not overridden. The value is ISO-8859-1.

  See Also:
    Constant Field Values

### TEXT

    public static final String TEXT

  Data type value indicating that the response data is text.

  See Also:
    `getDataType()`, `setDataType(java.lang.String)`, Constant Field Values

### BINARY

    public static final String BINARY

  Data type value indicating that the response data is binary.

  See Also:
    `getDataType()`, `setDataType(java.lang.String)`, Constant Field Values

Constructor Detail

### SampleResult

    public SampleResult()

### SampleResult

    public SampleResult(SampleResult res)

  Copy constructor.

  Parameters:
    `res` - existing sample result

### SampleResult

    protected SampleResult(long elapsed,
                           boolean atend)

  Create a sample with a specific elapsed time but don't allow the times to be changed later (only used by HTTPSampleResult)

  Parameters:
    `elapsed` - time
    `atend` - create the sample finishing now, else starting now

### SampleResult

    public SampleResult(long stamp,
                        long elapsed)

  Allow users to create a sample with specific timestamp and elapsed times for cloning purposes, but don't allow the times to be changed later Currently used by OldSaveService, CSVSaveService and StatisticalSampleResult

  Parameters:
    `stamp` - - this may be a start time or an end time
    `elapsed` -

Method Detail

### setSaveConfig

    public void setSaveConfig(SampleSaveConfiguration propertiesToSave)

  Parameters:
    `propertiesToSave` - The propertiesToSave to set.

### getSaveConfig

    public SampleSaveConfiguration getSaveConfig()

### isStampedAtStart

    public boolean isStampedAtStart()

### createTestSample

    public static SampleResult createTestSample(long start,
                                                long end)

  Create a sample with specific start and end times for test purposes, but don't allow the times to be changed later (used by StatVisualizerModel.Test)

  Parameters:
    `start` - start time
    `end` - end time

### createTestSample

    public static SampleResult createTestSample(long elapsed)

  Create a sample with a specific elapsed time for test purposes, but don't allow the times to be changed later

  Parameters:
    `elapsed` - - desired elapsed time

### currentTimeInMs

    public static long currentTimeInMs()

### setStampAndTime

    public void setStampAndTime(long stamp,
                                long elapsed)

### markFile

    public boolean markFile(String filename)

  Set the "marked" flag to show that the result has been written to the file.

  Parameters:
    `filename` -
  Returns:
    true if the result was previously marked

### getResponseCode

    public String getResponseCode()

### setResponseCodeOK

    public void setResponseCodeOK()

  Set response code to OK, i.e. "200"

### setResponseCode

    public void setResponseCode(String code)

### isResponseCodeOK

    public boolean isResponseCodeOK()

### getResponseMessage

    public String getResponseMessage()

### setResponseMessage

    public void setResponseMessage(String msg)

### setResponseMessageOK

    public void setResponseMessageOK()

### setResponseOK

    public void setResponseOK()

  Set result statuses OK - shorthand method to set:
  - ResponseCode
  - ResponseMessage
  - Successful status

### getThreadName

    public String getThreadName()

### setThreadName

    public void setThreadName(String threadName)

### getTimeStamp

    public long getTimeStamp()

  Get the sample timestamp, which may be either the start time or the end time.

  Returns:
    timeStamp in milliseconds
  See Also:
    `getStartTime()`, `getEndTime()`

### getSampleLabel

    public String getSampleLabel()

### getSampleLabel

    public String getSampleLabel(boolean includeGroup)

  Get the sample label for use in summary reports etc.

  Parameters:
    `includeGroup` - whether to include the thread group name
  Returns:
    the label

### setSampleLabel

    public void setSampleLabel(String label)

### addAssertionResult

    public void addAssertionResult(AssertionResult assertResult)

### getAssertionResults

    public AssertionResult[] getAssertionResults()

  Gets the assertion results associated with this sample.

  Returns:
    an array containing the assertion results for this sample. Returns empty array if there are no assertion results.

### addSubResult

    public void addSubResult(SampleResult subResult)

  Add a subresult and adjust the parent byte count and end-time.

  Parameters:
    `subResult` -

### addRawSubResult

    public void addRawSubResult(SampleResult subResult)

  Add a subresult to the collection without updating any parent fields.

  Parameters:
    `subResult` -

### storeSubResult

    public void storeSubResult(SampleResult subResult)

  Add a subresult read from a results file. As for addSubResult(), except that the fields don't need to be accumulated

  Parameters:
    `subResult` -

### getSubResults

    public SampleResult[] getSubResults()

  Gets the subresults associated with this sample.

  Returns:
    an array containing the subresults for this sample. Returns an empty array if there are no subresults.

### setResponseData

    public void setResponseData(byte[] response)

  Sets the responseData attribute of the SampleResult object. If the parameter is null, then the responseData is set to an empty byte array. This ensures that getResponseData() can never be null.

  Parameters:
    `response` - the new responseData value

### setResponseData

    @Deprecated
    public void setResponseData(String response)

  Deprecated. - only intended for use from BeanShell code

  Sets the responseData attribute of the SampleResult object. Should only be called after setting the dataEncoding (if necessary)

  Parameters:
    `response` - the new responseData value (String)

### setResponseData

    public void setResponseData(String response,
                                String encoding)

  Sets the encoding and responseData attributes of the SampleResult object.

  Parameters:
    `response` - the new responseData value (String)
    `encoding` - the encoding to set and then use (if null, use platform default)

### getResponseData

    public byte[] getResponseData()

  Gets the responseData attribute of the SampleResult object.

  Note that some samplers may not store all the data, in which case getResponseData().length will be incorrect. Instead, always use `getBytes()` to obtain the sample result byte count.

  Returns:
    the responseData value (cannot be null)

### getResponseDataAsString

    public String getResponseDataAsString()

  Gets the responseData of the SampleResult object as a String

  Returns:
    the responseData value as a String, converted according to the encoding

### setSamplerData

    public void setSamplerData(String s)

### getSamplerData

    public String getSamplerData()

### getTime

    public long getTime()

  Get the time it took this sample to occur.

  Returns:
    elapsed time in milliseonds

### isSuccessful

    public boolean isSuccessful()

### setDataType

    public void setDataType(String dataType)

### getDataType

    public String getDataType()

### setEncodingAndType

    public void setEncodingAndType(String ct)

  Extract and save the DataEncoding and DataType from the parameter provided. Does not save the full content Type.

  Parameters:
    `ct` - - content type (may be null)
  See Also:
    `which should be used to save the full content-type string`

### setSuccessful

    public void setSuccessful(boolean success)

  Sets the successful attribute of the SampleResult object.

  Parameters:
    `success` - the new successful value

### toString

    public String toString()

  Returns the display name.

  Overrides:
    `toString` in class `Object`
  Returns:
    display name of this sample result

### getDataEncodingWithDefault

    public String getDataEncodingWithDefault()

  Returns the dataEncoding or the default if no dataEncoding was provided.

  Returns:
    the value of the dataEncoding or DEFAULT_ENCODING

### getDataEncodingWithDefault

    protected String getDataEncodingWithDefault(String defaultEncoding)

  Returns the dataEncoding or the default if no dataEncoding was provided.

  Parameters:
    `defaultEncoding` - the default to be applied
  Returns:
    the value of the dataEncoding or the provided default

### getDataEncodingNoDefault

    public String getDataEncodingNoDefault()

  Returns the dataEncoding. May be null or the empty String.

  Returns:
    the value of the dataEncoding

### setDataEncoding

    public void setDataEncoding(String dataEncoding)

  Sets the dataEncoding.

  Parameters:
    `dataEncoding` - the dataEncoding to set, e.g. ISO-8895-1, UTF-8

### isStopTest

    public boolean isStopTest()

  Returns:
    whether to stop the test

### isStopTestNow

    public boolean isStopTestNow()

  Returns:
    whether to stop the test now

### isStopThread

    public boolean isStopThread()

  Returns:
    whether to stop this thread

### setStopTest

    public void setStopTest(boolean b)

### setStopTestNow

    public void setStopTestNow(boolean b)

### setStopThread

    public void setStopThread(boolean b)

### getRequestHeaders

    public String getRequestHeaders()

  Returns:
    the request headers

### getResponseHeaders

    public String getResponseHeaders()

  Returns:
    the response headers

### setRequestHeaders

    public void setRequestHeaders(String string)

  Parameters:
    `string` - - request headers

### setResponseHeaders

    public void setResponseHeaders(String string)

  Parameters:
    `string` - - response headers

### getContentType

    public String getContentType()

  Returns:
    the full content type - e.g. text/html [;charset=utf-8 ]

### getMediaType

    public String getMediaType()

  Get the media type from the Content Type

  Returns:
    the media type - e.g. text/html (without charset, if any)

### setContentType

    public void setContentType(String string)

  Stores the content-type string, e.g. "text/xml; charset=utf-8"

  Parameters:
    `string` -
  See Also:
    `which can be used to extract the charset.`

### getIdleTime

    public long getIdleTime()

  Returns:
    idleTime

### getEndTime

    public long getEndTime()

  Returns:
    the end time

### getStartTime

    public long getStartTime()

  Returns:
    the start time

### setStartTime

    protected final void setStartTime(long start)

### setEndTime

    protected void setEndTime(long end)

### setIdleTime

    public void setIdleTime(long idle)

  Set idle time pause. For use by SampleResultConverter/CSVSaveService.

  Parameters:
    `idle` - long

### sampleStart

    public void sampleStart()

  Record the start time of a sample

### sampleEnd

    public void sampleEnd()

  Record the end time of a sample and calculate the elapsed time

### samplePause

    public void samplePause()

  Pause a sample

### sampleResume

    public void sampleResume()

  Resume a sample

### setMonitor

    public void setMonitor(boolean monitor)

  When a Sampler is working as a monitor

  Parameters:
    `monitor` -

### isMonitor

    public boolean isMonitor()

  If the sampler is a monitor, method will return true.

  Returns:
    true if the sampler is a monitor

### setSampleCount

    public void setSampleCount(int count)

  The statistical sample sender aggregates several samples to save on transmission costs.

  Parameters:
    `count` - number of samples represented by this instance

### getSampleCount

    public int getSampleCount()

  return the sample count. by default, the value is 1.

  Returns:
    the sample count

### getErrorCount

    public int getErrorCount()

  Returns the count of errors.

  Returns:
    0 - or 1 if the sample failed

### setErrorCount

    public void setErrorCount(int i)

### setBytes

    public void setBytes(int length)

  In the event the sampler does want to pass back the actual contents, we still want to calculate the throughput. The bytes is the bytes of the response data.

  Parameters:
    `length` -

### getBytes

    public int getBytes()

  return the bytes returned by the response.

  Returns:
    byte count

### getLatency

    public long getLatency()

  Returns:
    Returns the latency.

### latencyEnd

    public void latencyEnd()

  Set the time to the first response

### setLatency

    public void setLatency(long latency)

  This is only intended for use by SampleResultConverter!

  Parameters:
    `latency` - The latency to set.

### setTimeStamp

    public void setTimeStamp(long timeStamp)

  This is only intended for use by SampleResultConverter!

  Parameters:
    `timeStamp` - The timeStamp to set.

### setURL

    public void setURL(URL location)

### getURL

    public URL getURL()

### getUrlAsString

    public String getUrlAsString()

  Get a String representation of the URL (if defined).

  Returns:
    ExternalForm of URL, or empty string if url is null

### getParent

    public SampleResult getParent()

  Returns:
    Returns the parent.

### setParent

    public void setParent(SampleResult parent)

  Parameters:
    `parent` - The parent to set.

### getResultFileName

    public String getResultFileName()

### setResultFileName

    public void setResultFileName(String resultFileName)

### getGroupThreads

    public int getGroupThreads()

### setGroupThreads

    public void setGroupThreads(int n)

### getAllThreads

    public int getAllThreads()

### setAllThreads

    public void setAllThreads(int n)

### removeAssertionResults

    public void removeAssertionResults()

  Allow custom SampleSenders to drop unwanted assertionResults

### removeSubResults

    public void removeSubResults()

  Allow custom SampleSenders to drop unwanted subResults

Apache JMeter

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