org.apache.jmeter.samplers

Class SampleResult

Implemented Interfaces:
Serializable
Known Direct 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.

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()
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)
Construct a 'parent' result for an already-existing result, essentially cloning it

Method Summary

void
addAssertionResult(AssertionResult assertResult)
void
addSubResult(SampleResult subResult)
void
configure(Configuration info)
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
getDataEncoding()
Deprecated. use getDataEncodingWithDefault() or getDataEncodingNoDefault() as needed.
String
getDataEncodingNoDefault()
Returns the dataEncoding.
String
getDataEncodingWithDefault()
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
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
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.
void
setResponseData(String response)
Deprecated. - only intended for use from BeanShell code
void
setResponseData(byte[] response)
Sets the responseData attribute of the SampleResult object.
void
setResponseHeaders(String string)
void
setResponseMessage(String msg)
void
setResponseMessageOK()
void
setResultFileName(String resultFileName)
void
setSampleCount(int count)
For the JMS sampler, it can perform multiple samples for greater degree of accuracy.
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
setTime(long elapsed)
Deprecated. use sampleStart() and sampleEnd() instead
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.

Field Details

BINARY

public static final String BINARY
Data type value indicating that the response data is binary.
See Also:
getDataType(), setDataType(java.lang.String)

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.

TEXT

public static final String TEXT
Data type value indicating that the response data is text.
See Also:
getDataType(), setDataType(java.lang.String)

Constructor Details

SampleResult

public SampleResult()

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 -

SampleResult

public SampleResult(SampleResult res)
Construct a 'parent' result for an already-existing result, essentially cloning it
Parameters:
res - existing sample result

Method Details

addAssertionResult

public void addAssertionResult(AssertionResult assertResult)

addSubResult

public void addSubResult(SampleResult subResult)

configure

public void configure(Configuration info)

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

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

currentTimeInMs

public static long currentTimeInMs()

getAllThreads

public int getAllThreads()

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.

getBytes

public int getBytes()
return the bytes returned by the response.
Returns:
byte count

getContentType

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

getDataEncoding

public String getDataEncoding()

Deprecated. use getDataEncodingWithDefault() or getDataEncodingNoDefault() as needed.

Returns the dataEncoding or the default if no dataEncoding was provided

getDataEncodingNoDefault

public String getDataEncodingNoDefault()
Returns the dataEncoding. May be null or the empty String.
Returns:
the value of the dataEncoding

getDataEncodingWithDefault

public String getDataEncodingWithDefault()
Returns the dataEncoding or the default if no dataEncoding was provided
Returns:
the value of the dataEncoding or DEFAULT_ENCODING

getDataType

public String getDataType()

getEndTime

public long getEndTime()
Returns:
the end time

getErrorCount

public int getErrorCount()
Returns the count of errors.
Returns:
0 - or 1 if the sample failed

getGroupThreads

public int getGroupThreads()

getIdleTime

public long getIdleTime()
Returns:
idleTime

getLatency

public long getLatency()
Returns:
Returns the latency.

getMediaType

public String getMediaType()
Get the media type from the Content Type
Returns:
the media type - e.g. text/html (without charset, if any)

getParent

public SampleResult getParent()
Returns:
Returns the parent.

getRequestHeaders

public String getRequestHeaders()
Returns:
the request headers

getResponseCode

public String getResponseCode()

getResponseData

public byte[] getResponseData()
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

getResponseHeaders

public String getResponseHeaders()
Returns:
the response headers

getResponseMessage

public String getResponseMessage()

getResultFileName

public String getResultFileName()

getSampleCount

public int getSampleCount()
return the sample count. by default, the value is 1.
Returns:
the sample count

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

getSamplerData

public String getSamplerData()

getSaveConfig

public SampleSaveConfiguration getSaveConfig()

getStartTime

public long getStartTime()
Returns:
the start time

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.

getThreadName

public String getThreadName()

getTime

public long getTime()
Get the time it took this sample to occur.
Returns:
elapsed time in milliseonds

getTimeStamp

public long getTimeStamp()
Get the sample timestamp, which may be either the start time or the end time.
Returns:
timeStamp in milliseconds

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

isMonitor

public boolean isMonitor()
If the sampler is a monitor, method will return true.
Returns:
true if the sampler is a monitor

isResponseCodeOK

public boolean isResponseCodeOK()

isStampedAtStart

public boolean isStampedAtStart()

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

isSuccessful

public boolean isSuccessful()

latencyEnd

public void latencyEnd()
Set the time to the first response

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

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

sampleStart

public void sampleStart()
Record the start time of a sample

setAllThreads

public void setAllThreads(int n)

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 -

setContentType

public void setContentType(String string)
Stores the content-type string, e.g. "text/xml; charset=utf-8"
Parameters:
string -

setDataEncoding

public void setDataEncoding(String dataEncoding)
Sets the dataEncoding.
Parameters:
dataEncoding - the dataEncoding to set, e.g. ISO-8895-1, UTF-8

setDataType

public void setDataType(String dataType)

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)

setEndTime

protected void setEndTime(long end)

setErrorCount

public void setErrorCount(int i)

setGroupThreads

public void setGroupThreads(int n)

setLatency

public void setLatency(long latency)
This is only intended for use by SampleResultConverter!
Parameters:
latency - The latency to set.

setMonitor

public void setMonitor(boolean monitor)
When a Sampler is working as a monitor
Parameters:
monitor -

setParent

public void setParent(SampleResult parent)
Parameters:
parent - The parent to set.

setRequestHeaders

public void setRequestHeaders(String string)
Parameters:
string - - request headers

setResponseCode

public void setResponseCode(String code)

setResponseCodeOK

public void setResponseCodeOK()
Set response code to OK, i.e. "200"

setResponseData

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

setResponseHeaders

public void setResponseHeaders(String string)
Parameters:
string - - response headers

setResponseMessage

public void setResponseMessage(String msg)

setResponseMessageOK

public void setResponseMessageOK()

setResultFileName

public void setResultFileName(String resultFileName)

setSampleCount

public void setSampleCount(int count)
For the JMS sampler, it can perform multiple samples for greater degree of accuracy.
Parameters:
count -

setSampleLabel

public void setSampleLabel(String label)

setSamplerData

public void setSamplerData(String s)

setSaveConfig

public void setSaveConfig(SampleSaveConfiguration propertiesToSave)
Parameters:
propertiesToSave - The propertiesToSave to set.

setStampAndTime

public void setStampAndTime(long stamp,
                            long elapsed)

setStartTime

protected final void setStartTime(long start)

setStopTest

public void setStopTest(boolean b)

setStopTestNow

public void setStopTestNow(boolean b)

setStopThread

public void setStopThread(boolean b)

setSuccessful

public void setSuccessful(boolean success)
Sets the successful attribute of the SampleResult object.
Parameters:
success - the new successful value

setThreadName

public void setThreadName(String threadName)

setTime

public void setTime(long elapsed)

Deprecated. use sampleStart() and sampleEnd() instead

Method to set the elapsed time for a sample. Retained for backward compatibility with 3rd party add-ons. It is assumed that the method is only called at the end of a sample and that timeStamps are end-times Also used by SampleResultConverter when creating results from files. Must not be used in conjunction with sampleStart()/End()
Parameters:
elapsed - time in milliseconds

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)

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 -

toString

public String toString()
Returns the display name.
Returns:
display name of this sample result

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