# Class SampleEvent

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

All Implemented Interfaces:
  `Serializable`

public class SampleEvent extends Object implements Serializable
Packages information regarding the target of a sample event, such as the result from that event and the thread group it ran in.

See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`HOSTNAME`
`static final String`
`SAMPLE_VARIABLES`
The property "sample_variables" is used to define additional variables to be saved

## Constructor Summary

Constructors
Constructor
Description
`SampleEvent()`
Constructor used for Unit tests only.
`SampleEvent(SampleResult result, String threadGroup)`
Creates SampleEvent without saving any variables.
`SampleEvent(SampleResult result, String threadGroup, String hostname)`
Only intended for use when loading results from a file.
`SampleEvent(SampleResult result, String threadGroup, JMeterVariables jmvars)`
Constructor used for normal samples, saves variable values if any are defined.
`SampleEvent(SampleResult result, String threadGroup, JMeterVariables jmvars, boolean isTransactionSampleEvent)`

## Method Summary

Modifier and Type
Method
Description
`String`
`getHostname()`
Get the name of the host for which this event was recorded
`SampleResult`
`getResult()`
Get the `SampleResult` associated with this event
`String`
`getThreadGroup()`
Get the name of the thread group for which this event was recorded
`static int`
`getVarCount()`
Get the number of defined variables
`static String`
`getVarName(int i)`
Get the nth variable name (zero-based)
`String`
`getVarValue(int i)`
Get the nth variable value (zero-based)
`static void`
`initSampleVariables()`
Set up the additional variable names to be saved from the value in the `SAMPLE_VARIABLES` property
`boolean`
`isTransactionSampleEvent()`

### Methods inherited from class Object

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

## Field Details

### SAMPLE_VARIABLES

public static final String SAMPLE_VARIABLES
The property "sample_variables" is used to define additional variables to be saved

See Also:
  - Constant Field Values

### HOSTNAME

public static final String HOSTNAME

## Constructor Details

### SampleEvent

public SampleEvent()
Constructor used for Unit tests only. Uses `null` for the associated `SampleResult` and the `threadGroup`-name.

### SampleEvent

public SampleEvent(SampleResult result, String threadGroup)
Creates SampleEvent without saving any variables.

Use by `ProxyControl` and `StatisticalSampleSender`.

Parameters:
  `result` - The SampleResult to be associated with this event
  `threadGroup` - The name of the thread, the `SampleResult` was recorded

### SampleEvent

public SampleEvent(SampleResult result, String threadGroup, JMeterVariables jmvars)
Constructor used for normal samples, saves variable values if any are defined.

Parameters:
  `result` - The SampleResult to be associated with this event
  `threadGroup` - The name of the thread, the `SampleResult` was recorded
  `jmvars` - the `JMeterVariables` of the thread, the `SampleResult` was recorded

### SampleEvent

public SampleEvent(SampleResult result, String threadGroup, String hostname)
Only intended for use when loading results from a file.

Parameters:
  `result` - The SampleResult to be associated with this event
  `threadGroup` - The name of the thread, the `SampleResult` was recorded
  `hostname` - The name of the host, for which the `SampleResult` was recorded

### SampleEvent

public SampleEvent(SampleResult result, String threadGroup, JMeterVariables jmvars, boolean isTransactionSampleEvent)

Parameters:
  `result` - The SampleResult to be associated with this event
  `threadGroup` - The name of the thread, the `SampleResult` was recorded
  `jmvars` - the `JMeterVariables` of the thread, the `SampleResult` was recorded
  `isTransactionSampleEvent` - Flag whether this event is an transaction sample event

## Method Details

### initSampleVariables

public static void initSampleVariables()
Set up the additional variable names to be saved from the value in the `SAMPLE_VARIABLES` property

### getVarCount

public static int getVarCount()
Get the number of defined variables

Returns:
  the number of variables defined

### getVarName

public static String getVarName(int i)
Get the nth variable name (zero-based)

Parameters:
  `i` - specifies which variable name should be returned (zero-based)
Returns:
  the variable name of the nth variable

### getVarValue

public String getVarValue(int i)
Get the nth variable value (zero-based)

Parameters:
  `i` - specifies which variable value should be returned (zero-based)
Returns:
  the value of the nth variable
Throws:
  `JMeterError` - when an invalid index `i` was given

### getResult

public SampleResult getResult()
Get the `SampleResult` associated with this event

Returns:
  the associated `SampleResult`

### getThreadGroup

public String getThreadGroup()
Get the name of the thread group for which this event was recorded

Returns:
  the name of the thread group

### getHostname

public String getHostname()
Get the name of the host for which this event was recorded

Returns:
  the name of the host

### isTransactionSampleEvent

public boolean isTransactionSampleEvent()

Returns:
  the isTransactionSampleEvent