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.
List of currently implemented processors:
- addItem: Appends value to an array stored in another variable.
- addToInt: Add value to integer variable in the session.
- addToSharedCounter: Adds value to a counter shared by all sessions in the same executor.
- array: Stores data in an array stored as session variable.
- clearHttpCache: Drops all entries from HTTP cache in the session.
- closeConnection: Prevents reuse connection after the response has been handled.
- collection: Collects results of processor invocation into a unbounded list.
- conditional: Passes the data to nested processor if the condition holds.
- count: Records number of parts this processor is invoked on.
- fail: Fail the phase with given message. Used mostly for testing/debugging.
- getIndex: Lookup index of an item in an array/collection.
- getItem: Retrieves n-th item from an array or collection.
- getSharedCounter: Retrieves value from a counter shared by all sessions in the same executor and stores that in a session variable.
- getSize: Calculates size of an array/collection held in variable into another variable
- gzipInflator: Decompresses a GZIP data and pipes the output to delegated processors.
- json: Parses JSON responses using simple queries.
- log: Log a message and variable values.
- logInvalid: Logs body chunks from requests marked as invalid.
- markRequestInvalid: Unconditionally mark currently processed request as invalid.
- newSequence: Instantiates a sequence for each invocation.
- parseHtml: Parses HTML tags and invokes handlers based on criteria.
- publishAgentData: Makes the data available to all sessions in the same agent, including those using different executors.
- publishGlobalCounters: Gathers values from session variables and publishes them globally (to all agents).
- queue: Stores defragmented data in a queue.
- readAgentData: Reads data from agent-wide scope into session variable.
- removeItem: Removes element from an array of variables.
- restartSequence: Schedules a restart of this sequence.
- set: Set variable in session to certain value.
- setInt: Set session variable to an integral value.
- setItem: Set element in a collection on given position.
- setSharedCounter: Sets value in a counter shared by all sessions in the same executor.
- store: Stores data in a session variable (overwriting on multiple occurences).
- storeInt: Converts buffers into integral value and stores it in a variable.
- stringToInt: Parse string into integer and store it in a variable.
- unset: Undefine variable name.