This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Reference

List of all possible steps and handlers that can be used for the benchmark development

Before exploring this reference you should be familiar with the basic structure of a benchmark. If you’re not sure what is the difference between the phase, scenario and sequence check out the concepts in user guide.

This reference lists all the steps and handlers used in a scenario. The lists below are not finite; you can also easily develop and use your own components, but Hyperfoil provides generic components for the most common tasks out of the box.

There are few generic types of components:

This documentation is auto-generated from Javadoc in source code, explaining format for each key-value pair in benchmark YAML. If there is an issue with these docs (e.g. property showing no description) please file an issue on GitHub.

This is the basic structure of the docs:


EXAMPLE

Example description.

PropertyTypeDescription
KeyClassExplanation for the value

YAML syntax

EXAMPLE:
  Key: Value

For example, the POST definition in httpRequest step looks like this:


POST

Generic builder for generating a string.

PropertyTypeDescription
fromVarStringLoad the string from session variable.
patternStringUse pattern replacing session variables.
valueStringString value used verbatim.

YAML syntax

POST:
  pattern: /user/${userId}/info

You might be wondering why the documentation above does not mention anything about issuing a HTTP request. In fact the top-level POST property httpRequest says “Issue HTTP POST request to given path.” but the POST() method returns a generic string builder; this generic builder is used as the path for the HTTP request with POST method.

If the ’type’ is not a scalar value, the key in ‘property’ works as a link to further property mapping. It’s also possible that the property has multiple options, e.g. accepting both property mapping and list of values.

For brevity some components have inline definition like this:


SET

Set variable in session to certain value.

Inline definition
Use var <- value.

YAML syntax

set: myVar <- "This is my value"

 

Hyperfoil defines automatically generated JSON schema for the benchmark; you can use that in Visual Studio Code to automatically check the YAML syntax.

1 - Steps

Steps are the basic building blocks that form each sequence of a scenario, similar to statements in a programming language. Steps are potentially blocking (the sequence cannot continue with next step until previous one finishes).

Note that every action can be also used as a step that simply never blocks, as actions do not require any extra input.

1.1 - addItem

Appends value to an array stored in another variable.

Appends value to an array stored in another variable.

PropertyTypeDescription
fromVarStringFetch value from session variable.
toVarStringDestination variable with the array.
valueStringVerbatim value.

1.2 - addToInt

Add value to integer variable in the session.

Add value to integer variable in the session.

Inline definition
Accepting one of: var++, var–, var += value, var -= value.
PropertyTypeDescription
orElseSetTointIf the variable is currently not set, set it to this value instead of addition.
valueintValue added (can be negative).
varStringVariable name.

1.3 - addToSharedCounter

Adds value to a counter shared by all sessions in the same executor.

Adds value to a counter shared by all sessions in the same executor.

Inline definition
Use on of: counter++, counter–, counter += <value>,
counter -= <value>
PropertyTypeDescription
fromVarStringInput variable name.
keyStringIdentifier for the counter.
operatorenumOperation to perform on the counter. Default is ADD.
Options:
  • ADD
  • SUBTRACT
valueintValue (integer).

1.4 - awaitAllResponses

Block current sequence until all requests receive the response.

Block current sequence until all requests receive the response.

1.5 - awaitDelay

Block this sequence until referenced delay point.

Block this sequence until referenced delay point.

Inline definition
Delay point created in scheduleDelay.key.
PropertyTypeDescription
keyStringDelay point created in scheduleDelay.key.

1.6 - awaitInt

Block current sequence until condition becomes true.

Block current sequence until condition becomes true.

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.
varStringVariable name storing the compared value.

equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

1.7 - awaitVar

Block current sequence until this variable gets set/unset.

Block current sequence until this variable gets set/unset.

Inline definition
Variable name or !variable if we are waiting for it to be unset.
PropertyTypeDescription
varStringVariable name or !variable if we are waiting for it to be unset.

1.8 - breakIfFinished

Stop execution of current sequence if the phase is in finished state.

Stop execution of current sequence if the phase is in finished state.

This is useful for a long-running (looping) sequence that should not extend the duration of its phase.

1.9 - breakSequence

Prematurely stops execution of this sequence if the condition is satisfied.

Prematurely stops execution of this sequence if the condition is satisfied.

PropertyTypeDescription
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
dependencyStringThis step is blocked if this variable does not have set value (none by default).
intConditionBuilderCondition comparing integer variables.
onBreakAction.BuilderAction performed when the condition is true and the sequence is to be ended.
stringConditionBuilderCondition comparing string variables.

allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

allConditions.<list of mappings>

Selector for condition type.

PropertyTypeDescription
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
intConditionBuilderCondition comparing integer variables.
stringConditionBuilderCondition comparing string variables.

allConditions.<list of mappings>.allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

allConditions.<list of mappings>.boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

allConditions.<list of mappings>.intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

allConditions.<list of mappings>.stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

intCondition.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

stringCondition.length

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

stringCondition.length.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

1.10 - clearHttpCache

Drops all entries from HTTP cache in the session.

Drops all entries from HTTP cache in the session.

1.11 - conditional

Perform an action or sequence of actions conditionally.

Perform an action or sequence of actions conditionally.

PropertyTypeDescription
actionsAction.BuilderActions that should be executed should the condition hold.
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
intConditionBuilderCondition comparing integer variables.
stringConditionBuilderCondition comparing string variables.

allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

allConditions.<list of mappings>

Selector for condition type.

PropertyTypeDescription
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
intConditionBuilderCondition comparing integer variables.
stringConditionBuilderCondition comparing string variables.

allConditions.<list of mappings>.allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

allConditions.<list of mappings>.boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

allConditions.<list of mappings>.intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

allConditions.<list of mappings>.stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

intCondition.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

stringCondition.length

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

stringCondition.length.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

1.12 - fail

Fail the phase with given message. Used mostly for testing/debugging.

Fail the phase with given message. Used mostly for testing/debugging.

Inline definition
Message to fail with (unconditionally).
PropertyTypeDescription
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
intConditionBuilderCondition comparing integer variables.
messageStringMessage attached to the failure exception.
stringConditionBuilderCondition comparing string variables.

allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

allConditions.<list of mappings>

Selector for condition type.

PropertyTypeDescription
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
intConditionBuilderCondition comparing integer variables.
stringConditionBuilderCondition comparing string variables.

allConditions.<list of mappings>.allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

allConditions.<list of mappings>.boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

allConditions.<list of mappings>.intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

allConditions.<list of mappings>.stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

intCondition.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

stringCondition.length

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

stringCondition.length.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

1.13 - foreach

Instantiate new sequences based on array variable content.

Instantiate new sequences based on array variable content.

PropertyTypeDescription
counterVarStringVariable to be set to the number of created sequences (optional).
dependencyStringThis step is blocked if this variable does not have set value (none by default).
fromVarStringVariable holding the array.
sequenceStringName of the instantiated sequence.

1.14 - getIndex

Lookup index of an item in an array/collection.

Lookup index of an item in an array/collection.

PropertyTypeDescription
collectionStringVariable to fetch the collection from.
itemBuilderItem that should be looked up (using equality).
toVarStringInteger variable to store the index, or -1 if the item is not found.

item

Inline definition
Verbatim value.
PropertyTypeDescription
fromVarStringFetch value from session variable.
valueStringVerbatim value.

1.15 - getItem

Retrieves n-th item from an array or collection.

Retrieves n-th item from an array or collection.

PropertyTypeDescription
fromVarStringSource variable with an array or list.
indexBuilderSource for index into the array/list.
toVarStringDestination variable for the n-th element.

index

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

1.16 - getSharedCounter

Retrieves value from a counter shared by all sessions in the same executor and stores that in a session variable.

Retrieves value from a counter shared by all sessions in the same executor and stores that in a session variable.
If the value exceeds allowed integer range (-2^31 .. 2^31 - 1) it is capped.

Inline definition
Both the key and variable name.
PropertyTypeDescription
keyStringIdentifier for the counter.
toVarStringSession variable for storing the value.

1.17 - getSize

Calculates size of an array/collection held in variable into another variable

Calculates size of an array/collection held in variable into another variable

PropertyTypeDescription
boolFilterBuilderCount only items matching the condition.
fromVarStringVariable holding the collection.
intFilterBuilderCount only items matching the condition.
stringFilterBuilderCount only items matching the condition.
toVarStringVariable storing the size.
undefinedValueintValue to use when fromVar is unset or it does not contain any array/collection.

boolFilter

PropertyTypeDescription
valuebooleanExpected value.

intFilter

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

intFilter.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

stringFilter.length

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

stringFilter.length.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

1.18 - hotrodRequest

Issues a HotRod request and registers handlers for the response.

Issues a HotRod request and registers handlers for the response.

PropertyTypeDescription
cacheNameStringName of the cache used for the operation. This can be a pattern.
cacheName (alternative)Builder<no description>
getStringGet specified entry in the remote cache.
keyStringKey used for the operation. This can be a pattern.
key (alternative)Builder<no description>
metricStringRequests statistics will use this metric name.
metric (alternative)<list of strings>Allows categorizing request statistics into metrics based on the request path.
operationenum
Options:
  • PUTAdds or overrides each specified entry in the remote cache.
  • GETGet specified entry in the remote cache.
putStringAdds or overrides each specified entry in the remote cache.
valueStringValue for the operation. This can be a pattern.
value (alternative)Builder<no description>

cacheName

Generic builder for generating a string.

Inline definition
A pattern for string interpolation.
PropertyTypeDescription
fromVarObjectLoad the string from session variable.
patternStringUse pattern replacing session variables.
valueStringString value used verbatim.

key

Generic builder for generating a string.

Inline definition
A pattern for string interpolation.
PropertyTypeDescription
fromVarObjectLoad the string from session variable.
patternStringUse pattern replacing session variables.
valueStringString value used verbatim.

metric

Allows categorizing request statistics into metrics based on the request path.

PropertyTypeDescription
<list of strings><list of strings>Allows categorizing request statistics into metrics based on the request path. The expressions are evaluated in the order as provided in the list. Use one of:
  • regexp -> replacement, e.g. ([^?])(?.)? -> $1 to drop the query part.
  • regexp (don’t do any replaces and use the full path), e.g. .*.jpg
  • -> name (metric applied if none of the previous expressions match).

value

Generic builder for generating a string.

Inline definition
A pattern for string interpolation.
PropertyTypeDescription
fromVarObjectLoad the string from session variable.
patternStringUse pattern replacing session variables.
valueStringString value used verbatim.

1.19 - httpRequest

Issues a HTTP request and registers handlers for the response.

Issues a HTTP request and registers handlers for the response.

PropertyTypeDescription
authorityStringHTTP authority (host:port) this request should target. Must match one of the entries in http section. The string can use string interpolation.
authority (alternative)BuilderHTTP authority (host:port) this request should target. Must match one of the entries in http section.
bodyBuilderHTTP request body.
body (alternative)StringHTTP request body (possibly a pattern).
compensationBuilderConfigures additional metric compensated for coordinated omission.
compressionBuilderConfigure response compression.
compression (alternative)StringRequest server to respond with compressed entity using specified content encoding.
CONNECTStringIssue HTTP CONNECT request to given path. This can be a pattern.
CONNECT (alternative)BuilderIssue HTTP CONNECT request to given path.
DELETEStringIssue HTTP DELETE request to given path. This can be a pattern.
DELETE (alternative)BuilderIssue HTTP DELETE request to given path.
endpointBuilderHTTP endpoint this request should target. Must match to the name of the entries in http section.
GETStringIssue HTTP GET request to given path. This can be a pattern.
GET (alternative)BuilderIssue HTTP GET request to given path.
handlerBuilderHTTP response handlers.
HEADStringIssue HTTP HEAD request to given path. This can be a pattern.
HEAD (alternative)BuilderIssue HTTP HEAD request to given path.
headersBuilderHTTP headers sent in the request.
methodenumHTTP method used for the request.
Options:
  • GET
  • HEAD
  • POST
  • PUT
  • DELETE
  • OPTIONS
  • PATCH
  • TRACE
  • CONNECT
metricStringRequests statistics will use this metric name.
metric (alternative)<list of strings>Allows categorizing request statistics into metrics based on the request path.
OPTIONSStringIssue HTTP OPTIONS request to given path. This can be a pattern.
OPTIONS (alternative)BuilderIssue HTTP OPTIONS request to given path.
PATCHStringIssue HTTP PATCH request to given path. This can be a pattern.
PATCH (alternative)BuilderIssue HTTP PATCH request to given path.
pathStringHTTP path (absolute or relative), including query and fragment. The string can use string interpolation.
path (alternative)BuilderHTTP path (absolute or relative), including query and fragment.
POSTStringIssue HTTP POST request to given path. This can be a pattern.
POST (alternative)BuilderIssue HTTP POST request to given path.
PUTStringIssue HTTP PUT request to given path. This can be a pattern.
PUT (alternative)BuilderIssue HTTP PUT request to given path.
slaBuilderList of SLAs the requests are subject to.
syncbooleanThis request is synchronous; execution of the sequence does not continue until the full response is received. If this step is executed from multiple parallel instances of this sequence the progress of all sequences is blocked until there is a request in flight without response.

Default is true.

timeoutStringRequest timeout - after this time the request will be marked as failed and connection will be closed.

Defaults to value set globally in http section.

TRACEStringIssue HTTP TRACE request to given path. This can be a pattern.
TRACE (alternative)BuilderIssue HTTP TRACE request to given path.

authority

Generic builder for generating a string.

Inline definition
A pattern for string interpolation.
PropertyTypeDescription
fromVarObjectLoad the string from session variable.
patternStringUse pattern replacing session variables.
valueStringString value used verbatim.

body

Allows building HTTP request body from session variables.

PropertyTypeDescription
formBuilderBuild form as if we were sending the request using HTML form. This option automatically adds Content-Type: application/x-www-form-urlencoded to the request headers.
fromFileStringSend contents of the file. Note that this method does NOT set content-type automatically.
fromVarStringUse variable content as request body.
patternStringPattern replacing ${sessionvar} with variable contents in a string.
textStringString sent as-is.

body.form

PropertyTypeDescription
<list of mappings><list of builders>Add input pair described in the mapping.

body.form.<list of mappings>

Form element (e.g. as if coming from an INPUT field).

PropertyTypeDescription
fromVarStringInput field value from session variable.
nameStringInput field name.
patternStringInput field value replacing session variables in a pattern, e.g. foo${myvariable}var
valueStringInput field value (verbatim).

compensation

PropertyTypeDescription
metricStringMetric name for the compensated results.
metric (alternative)<list of strings>Configure a custom metric for the compensated results.
targetRatedoubleDesired rate of new virtual users per second. This is similar to constantRate.usersPerSec phase settings but works closer to legacy benchmark drivers by fixing the concurrency.
targetRate (alternative)BuilderDesired rate of new virtual users per second. This is similar to constantRate.usersPerSec phase settings but works closer to legacy benchmark drivers by fixing the concurrency.

compensation.metric

Configure a custom metric for the compensated results.

PropertyTypeDescription
<list of strings><list of strings>Allows categorizing request statistics into metrics based on the request path. The expressions are evaluated in the order as provided in the list. Use one of:
  • regexp -> replacement, e.g. ([^?])(?.)? -> $1 to drop the query part.
  • regexp (don’t do any replaces and use the full path), e.g. .*.jpg
  • -> name (metric applied if none of the previous expressions match).

compensation.targetRate

PropertyTypeDescription
basedoubleBase value used for first iteration.
incrementdoubleValue by which the base value is incremented for each (but the very first) iteration.

compression

PropertyTypeDescription
encodingStringEncoding used for Accept-Encoding/TE header. The only currently supported is gzip.
typeenumType of compression (resource vs. transfer based).
Options:
  • CONTENT_ENCODINGUse Accept-Encoding in request and expect Content-Encoding in response.
  • TRANSFER_ENCODINGUse TE in request and expect Transfer-Encoding in response.

CONNECT

Generic builder for generating a string.

Inline definition
A pattern for string interpolation.
PropertyTypeDescription
fromVarObjectLoad the string from session variable.
patternStringUse pattern replacing session variables.
valueStringString value used verbatim.

DELETE

Generic builder for generating a string.

Inline definition
A pattern for string interpolation.
PropertyTypeDescription
fromVarObjectLoad the string from session variable.
patternStringUse pattern replacing session variables.
valueStringString value used verbatim.

endpoint

Generic builder for generating a string.

Inline definition
A pattern for string interpolation.
PropertyTypeDescription
fromVarObjectLoad the string from session variable.
patternStringUse pattern replacing session variables.
valueStringString value used verbatim.

GET

Generic builder for generating a string.

Inline definition
A pattern for string interpolation.
PropertyTypeDescription
fromVarObjectLoad the string from session variable.
patternStringUse pattern replacing session variables.
valueStringString value used verbatim.

handler

Manages processing of HTTP responses.

PropertyTypeDescription
autoRangeCheckbooleanInject status handler that marks the request as invalid on status 4xx or 5xx. Default value depends on ergonomics.autoRangeCheck (see User Guide).
bodyProcessor.BuilderHandle HTTP response body.
followRedirectenumAutomatically fire requests when the server responds with redirection. Default value depends on ergonomics.followRedirect (see User Guide).
Options:
  • NEVERDo not insert any automatic redirection handling.
  • LOCATION_ONLYRedirect only upon status 3xx accompanied with a ’location’ header. Status, headers, body and completions handlers are suppressed in this case (only raw-bytes handlers are still running). This is the default option.
  • HTML_ONLYHandle only HTML response with META refresh header. Status, headers and body handlers are invoked both on the original response and on the response from subsequent requests. Completion handlers are suppressed on this request and invoked after the last response arrives (in case of multiple redirections).
  • ALWAYSImplement both status 3xx + location and HTML redirects.
headerHeaderHandler.BuilderHandle HTTP response headers.
onCompletionAction.BuilderAction executed when the HTTP response is fully received.
rawBytesRawBytesHandler.BuilderHandler processing HTTP response before parsing.
statusStatusHandler.BuilderHandle HTTP response status.
stopOnInvalidbooleanInject completion handler that will stop the session if the request has been marked as invalid. Default value depends on ergonomics.stopOnInvalid (see User Guide).

handler.header

Handle HTTP response headers.

PropertyTypeDescription
conditionalConditionalHeaderHandler.BuilderPasses the headers to nested handler if the condition holds. Note that the condition may be evaluated multiple times and therefore any nested handlers should not change the results of the condition.
countHeadersCountHeadersHandler.BuilderStores number of occurences of each header in custom statistics (these can be displayed in CLI using the stats -c command).
filterFilterHeaderHandler.BuilderCompares if the header name matches expression and invokes a processor with the value.
logInvalidLogInvalidHandler.HeaderHandlerBuilderLogs headers from requests marked as invalid.
recordHeaderTimeRecordHeaderTimeHandler.BuilderRecords alternative metric based on values from a header (e.g. when a proxy reports processing time).

handler.header.conditional

Passes the headers to nested handler if the condition holds. Note that the condition may be evaluated multiple times and therefore any nested handlers should not change the results of the condition.

PropertyTypeDescription
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
handlerHeaderHandler.BuilderOne or more header handlers that should be invoked.
intConditionBuilderCondition comparing integer variables.
stringConditionBuilderCondition comparing string variables.

handler.header.conditional.allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

handler.header.conditional.allConditions.<list of mappings>

Selector for condition type.

PropertyTypeDescription
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
intConditionBuilderCondition comparing integer variables.
stringConditionBuilderCondition comparing string variables.

handler.header.conditional.allConditions.<list of mappings>.allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

handler.header.conditional.allConditions.<list of mappings>.boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

handler.header.conditional.allConditions.<list of mappings>.intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

handler.header.conditional.allConditions.<list of mappings>.stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

handler.header.conditional.boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

handler.header.conditional.handler

One or more header handlers that should be invoked.

PropertyTypeDescription
conditionalConditionalHeaderHandler.BuilderPasses the headers to nested handler if the condition holds. Note that the condition may be evaluated multiple times and therefore any nested handlers should not change the results of the condition.
countHeadersCountHeadersHandler.BuilderStores number of occurences of each header in custom statistics (these can be displayed in CLI using the stats -c command).
filterFilterHeaderHandler.BuilderCompares if the header name matches expression and invokes a processor with the value.
logInvalidLogInvalidHandler.HeaderHandlerBuilderLogs headers from requests marked as invalid.
recordHeaderTimeRecordHeaderTimeHandler.BuilderRecords alternative metric based on values from a header (e.g. when a proxy reports processing time).

handler.header.conditional.intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

handler.header.conditional.intCondition.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

handler.header.conditional.intCondition.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

handler.header.conditional.intCondition.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

handler.header.conditional.intCondition.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

handler.header.conditional.intCondition.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

handler.header.conditional.intCondition.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

handler.header.conditional.stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

handler.header.conditional.stringCondition.length

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

handler.header.conditional.stringCondition.length.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

handler.header.conditional.stringCondition.length.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

handler.header.conditional.stringCondition.length.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

handler.header.conditional.stringCondition.length.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

handler.header.conditional.stringCondition.length.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

handler.header.conditional.stringCondition.length.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

handler.header.filter

Compares if the header name matches expression and invokes a processor with the value.

PropertyTypeDescription
headerBuilderCondition on the header name.
processorProcessor.BuilderAdd one or more processors.

handler.header.filter.header

Inline definition
Literal value the string should match.
PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

handler.header.filter.header.length

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

handler.header.recordHeaderTime

Records alternative metric based on values from a header (e.g. when a proxy reports processing time).

PropertyTypeDescription
headerStringHeader carrying the time.
metricStringName of the created metric.
unitStringTime unit in the header; use either ms or ns.

handler.rawBytes

Handler processing HTTP response before parsing.

PropertyTypeDescription
transferSizeRecorderTransferSizeRecorder.BuilderAccumulates request and response sizes into custom metrics.

handler.rawBytes.transferSizeRecorder

Accumulates request and response sizes into custom metrics.

PropertyTypeDescription
keyStringName of the custom metric for collecting request/response bytes.

handler.status

Handle HTTP response status.

PropertyTypeDescription
actionActionStatusHandler.BuilderPerform certain actions when the status falls into a range.
counterStatusToCounterHandler.BuilderCounts how many times given status is received.
multiplexMultiplexStatusHandler.BuilderMultiplexes the status based on range into different status handlers.
rangeRangeStatusValidator.BuilderMarks requests that don’t fall into the desired range as invalid.
statsStatusToStatsHandler.BuilderRecords number of occurrences of each status counts into custom statistics (these can be displayed in CLI using stats -c).
storeStoreStatusHandler.BuilderStores the status into session variable.

handler.status.action

Perform certain actions when the status falls into a range.

PropertyTypeDescription
<any>BuilderPerform a sequence of actions if the range matches. Use range as the key and action in the mapping. Possible values of the status should be separated by commas (,). Ranges can be set using low-high (inclusive) (e.g. 200-299), or replacing lower digits with ‘x’ (e.g. 2xx).

handler.status.counter

Counts how many times given status is received.

PropertyTypeDescription
addintNumber to be added to the session variable.
expectStatusintExpected status (others are ignored). All status codes match by default.
initintInitial value for the session variable.
setintDo not accumulate (add), just set the variable to this value.
varStringVariable name.

handler.status.multiplex

Multiplexes the status based on range into different status handlers.

PropertyTypeDescription
<any>BuilderRun another handler if the range matches. Use range as the key and another status handler in the mapping. Possible values of the status should be separated by commas (,). Ranges can be set using low-high (inclusive) (e.g. 200-299), or replacing lower digits with ‘x’ (e.g. 2xx).

handler.status.multiplex.<any>

Run another handler if the range matches. Use range as the key and another status handler in the mapping. Possible values of the status should be separated by commas (,). Ranges can be set using low-high (inclusive) (e.g. 200-299), or replacing lower digits with ‘x’ (e.g. 2xx).

PropertyTypeDescription
actionActionStatusHandler.BuilderPerform certain actions when the status falls into a range.
counterStatusToCounterHandler.BuilderCounts how many times given status is received.
multiplexMultiplexStatusHandler.BuilderMultiplexes the status based on range into different status handlers.
rangeRangeStatusValidator.BuilderMarks requests that don’t fall into the desired range as invalid.
statsStatusToStatsHandler.BuilderRecords number of occurrences of each status counts into custom statistics (these can be displayed in CLI using stats -c).
storeStoreStatusHandler.BuilderStores the status into session variable.

handler.status.range

Marks requests that don’t fall into the desired range as invalid.

Inline definition
Single status code (204), masked code (2xx) or range (200-399).
PropertyTypeDescription
maxintHighest accepted status code.
minintLowest accepted status code.

handler.status.store

Stores the status into session variable.

Inline definition
Variable name.
PropertyTypeDescription
toVarObjectVariable name.

Generic builder for generating a string.

Inline definition
A pattern for string interpolation.
PropertyTypeDescription
fromVarObjectLoad the string from session variable.
patternStringUse pattern replacing session variables.
valueStringString value used verbatim.

headers

PropertyTypeDescription
<any>StringUse header name (e.g. Content-Type) as key and value (possibly a pattern).
<any> (alternative)BuilderUse header name (e.g. Content-Type) as key and specify value in the mapping.

headers.<any>

Specifies value that should be sent in headers.

Inline definition
The value. This can be a pattern.
PropertyTypeDescription
fromVarStringLoad header value from session variable.
patternStringLoad header value using a pattern.

metric

Allows categorizing request statistics into metrics based on the request path.

PropertyTypeDescription
<list of strings><list of strings>Allows categorizing request statistics into metrics based on the request path. The expressions are evaluated in the order as provided in the list. Use one of:
  • regexp -> replacement, e.g. ([^?])(?.)? -> $1 to drop the query part.
  • regexp (don’t do any replaces and use the full path), e.g. .*.jpg
  • -> name (metric applied if none of the previous expressions match).

OPTIONS

Generic builder for generating a string.

Inline definition
A pattern for string interpolation.
PropertyTypeDescription
fromVarObjectLoad the string from session variable.
patternStringUse pattern replacing session variables.
valueStringString value used verbatim.

PATCH

Generic builder for generating a string.

Inline definition
A pattern for string interpolation.
PropertyTypeDescription
fromVarObjectLoad the string from session variable.
patternStringUse pattern replacing session variables.
valueStringString value used verbatim.

path

Generic builder for generating a string.

Inline definition
A pattern for string interpolation.
PropertyTypeDescription
fromVarObjectLoad the string from session variable.
patternStringUse pattern replacing session variables.
valueStringString value used verbatim.

POST

Generic builder for generating a string.

Inline definition
A pattern for string interpolation.
PropertyTypeDescription
fromVarObjectLoad the string from session variable.
patternStringUse pattern replacing session variables.
valueStringString value used verbatim.

PUT

Generic builder for generating a string.

Inline definition
A pattern for string interpolation.
PropertyTypeDescription
fromVarObjectLoad the string from session variable.
patternStringUse pattern replacing session variables.
valueStringString value used verbatim.

sla

Defines a list of Service Level Agreements (SLAs) - conditions that must hold for benchmark to be deemed successful.

PropertyTypeDescription
<list of mappings><list of builders>One or more SLA configurations.

sla.<list of mappings>

Defines a Service Level Agreement (SLA) - conditions that must hold for benchmark to be deemed successful.

PropertyTypeDescription
blockedRatiodoubleMaximum allowed ratio of time spent waiting for usable connection to sum of response latencies and blocked time. Default is 0 - client must not be blocked. Set to 1 if the client can block without limits.
errorRatiodoubleMaximum allowed ratio of errors: connection failures or resets, timeouts and internal errors. Valid values are 0.0 - 1.0 (inclusive). Note: 4xx and 5xx statuses are NOT considered errors for this SLA parameter. Use invalidRatio for that.
invalidRatiodoubleMaximum allowed ratio of requests with responses marked as invalid. Valid values are 0.0 - 1.0 (inclusive). Note: With default settings 4xx and 5xx statuses are considered invalid. Check out ergonomics.autoRangeCheck or httpRequest.handler.autoRangeCheck to change this.
limitsBuilderPercentile limits.
meanResponseTimeStringMaximum allowed mean (average) response time. Use suffix ns, us, ms or s to specify units.
windowStringPeriod over which the stats should be collected. By default the SLA applies to stats from whole phase.

sla.<list of mappings>.limits

Percentile limits.

PropertyTypeDescription
<any>StringUse percentile (value between 0.0 and 1.0) as key and response time with unit (e.g. ms) in suffix as value.

TRACE

Generic builder for generating a string.

Inline definition
A pattern for string interpolation.
PropertyTypeDescription
fromVarObjectLoad the string from session variable.
patternStringUse pattern replacing session variables.
valueStringString value used verbatim.

1.20 - json

Parse JSON in variable into another variable.

Parse JSON in variable into another variable.

PropertyTypeDescription
deletebooleanIf this is set to true, the selected key will be deleted from the JSON and the modified JSON will be passed to the processor.
formatenumConversion to apply on the matching parts with ’toVar’ or ’toArray’ shortcuts.
Options:
  • BYTEBUFStore the buffer directly. Beware that this may cause memory leaks!
  • BYTESStore data as byte array.
  • STRINGInterprets the bytes as UTF-8 string.
fromVarStringVariable to load JSON from.
processorProcessor.BuilderAdd one or more processors.
queryStringQuery selecting the part of JSON.
replaceTransformer.BuilderCustom transformation executed on the value of the selected item. Note that the output value must contain quotes (if applicable) and be correctly escaped.
replace (alternative)StringReplace value of selected item with value generated through a pattern. Note that the result must contain quotes and be correctly escaped.
toArrayStringShortcut to store selected parts in an array in the session. Must follow the pattern variable[maxSize]
toVarStringShortcut to store first match in given variable. Further matches are ignored.
unquotebooleanAutomatically unquote and unescape the input values. By default true.

replace

Custom transformation executed on the value of the selected item. Note that the output value must contain quotes (if applicable) and be correctly escaped.

PropertyTypeDescription
actionsActionsTransformer.BuilderThis transformer stores the (defragmented) input into a variable, using requested format. After that it executes all the actions and fetches transformed value using the pattern.
patternPattern.TransformerBuilderUse pattern replacing session variables.

replace.actions

This transformer stores the (defragmented) input into a variable, using requested format. After that it executes all the actions and fetches transformed value using the pattern.

PropertyTypeDescription
actionsAction.BuilderActions to be executed.
formatenumFormat into which should this transformer convert the buffers before storing. Default is STRING.
Options:
  • BYTEBUFStore the buffer directly. Beware that this may cause memory leaks!
  • BYTESStore data as byte array.
  • STRINGInterprets the bytes as UTF-8 string.
patternStringPattern to use when fetching the transformed value.
varStringVariable used as the intermediate storage for the data.

replace.pattern

Use pattern replacing session variables.

Inline definition
The pattern formatting string.
PropertyTypeDescription
patternStringUse pattern replacing session variables.

1.21 - log

Log a message and variable values.

Log a message and variable values.

Inline definition
A pattern for string interpolation.
PropertyTypeDescription
messageStringMessage format pattern. Use string interpolation for variables.

1.22 - loop

Repeats a set of steps fixed number of times.

Repeats a set of steps fixed number of times.

This step is supposed to be inserted as the first step of a sequence and the counterVar should not be set during the first invocation.

Before the loop the counterVar is initialized to zero, and in each after the last step in the steps sequence the counter is incremented. If the result is lesser than repeats this sequence is restarted from the beginning (this is also why the step must be the first step in the sequence).

It is legal to place steps after the looped steps.

Example:

scenario:
- mySequence:
  - loop:
      counterVar: myCounter
      repeats: 5
      steps:
      - httpRequest:
          GET: /foo/${myCounter}
          # ...
      - someOtherStep: ...
  - anotherStepExecutedAfterThoseFiveLoops
PropertyTypeDescription
counterVarStringVariable holding number of iterations.
repeatsintNumber of iterations that should be executed.
stepsBuilderList of steps that should be looped.

1.23 - markRequestInvalid

Unconditionally mark currently processed request as invalid.

Unconditionally mark currently processed request as invalid.

1.24 - newSequence

Instantiates a sequence for each invocation.

Instantiates a sequence for each invocation.

Inline definition
Sequence name.
PropertyTypeDescription
concurrencyPolicyenum
Options:
  • FAIL
  • WARN
forceSameIndexbooleanForces that the sequence will have the same index as the currently executing sequence. This can be useful if the sequence is passing some data to the new sequence using sequence-scoped variables. Note that the new sequence must have same concurrency factor as the currently executing sequence.
sequenceStringName of the instantiated sequence.

1.25 - noop

Does nothing. Only for demonstration purposes.

Does nothing. Only for demonstration purposes.

1.26 - publishAgentData

Makes the data available to all sessions in the same agent, including those using different executors.

Makes the data available to all sessions in the same agent, including those using different executors.

Inline definition
Both name of source variable and the key used to read the data.
PropertyTypeDescription
fromVarStringSource session variable name.
nameStringArbitrary unique identifier for the data.

1.27 - publishGlobalCounters

Gathers values from session variables and publishes them globally (to all agents).

Gathers values from session variables and publishes them globally (to all agents).
You can name the counters individually (example 1) or use the variable names (example 2):

# Example 1:
- publishGlobalCounters:
    key: myKey
    vars: [ foo, bar ]
# Example 2:
- publishGlobalCounters:
    key: someOtherKey
    vars:
    - foo: myFoo
    - bar: bbb
</code>```


| Property | Type | Description |
| ------- | ------- | -------- |
| key | String | Identifier of the global record. |
| vars | [Builder](#vars) | List of names and session variables. |

### vars

| Property | Type | Description |
| ------- | ------- | ------- |
| &lt;any&gt; | &lt;unknown&gt; | <font color="#606060">&lt;no description&gt;</font> |
| &lt;list of strings&gt; | &lt;unknown&gt; | <font color="#606060">&lt;no description&gt;</font> |

1.28 - pullSharedMap

Move values from a map shared across all sessions using the same executor into session variables.

Move values from a map shared across all sessions using the same executor into session variables.

The executor can host multiple shared maps, each holding an entry with several variables. This step moves variables from either a random entry (if no match is set) or with an entry that has the same value for given variable as the current session. When data is moved to the current session the entry is dropped from the shared map. If the map contains records for which the {@link #vars()} don’t contain a destination variable the contents is lost.

PropertyTypeDescription
keyStringKey identifying the shared map.
matchStringName of the session variable that stores value identifying the entry in the shared map.
vars<list of strings>List of variables the map should be pulled into.

vars

List of variables the map should be pulled into.

PropertyTypeDescription
<list of strings><unknown><no description>

1.29 - pushSharedMap

Store values from session variables into a map shared across all sessions using the same executor into session variables.

Store values from session variables into a map shared across all sessions using the same executor into session variables.

The executor can host multiple shared maps, each holding an entry with several variables. This step creates one entry in the map, copying values from session variables into the entry.

PropertyTypeDescription
keyStringKey identifying the shared map.
vars<list of strings>List of variable names that should be stored in the entry.

vars

List of variable names that should be stored in the entry.

PropertyTypeDescription
<list of strings><unknown><no description>

1.30 - randomCsvRow

Stores random row from a CSV-formatted file to variables.

Stores random row from a CSV-formatted file to variables.

PropertyTypeDescription
columnsBuilderDefines mapping from columns to session variables.
fileStringPath to the CSV file that should be loaded.
separatorcharSet character used for column separation. By default it is comma (,).
skipCommentsbooleanSkip lines starting with character ‘#’. By default set to false.

columns

PropertyTypeDescription
<any>StringUse 0-based column as the key and variable name as the value.

1.31 - randomFile

Reads bytes from a randomly chosen file into a variable.

Reads bytes from a randomly chosen file into a variable.
Two formats are supported:
Example 1 - without weights:

toVar: myVar
files:
- /path/to/file1.txt
- file2_relative_to_benchmark.txt

Example 2 - with weights (the second file will be returned twice as often):

toVar: myVar
files:
  /path/to/file1.txt: 1
  file2_relative_to_benchmark.txt: 2
PropertyTypeDescription
filenameVarStringOptional variable to store the filename of the random file.
filesBuilderPotentially weighted list of files to choose from.
toVarStringVariable where the chosen byte array should be stored.

files

PropertyTypeDescription
<any><list of strings>Item as the key and weight (arbitrary floating-point number, defaults to 1.0) as the value.
<list of strings><list of strings>Item as the key and weight (arbitrary floating-point number, defaults to 1.0) as the value.

1.32 - randomInt

Stores random (linearly distributed) integer into session variable.

Stores random (linearly distributed) integer into session variable.

PropertyTypeDescription
maxBuilderHighest possible value (inclusive). Default is Integer.MAX_VALUE.
minBuilderLowest possible value (inclusive). Default is 0.
toVarStringVariable name to store the result.

max

Inline definition
Constant value.
PropertyTypeDescription
fromVarStringInitialize with a value from session variable.
valueintInitialize with a constant value.

min

Inline definition
Constant value.
PropertyTypeDescription
fromVarStringInitialize with a value from session variable.
valueintInitialize with a constant value.

1.33 - randomItem

Stores random item from a list or array into session variable.

Stores random item from a list or array into session variable.

PropertyTypeDescription
fileStringThis file will be loaded into memory and the step will choose on line as the item.
fromVarStringVariable containing an array or list.
listBuilderPotentially weighted list of items to choose from.
toVarStringVariable where the chosen item should be stored.

list

PropertyTypeDescription
<any><list of strings>Item as the key and weight (arbitrary floating-point number, defaults to 1.0) as the value.
<list of strings><list of strings>Item as the key and weight (arbitrary floating-point number, defaults to 1.0) as the value.

1.34 - randomUUID

Stores random string into session variable based on the UUID generator.

Stores random string into session variable based on the UUID generator.

PropertyTypeDescription
toVarStringVariable name to store the result.

1.35 - readAgentData

Reads data from agent-wide scope into session variable.

Reads data from agent-wide scope into session variable.
The data must be published in a phase that has terminated before this phase starts: usually this is achieved using the startAfterStrict property on the phase.

Inline definition
Both the identifier and destination session variable.
PropertyTypeDescription
nameStringUnique identifier for the data.
toVarStringDestination session variable name.

1.36 - removeItem

Removes element from an array of variables.

Removes element from an array of variables.

PropertyTypeDescription
fromVarStringVariable containing an existing array of object variables.
indexBuilderSet index at which the item should be removed. Elements to the right of this are moved to the left.

index

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

1.37 - restartSequence

Restarts current sequence from beginning.

Restarts current sequence from beginning.

1.38 - scheduleDelay

Define a point in future until which we should wait. Does not cause waiting.

Define a point in future until which we should wait. Does not cause waiting.

PropertyTypeDescription
durationStringDuration of the delay with appropriate suffix (e.g. ms or s).
fromLast<none>Set previous delay point reference as the reference for next delay point; it will be computed as (previous delay point or now) + duration.
Note: property does not have any value
fromNow<none>Set this step invocation as the delay point reference; it will be computed as now + duration.
Note: property does not have any value
keyStringKey that is referenced later in awaitDelay step. If you’re introducing the delay through thinkTime do not use this property.
maxStringUpper cap on the duration (if randomized).
minStringLower cap on the duration (if randomized).
randomenumRandomize the duration.
Options:
  • CONSTANTDo not randomize; use constant duration.
  • LINEARUse linearly random duration between min and max (inclusively).
  • NEGATIVE_EXPONENTIALUse negative-exponential duration with expected value of duration, capped at min and max (inclusively).
typeenumAlternative way to set delay reference point. See fromNow and fromLast property setters.
Options:
  • FROM_LAST
  • FROM_NOW

1.39 - set

Set variable in session to certain value.

Set variable in session to certain value.

Inline definition
Use var <- value.
PropertyTypeDescription
intArrayBuilderSet variable to an (unset) integer array.
objectArrayBuilderSet variable to an (unset) object array.
valueStringString value.
varStringVariable name.

intArray

Creates integer arrays to be stored in the session.

PropertyTypeDescription
fromVarStringContents of the new array. If the variable contains an array or a list, items will be copied to the elements with the same index up to the size of this array. If the variable contains a different value all elements will be initialized to this value.
sizeintSize of the array.

objectArray

Creates object arrays to be stored in the session.

PropertyTypeDescription
fromVarStringContents of the new array. If the variable contains an array or a list, items will be copied to the elements with the same index up to the size of this array. If the variable contains a different value all elements will be initialized to this value.
sizeintSize of the array.

1.40 - setInt

Set session variable to an integral value.

Set session variable to an integral value.

Inline definition
Use var <- value.
PropertyTypeDescription
fromVarStringInput variable name.
intConditionBuilderSet variable only if the current value satisfies certain condition.
maxBuilderSet to value that is the maximum of this list of values.
minBuilderSet to value that is the minimum of this list of values.
onlyIfNotSetbooleanSet variable to the value only if it is not already set.
valueintValue (integer).
varStringVariable name.

intCondition

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

intCondition.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

max

PropertyTypeDescription
<list of mappings><list of builders><no description>

max.<list of mappings>

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

min

PropertyTypeDescription
<list of mappings><list of builders><no description>

1.41 - setItem

Set element in a collection on given position.

Set element in a collection on given position.

PropertyTypeDescription
fromVarStringFetch value from session variable.
indexBuilderInteger session variable with an index into the collection.
toVarStringSession variable with the collection.
valueStringVerbatim value.

index

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

1.42 - setSharedCounter

Sets value in a counter shared by all sessions in the same executor.

Sets value in a counter shared by all sessions in the same executor.

Inline definition
Both the name of the counter and variable name.
PropertyTypeDescription
fromVarStringInput variable name.
keyStringIdentifier for the counter.
valueintValue (integer).

1.43 - stop

Immediately stop the user session (break all running sequences).

Immediately stop the user session (break all running sequences).

1.44 - stopwatch

Run nested sequence of steps, recording execution time.

Run nested sequence of steps, recording execution time.

1.45 - stringToInt

Parse string into integer and store it in a variable.

Parse string into integer and store it in a variable.

If the parsing fails the target variable is not modified.

Inline definition
Use fromVar -&gt; toVar
PropertyTypeDescription
fromVarStringSource variable name.
toVarStringTarget variable name.

1.46 - template

Format pattern into session variable.

Format pattern into session variable.

PropertyTypeDescription
patternStringPattern to be encoded, e.g. foo${variable}bar${another-variable}
toVarStringVariable name to store the result.

1.47 - thinkTime

Block current sequence for specified duration.

Block current sequence for specified duration.

Inline definition
Duration of the delay with appropriate suffix (e.g. ms or s).
PropertyTypeDescription
durationStringDuration of the delay with appropriate suffix (e.g. ms or s).
fromLast<none>Set previous delay point reference as the reference for next delay point; it will be computed as (previous delay point or now) + duration.
Note: property does not have any value
fromNow<none>Set this step invocation as the delay point reference; it will be computed as now + duration.
Note: property does not have any value
keyStringKey that is referenced later in awaitDelay step. If you’re introducing the delay through thinkTime do not use this property.
maxStringUpper cap on the duration (if randomized).
minStringLower cap on the duration (if randomized).
randomenumRandomize the duration.
Options:
  • CONSTANTDo not randomize; use constant duration.
  • LINEARUse linearly random duration between min and max (inclusively).
  • NEGATIVE_EXPONENTIALUse negative-exponential duration with expected value of duration, capped at min and max (inclusively).
typeenumAlternative way to set delay reference point. See fromNow and fromLast property setters.
Options:
  • FROM_LAST
  • FROM_NOW

1.48 - timestamp

Stores the current time in milliseconds as string to a session variable.

Stores the current time in milliseconds as string to a session variable.

Inline definition
Variable name.
PropertyTypeDescription
localeCountryString2-letter ISO country code used in the formatter locale. Defaults to ‘US’.
patternStringFormat the timestamp using SimpleDateFormat pattern.
toVarStringTarget variable name.

1.49 - unset

Undefine variable name.

Undefine variable name.

Inline definition
Variable name.
PropertyTypeDescription
varObjectVariable name.

2 - Processors

Processors can work either as consumers of input bytes (e.g. storing part of the input into session variables), as filters (passing modified version of the input to delegated processors) or combination of the above.

Some processors can expect extra context in the session, such as an ongoing (HTTP) request. It is possible to use processors that don’t expect specific type of request in places where a more specific type is provided; opposite is not allowed.

Also it is possible to use an action instead of a processor; Hyperfoil automatically inserts an adapter. That’s why the list below includes actions as well.

2.1 - addItem

Appends value to an array stored in another variable.

Appends value to an array stored in another variable.

PropertyTypeDescription
fromVarStringFetch value from session variable.
toVarStringDestination variable with the array.
valueStringVerbatim value.

2.2 - addToInt

Add value to integer variable in the session.

Add value to integer variable in the session.

Inline definition
Accepting one of: var++, var–, var += value, var -= value.
PropertyTypeDescription
orElseSetTointIf the variable is currently not set, set it to this value instead of addition.
valueintValue added (can be negative).
varStringVariable name.

2.3 - addToSharedCounter

Adds value to a counter shared by all sessions in the same executor.

Adds value to a counter shared by all sessions in the same executor.

Inline definition
Use on of: counter++, counter–, counter += <value>,
counter -= <value>
PropertyTypeDescription
fromVarStringInput variable name.
keyStringIdentifier for the counter.
operatorenumOperation to perform on the counter. Default is ADD.
Options:
  • ADD
  • SUBTRACT
valueintValue (integer).

2.4 - array

Stores data in an array stored as session variable.

Stores data in an array stored as session variable.

Inline definition
Use format toVar[maxSize].
PropertyTypeDescription
formatenumFormat into which should this processor convert the buffers before storing. Default is STRING.
Options:
  • BYTEBUFStore the buffer directly. Beware that this may cause memory leaks!
  • BYTESStore data as byte array.
  • STRINGInterprets the bytes as UTF-8 string.
maxSizeintMaximum size of the array.
silentbooleanDo not log warnings when the maximum size is exceeded.
toVarStringVariable name.

2.5 - clearHttpCache

Drops all entries from HTTP cache in the session.

Drops all entries from HTTP cache in the session.

2.6 - closeConnection

Prevents reuse connection after the response has been handled.

Prevents reuse connection after the response has been handled.

2.7 - collection

Collects results of processor invocation into a unbounded list.

Collects results of processor invocation into a unbounded list.
WARNING: This processor should be used rarely as it allocates memory during the benchmark.

Inline definition
Variable name to store the list.
PropertyTypeDescription
formatenumFormat into which should this processor convert the buffers before storing. Default is STRING.
Options:
  • BYTEBUFStore the buffer directly. Beware that this may cause memory leaks!
  • BYTESStore data as byte array.
  • STRINGInterprets the bytes as UTF-8 string.
toVarStringVariable name.

2.8 - conditional

Passes the data to nested processor if the condition holds.

Passes the data to nested processor if the condition holds.
Note that the condition may be evaluated multiple times and therefore any nested processors should not change the results of the condition.

PropertyTypeDescription
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
intConditionBuilderCondition comparing integer variables.
processorProcessor.BuilderOne or more processors that should be invoked if the condition holds.
stringConditionBuilderCondition comparing string variables.

allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

allConditions.<list of mappings>

Selector for condition type.

PropertyTypeDescription
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
intConditionBuilderCondition comparing integer variables.
stringConditionBuilderCondition comparing string variables.

allConditions.<list of mappings>.allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

allConditions.<list of mappings>.boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

allConditions.<list of mappings>.intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

allConditions.<list of mappings>.stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

intCondition.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

stringCondition.length

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

stringCondition.length.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

2.9 - count

Records number of parts this processor is invoked on.

Records number of parts this processor is invoked on.

Inline definition
Name of variable for the number of occurrences.
PropertyTypeDescription
toVarStringVariable where to store number of occurrences.

2.10 - fail

Fail the phase with given message. Used mostly for testing/debugging.

Fail the phase with given message. Used mostly for testing/debugging.

Inline definition
Message to fail with (unconditionally).
PropertyTypeDescription
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
intConditionBuilderCondition comparing integer variables.
messageStringMessage attached to the failure exception.
stringConditionBuilderCondition comparing string variables.

allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

allConditions.<list of mappings>

Selector for condition type.

PropertyTypeDescription
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
intConditionBuilderCondition comparing integer variables.
stringConditionBuilderCondition comparing string variables.

allConditions.<list of mappings>.allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

allConditions.<list of mappings>.boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

allConditions.<list of mappings>.intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

allConditions.<list of mappings>.stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

intCondition.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

stringCondition.length

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

stringCondition.length.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

2.11 - getIndex

Lookup index of an item in an array/collection.

Lookup index of an item in an array/collection.

PropertyTypeDescription
collectionStringVariable to fetch the collection from.
itemBuilderItem that should be looked up (using equality).
toVarStringInteger variable to store the index, or -1 if the item is not found.

item

Inline definition
Verbatim value.
PropertyTypeDescription
fromVarStringFetch value from session variable.
valueStringVerbatim value.

2.12 - getItem

Retrieves n-th item from an array or collection.

Retrieves n-th item from an array or collection.

PropertyTypeDescription
fromVarStringSource variable with an array or list.
indexBuilderSource for index into the array/list.
toVarStringDestination variable for the n-th element.

index

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

2.13 - getSharedCounter

Retrieves value from a counter shared by all sessions in the same executor and stores that in a session variable.

Retrieves value from a counter shared by all sessions in the same executor and stores that in a session variable.
If the value exceeds allowed integer range (-2^31 .. 2^31 - 1) it is capped.

Inline definition
Both the key and variable name.
PropertyTypeDescription
keyStringIdentifier for the counter.
toVarStringSession variable for storing the value.

2.14 - getSize

Calculates size of an array/collection held in variable into another variable

Calculates size of an array/collection held in variable into another variable

PropertyTypeDescription
boolFilterBuilderCount only items matching the condition.
fromVarStringVariable holding the collection.
intFilterBuilderCount only items matching the condition.
stringFilterBuilderCount only items matching the condition.
toVarStringVariable storing the size.
undefinedValueintValue to use when fromVar is unset or it does not contain any array/collection.

boolFilter

PropertyTypeDescription
valuebooleanExpected value.

intFilter

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

intFilter.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

stringFilter.length

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

stringFilter.length.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

2.15 - gzipInflator

Decompresses a GZIP data and pipes the output to delegated processors.

Decompresses a GZIP data and pipes the output to delegated processors.
If the data contains multiple concatenated GZIP streams it will pipe multiple decompressed objects with isLastPart set to true at the end of each stream.

PropertyTypeDescription
encodingVarObjectVariable used to pass header value from header handlers.
processorProcessor.BuilderAdd one or more processors.

2.16 - json

Parses JSON responses using simple queries.

Parses JSON responses using simple queries.

PropertyTypeDescription
deletebooleanIf this is set to true, the selected key will be deleted from the JSON and the modified JSON will be passed to the processor.
formatenumConversion to apply on the matching parts with ’toVar’ or ’toArray’ shortcuts.
Options:
  • BYTEBUFStore the buffer directly. Beware that this may cause memory leaks!
  • BYTESStore data as byte array.
  • STRINGInterprets the bytes as UTF-8 string.
processorProcessor.BuilderAdd one or more processors.
processor (alternative)Processor.BuilderIf neither delete or replace was set this processor will be called with the selected parts. In the other case the processor will be called with chunks of full (modified) JSON.

Note that the processor.before() and processor.after() methods are called only once for each request, not for the individual filtered items.

queryStringQuery selecting the part of JSON.
replaceTransformer.BuilderCustom transformation executed on the value of the selected item. Note that the output value must contain quotes (if applicable) and be correctly escaped.
replace (alternative)StringReplace value of selected item with value generated through a pattern. Note that the result must contain quotes and be correctly escaped.
toArrayStringShortcut to store selected parts in an array in the session. Must follow the pattern variable[maxSize]
toVarStringShortcut to store first match in given variable. Further matches are ignored.
unquotebooleanAutomatically unquote and unescape the input values. By default true.

replace

Custom transformation executed on the value of the selected item. Note that the output value must contain quotes (if applicable) and be correctly escaped.

PropertyTypeDescription
actionsActionsTransformer.BuilderThis transformer stores the (defragmented) input into a variable, using requested format. After that it executes all the actions and fetches transformed value using the pattern.
patternPattern.TransformerBuilderUse pattern replacing session variables.

replace.actions

This transformer stores the (defragmented) input into a variable, using requested format. After that it executes all the actions and fetches transformed value using the pattern.

PropertyTypeDescription
actionsAction.BuilderActions to be executed.
formatenumFormat into which should this transformer convert the buffers before storing. Default is STRING.
Options:
  • BYTEBUFStore the buffer directly. Beware that this may cause memory leaks!
  • BYTESStore data as byte array.
  • STRINGInterprets the bytes as UTF-8 string.
patternStringPattern to use when fetching the transformed value.
varStringVariable used as the intermediate storage for the data.

replace.pattern

Use pattern replacing session variables.

Inline definition
The pattern formatting string.
PropertyTypeDescription
patternStringUse pattern replacing session variables.

2.17 - log

Log a message and variable values.

Log a message and variable values.

Inline definition
A pattern for string interpolation.
PropertyTypeDescription
messageStringMessage format pattern. Use string interpolation for variables.

2.18 - logInvalid

Logs body chunks from requests marked as invalid.

Logs body chunks from requests marked as invalid.

2.19 - markRequestInvalid

Unconditionally mark currently processed request as invalid.

Unconditionally mark currently processed request as invalid.

2.20 - newSequence

Instantiates a sequence for each invocation.

Instantiates a sequence for each invocation.

Inline definition
Sequence name.
PropertyTypeDescription
concurrencyPolicyenum
Options:
  • FAIL
  • WARN
forceSameIndexbooleanForces that the sequence will have the same index as the currently executing sequence. This can be useful if the sequence is passing some data to the new sequence using sequence-scoped variables. Note that the new sequence must have same concurrency factor as the currently executing sequence.
sequenceStringName of the instantiated sequence.

2.21 - parseHtml

Parses HTML tags and invokes handlers based on criteria.

Parses HTML tags and invokes handlers based on criteria.

PropertyTypeDescription
onEmbeddedResourceBuilderHandler firing upon reference to other resource, e.g. image, stylesheet…
onTagAttributeBuilder<no description>

onEmbeddedResource

Handles <img src="…">, <link href="…">, <embed src="…">, <frame src="…">, <iframe src="…">, <object data="…"> and <script src="…">.

Does not handle <source src="…"> or <track src="…"> because browser would choose only one of the options.

PropertyTypeDescription
fetchResourceBuilderAutomatically download referenced resource.
ignoreExternalbooleanIgnore resources hosted on servers that are not covered in the http section.
processorProcessor.BuilderAdd one or more processors.
processor (alternative)Processor.BuilderCustom processor invoked pointing to attribute data - e.g. in case of <img> tag the processor gets contents of the src attribute.

onEmbeddedResource.fetchResource

Automates download of embedded resources.

PropertyTypeDescription
concurrencyintMaximum number of resources fetched concurrently. Default is 8.
maxResourcesintMaximum number of resources that can be fetched.
metric<list of strings>Metrics selector for downloaded resources.
onCompletionAction.BuilderAction performed when the download of all resources completes.

onEmbeddedResource.fetchResource.metric

Metrics selector for downloaded resources.

PropertyTypeDescription
<list of strings><list of strings>Allows categorizing request statistics into metrics based on the request path. The expressions are evaluated in the order as provided in the list. Use one of:
  • regexp -> replacement, e.g. ([^?])(?.)? -> $1 to drop the query part.
  • regexp (don’t do any replaces and use the full path), e.g. .*.jpg
  • -> name (metric applied if none of the previous expressions match).

onTagAttribute

PropertyTypeDescription
attributeStringName of the attribute in this element you want to process, e.g. action
formatenumConversion to apply on the matching parts with ’toVar’ or ’toArray’ shortcuts.
Options:
  • BYTEBUFStore the buffer directly. Beware that this may cause memory leaks!
  • BYTESStore data as byte array.
  • STRINGInterprets the bytes as UTF-8 string.
processorProcessor.BuilderAdd one or more processors.
tagStringName of the tag this handler should look for, e.g. form
toArrayStringShortcut to store selected parts in an array in the session. Must follow the pattern variable[maxSize]
toVarStringShortcut to store first match in given variable. Further matches are ignored.

2.22 - publishAgentData

Makes the data available to all sessions in the same agent, including those using different executors.

Makes the data available to all sessions in the same agent, including those using different executors.

Inline definition
Both name of source variable and the key used to read the data.
PropertyTypeDescription
fromVarStringSource session variable name.
nameStringArbitrary unique identifier for the data.

2.23 - publishGlobalCounters

Gathers values from session variables and publishes them globally (to all agents).

Gathers values from session variables and publishes them globally (to all agents).
You can name the counters individually (example 1) or use the variable names (example 2):

# Example 1:
- publishGlobalCounters:
    key: myKey
    vars: [ foo, bar ]
# Example 2:
- publishGlobalCounters:
    key: someOtherKey
    vars:
    - foo: myFoo
    - bar: bbb
</code>```


| Property | Type | Description |
| ------- | ------- | -------- |
| key | String | Identifier of the global record. |
| vars | [Builder](#vars) | List of names and session variables. |

### vars

| Property | Type | Description |
| ------- | ------- | ------- |
| &lt;any&gt; | &lt;unknown&gt; | <font color="#606060">&lt;no description&gt;</font> |
| &lt;list of strings&gt; | &lt;unknown&gt; | <font color="#606060">&lt;no description&gt;</font> |

2.24 - queue

Stores defragmented data in a queue.

Stores defragmented data in a queue.
For each item in the queue a new sequence instance will be started (subject the concurrency constraints) with sequence index that allows it to read an object from an array using sequence-scoped access.

PropertyTypeDescription
concurrencyintMaximum number of started sequences that can be running at one moment.
formatenumConversion format from byte buffers. Default format is STRING.
Options:
  • BYTEBUFStore the buffer directly. Beware that this may cause memory leaks!
  • BYTESStore data as byte array.
  • STRINGInterprets the bytes as UTF-8 string.
maxSizeintMaximum number of elements that can be stored in the queue.
onCompletionAction.BuilderCustom action that should be performed when the last consuming sequence reports that it has processed the last element from the queue. Note that the sequence is NOT automatically augmented to report completion.
sequenceStringName of the started sequence.
varStringVariable storing the array that it used as a output object from the queue.

2.25 - readAgentData

Reads data from agent-wide scope into session variable.

Reads data from agent-wide scope into session variable.
The data must be published in a phase that has terminated before this phase starts: usually this is achieved using the startAfterStrict property on the phase.

Inline definition
Both the identifier and destination session variable.
PropertyTypeDescription
nameStringUnique identifier for the data.
toVarStringDestination session variable name.

2.26 - removeItem

Removes element from an array of variables.

Removes element from an array of variables.

PropertyTypeDescription
fromVarStringVariable containing an existing array of object variables.
indexBuilderSet index at which the item should be removed. Elements to the right of this are moved to the left.

index

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

2.27 - restartSequence

Schedules a restart of this sequence.

Schedules a restart of this sequence.

2.28 - set

Set variable in session to certain value.

Set variable in session to certain value.

Inline definition
Use var <- value.
PropertyTypeDescription
intArrayBuilderSet variable to an (unset) integer array.
objectArrayBuilderSet variable to an (unset) object array.
valueStringString value.
varStringVariable name.

intArray

Creates integer arrays to be stored in the session.

PropertyTypeDescription
fromVarStringContents of the new array. If the variable contains an array or a list, items will be copied to the elements with the same index up to the size of this array. If the variable contains a different value all elements will be initialized to this value.
sizeintSize of the array.

objectArray

Creates object arrays to be stored in the session.

PropertyTypeDescription
fromVarStringContents of the new array. If the variable contains an array or a list, items will be copied to the elements with the same index up to the size of this array. If the variable contains a different value all elements will be initialized to this value.
sizeintSize of the array.

2.29 - setInt

Set session variable to an integral value.

Set session variable to an integral value.

Inline definition
Use var <- value.
PropertyTypeDescription
fromVarStringInput variable name.
intConditionBuilderSet variable only if the current value satisfies certain condition.
maxBuilderSet to value that is the maximum of this list of values.
minBuilderSet to value that is the minimum of this list of values.
onlyIfNotSetbooleanSet variable to the value only if it is not already set.
valueintValue (integer).
varStringVariable name.

intCondition

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

intCondition.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

max

PropertyTypeDescription
<list of mappings><list of builders><no description>

max.<list of mappings>

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

min

PropertyTypeDescription
<list of mappings><list of builders><no description>

2.30 - setItem

Set element in a collection on given position.

Set element in a collection on given position.

PropertyTypeDescription
fromVarStringFetch value from session variable.
indexBuilderInteger session variable with an index into the collection.
toVarStringSession variable with the collection.
valueStringVerbatim value.

index

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

2.31 - setSharedCounter

Sets value in a counter shared by all sessions in the same executor.

Sets value in a counter shared by all sessions in the same executor.

Inline definition
Both the name of the counter and variable name.
PropertyTypeDescription
fromVarStringInput variable name.
keyStringIdentifier for the counter.
valueintValue (integer).

2.32 - store

Stores data in a session variable (overwriting on multiple occurences).

Stores data in a session variable (overwriting on multiple occurences).

Inline definition
Variable name.
PropertyTypeDescription
formatenumFormat into which should this processor convert the buffers before storing. Default is STRING.
Options:
  • BYTEBUFStore the buffer directly. Beware that this may cause memory leaks!
  • BYTESStore data as byte array.
  • STRINGInterprets the bytes as UTF-8 string.
toVarObjectVariable name.

2.33 - storeInt

Converts buffers into integral value and stores it in a variable.

Converts buffers into integral value and stores it in a variable.

Inline definition
Name of integer variable where to store the value.
PropertyTypeDescription
overridebooleanAllow the value to be set multiple times (last write wins). Defaults to false.
toVarStringName of variable where to store the integral value.

2.34 - stringToInt

Parse string into integer and store it in a variable.

Parse string into integer and store it in a variable.

If the parsing fails the target variable is not modified.

Inline definition
Use fromVar -&gt; toVar
PropertyTypeDescription
fromVarStringSource variable name.
toVarStringTarget variable name.

2.35 - unset

Undefine variable name.

Undefine variable name.

Inline definition
Variable name.
PropertyTypeDescription
varObjectVariable name.

3 - Actions

Actions are non-blocking handlers for various events.

3.1 - addItem

Appends value to an array stored in another variable.

Appends value to an array stored in another variable.

PropertyTypeDescription
fromVarStringFetch value from session variable.
toVarStringDestination variable with the array.
valueStringVerbatim value.

3.2 - addToInt

Add value to integer variable in the session.

Add value to integer variable in the session.

Inline definition
Accepting one of: var++, var–, var += value, var -= value.
PropertyTypeDescription
orElseSetTointIf the variable is currently not set, set it to this value instead of addition.
valueintValue added (can be negative).
varStringVariable name.

3.3 - addToSharedCounter

Adds value to a counter shared by all sessions in the same executor.

Adds value to a counter shared by all sessions in the same executor.

Inline definition
Use on of: counter++, counter–, counter += <value>,
counter -= <value>
PropertyTypeDescription
fromVarStringInput variable name.
keyStringIdentifier for the counter.
operatorenumOperation to perform on the counter. Default is ADD.
Options:
  • ADD
  • SUBTRACT
valueintValue (integer).

3.4 - clearHttpCache

Drops all entries from HTTP cache in the session.

Drops all entries from HTTP cache in the session.

3.5 - conditional

Perform an action or sequence of actions conditionally.

Perform an action or sequence of actions conditionally.

PropertyTypeDescription
actionsAction.BuilderActions that should be executed should the condition hold.
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
intConditionBuilderCondition comparing integer variables.
stringConditionBuilderCondition comparing string variables.

allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

allConditions.<list of mappings>

Selector for condition type.

PropertyTypeDescription
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
intConditionBuilderCondition comparing integer variables.
stringConditionBuilderCondition comparing string variables.

allConditions.<list of mappings>.allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

allConditions.<list of mappings>.boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

allConditions.<list of mappings>.intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

allConditions.<list of mappings>.stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

intCondition.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

stringCondition.length

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

stringCondition.length.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

3.6 - fail

Fail the phase with given message. Used mostly for testing/debugging.

Fail the phase with given message. Used mostly for testing/debugging.

Inline definition
Message to fail with (unconditionally).
PropertyTypeDescription
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
intConditionBuilderCondition comparing integer variables.
messageStringMessage attached to the failure exception.
stringConditionBuilderCondition comparing string variables.

allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

allConditions.<list of mappings>

Selector for condition type.

PropertyTypeDescription
allConditionsBuilderCondition combining multiple other conditions with ‘AND’ logic.
boolConditionBuilderCondition comparing boolean variables.
intConditionBuilderCondition comparing integer variables.
stringConditionBuilderCondition comparing string variables.

allConditions.<list of mappings>.allConditions

Test more conditions and combine the results using AND logic.

PropertyTypeDescription
<list of mappings><list of builders>List of conditions.

allConditions.<list of mappings>.boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

allConditions.<list of mappings>.intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

allConditions.<list of mappings>.stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

boolCondition

Tests session variable containing boolean value.

PropertyTypeDescription
fromVarStringVariable name.
valuebooleanExpected value.

intCondition

Condition comparing integer in session variable.

Inline definition
Parses condition in the form <variable> <operator> <value>
where operator is one of: ==, !=,
<> (the same as !=),
>=, >, <=, <.
PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
fromVarObjectVariable name.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

intCondition.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition

Condition comparing string in session variable.

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
fromVarObjectVariable name.
isSetbooleanCheck if the value is set or unset. By default the variable must be set.
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

stringCondition.length

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

stringCondition.length.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringCondition.length.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

3.7 - getIndex

Lookup index of an item in an array/collection.

Lookup index of an item in an array/collection.

PropertyTypeDescription
collectionStringVariable to fetch the collection from.
itemBuilderItem that should be looked up (using equality).
toVarStringInteger variable to store the index, or -1 if the item is not found.

item

Inline definition
Verbatim value.
PropertyTypeDescription
fromVarStringFetch value from session variable.
valueStringVerbatim value.

3.8 - getItem

Retrieves n-th item from an array or collection.

Retrieves n-th item from an array or collection.

PropertyTypeDescription
fromVarStringSource variable with an array or list.
indexBuilderSource for index into the array/list.
toVarStringDestination variable for the n-th element.

index

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

3.9 - getSharedCounter

Retrieves value from a counter shared by all sessions in the same executor and stores that in a session variable.

Retrieves value from a counter shared by all sessions in the same executor and stores that in a session variable.
If the value exceeds allowed integer range (-2^31 .. 2^31 - 1) it is capped.

Inline definition
Both the key and variable name.
PropertyTypeDescription
keyStringIdentifier for the counter.
toVarStringSession variable for storing the value.

3.10 - getSize

Calculates size of an array/collection held in variable into another variable

Calculates size of an array/collection held in variable into another variable

PropertyTypeDescription
boolFilterBuilderCount only items matching the condition.
fromVarStringVariable holding the collection.
intFilterBuilderCount only items matching the condition.
stringFilterBuilderCount only items matching the condition.
toVarStringVariable storing the size.
undefinedValueintValue to use when fromVar is unset or it does not contain any array/collection.

boolFilter

PropertyTypeDescription
valuebooleanExpected value.

intFilter

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

intFilter.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intFilter.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter

PropertyTypeDescription
caseSensitivebooleanTrue if the case must match, false if the check is case-insensitive.
endsWithCharSequenceSuffix for the string.
equalToCharSequenceLiteral value the string should match (the same as {@link #value}).
lengthintCheck the length of the string.
length (alternative)BuilderCheck the length of the string.
matchVarStringFetch the value from a variable.
negatebooleanInvert the logic of this condition. Defaults to false.
notEqualToCharSequenceValue that the string must not match.
startsWithCharSequencePrefix for the string.
valueCharSequenceLiteral value the string should match.

stringFilter.length

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

stringFilter.length.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

stringFilter.length.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

3.11 - log

Log a message and variable values.

Log a message and variable values.

Inline definition
A pattern for string interpolation.
PropertyTypeDescription
messageStringMessage format pattern. Use string interpolation for variables.

3.12 - markRequestInvalid

Unconditionally mark currently processed request as invalid.

Unconditionally mark currently processed request as invalid.

3.13 - newSequence

Instantiates a sequence for each invocation.

Instantiates a sequence for each invocation.

Inline definition
Sequence name.
PropertyTypeDescription
concurrencyPolicyenum
Options:
  • FAIL
  • WARN
forceSameIndexbooleanForces that the sequence will have the same index as the currently executing sequence. This can be useful if the sequence is passing some data to the new sequence using sequence-scoped variables. Note that the new sequence must have same concurrency factor as the currently executing sequence.
sequenceStringName of the instantiated sequence.

3.14 - publishAgentData

Makes the data available to all sessions in the same agent, including those using different executors.

Makes the data available to all sessions in the same agent, including those using different executors.

Inline definition
Both name of source variable and the key used to read the data.
PropertyTypeDescription
fromVarStringSource session variable name.
nameStringArbitrary unique identifier for the data.

3.15 - publishGlobalCounters

Gathers values from session variables and publishes them globally (to all agents).

Gathers values from session variables and publishes them globally (to all agents).
You can name the counters individually (example 1) or use the variable names (example 2):

# Example 1:
- publishGlobalCounters:
    key: myKey
    vars: [ foo, bar ]
# Example 2:
- publishGlobalCounters:
    key: someOtherKey
    vars:
    - foo: myFoo
    - bar: bbb
</code>```


| Property | Type | Description |
| ------- | ------- | -------- |
| key | String | Identifier of the global record. |
| vars | [Builder](#vars) | List of names and session variables. |

### vars

| Property | Type | Description |
| ------- | ------- | ------- |
| &lt;any&gt; | &lt;unknown&gt; | <font color="#606060">&lt;no description&gt;</font> |
| &lt;list of strings&gt; | &lt;unknown&gt; | <font color="#606060">&lt;no description&gt;</font> |

3.16 - readAgentData

Reads data from agent-wide scope into session variable.

Reads data from agent-wide scope into session variable.
The data must be published in a phase that has terminated before this phase starts: usually this is achieved using the startAfterStrict property on the phase.

Inline definition
Both the identifier and destination session variable.
PropertyTypeDescription
nameStringUnique identifier for the data.
toVarStringDestination session variable name.

3.17 - removeItem

Removes element from an array of variables.

Removes element from an array of variables.

PropertyTypeDescription
fromVarStringVariable containing an existing array of object variables.
indexBuilderSet index at which the item should be removed. Elements to the right of this are moved to the left.

index

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

3.18 - restartSequence

Schedules a restart of this sequence.

Schedules a restart of this sequence.

3.19 - set

Set variable in session to certain value.

Set variable in session to certain value.

Inline definition
Use var <- value.
PropertyTypeDescription
intArrayBuilderSet variable to an (unset) integer array.
objectArrayBuilderSet variable to an (unset) object array.
valueStringString value.
varStringVariable name.

intArray

Creates integer arrays to be stored in the session.

PropertyTypeDescription
fromVarStringContents of the new array. If the variable contains an array or a list, items will be copied to the elements with the same index up to the size of this array. If the variable contains a different value all elements will be initialized to this value.
sizeintSize of the array.

objectArray

Creates object arrays to be stored in the session.

PropertyTypeDescription
fromVarStringContents of the new array. If the variable contains an array or a list, items will be copied to the elements with the same index up to the size of this array. If the variable contains a different value all elements will be initialized to this value.
sizeintSize of the array.

3.20 - setInt

Set session variable to an integral value.

Set session variable to an integral value.

Inline definition
Use var <- value.
PropertyTypeDescription
fromVarStringInput variable name.
intConditionBuilderSet variable only if the current value satisfies certain condition.
maxBuilderSet to value that is the maximum of this list of values.
minBuilderSet to value that is the minimum of this list of values.
onlyIfNotSetbooleanSet variable to the value only if it is not already set.
valueintValue (integer).
varStringVariable name.

intCondition

PropertyTypeDescription
equalToBuilderCompared variable must be equal to this value.
greaterOrEqualToBuilderCompared variable must be greater or equal to this value.
greaterThanBuilderCompared variable must be greater than this value.
lessOrEqualToBuilderCompared variable must be lower or equal to this value.
lessThanBuilderCompared variable must be lower than this value.
notEqualToBuilderCompared variable must not be equal to this value.

intCondition.equalTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.greaterThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessOrEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.lessThan

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

intCondition.notEqualTo

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

max

PropertyTypeDescription
<list of mappings><list of builders><no description>

max.<list of mappings>

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

min

PropertyTypeDescription
<list of mappings><list of builders><no description>

3.21 - setItem

Set element in a collection on given position.

Set element in a collection on given position.

PropertyTypeDescription
fromVarStringFetch value from session variable.
indexBuilderInteger session variable with an index into the collection.
toVarStringSession variable with the collection.
valueStringVerbatim value.

index

Inline definition
Uses the argument as a constant value.
PropertyTypeDescription
fromVarStringInput variable name.
valueintValue (integer).

3.22 - setSharedCounter

Sets value in a counter shared by all sessions in the same executor.

Sets value in a counter shared by all sessions in the same executor.

Inline definition
Both the name of the counter and variable name.
PropertyTypeDescription
fromVarStringInput variable name.
keyStringIdentifier for the counter.
valueintValue (integer).

3.23 - stringToInt

Parse string into integer and store it in a variable.

Parse string into integer and store it in a variable.

If the parsing fails the target variable is not modified.

Inline definition
Use fromVar -&gt; toVar
PropertyTypeDescription
fromVarStringSource variable name.
toVarStringTarget variable name.

3.24 - unset

Undefine variable name.

Undefine variable name.

Inline definition
Variable name.
PropertyTypeDescription
varObjectVariable name.