chaperon v0.3.1 API Reference
Modules
Chaperon is a HTTP service load & performance testing tool.
HTTP API handler used for remote control of chaperon cluster. Allows scheduling new load tests, aborting currently running or scheduled ones as well as listing all currently running and scheduled load tests.
HTTP API option parser behaviour that can be implemented to customize, extend
and modify any incoming web request options to be used when scheduling new
load tests.
Is expected to return a load test configuration to be run and used by
Chaperon.Master.schedule_load_test/1
.
Default option parser that uses the given test
and options
values to be used
as the load test module to run with the given runtime options.
Helper functions to be used with Chaperon.Actionable
.
Implementation module for asynchronous actions (function calls into a
Chaperon.Scenario
module).
Performs & measures a function call (with args) within a session's
Chaperon.Scenario
module.
HTTP based actions to be run in a Chaperon.Scenario
module for a given
Chaperon.Session
.
Action that executes a given Chaperon.Actionable
repeatedly for a given
duration
.
Action that runs a Chaperon.Scenario
module from the current session.
Action that calls a function with a given rate
over a given interval
of
time (ms).
Helper functions for creating WebSocket actions.
Implements Chaperon's WebSocket client (behavior of WebSockex WS library).
WebSocket client process state.
WebSocket connection action that can be run to close the WebSocket connection
with the given options
.
WebSocket connection action that needs to be run in order for a
Chaperon.Session
to be successfully connected to a web server via WebSocket.
WebSocket action to receive message in a WebSocket-connected session.
WebSocket action to send a message in a WebSocket-connected session.
Includes an optional list of options
to be sent along to Socket.Web.send/3
.
Protocol implemented by all valid measurable actions that can be performed
in a Chaperon.Session
. All Actions implementing this protocol are found
within the Chaperon.Action
module.
CSV metrics export module.
InfluxDB metric export module.
JSON metrics export module.
CSV metrics export module.
Metrics exporter behaviour.
Implemented by all built-in exporter modules (see Chaperon.Export.*
)
Implementation & helper module for defining load tests. A load test defines a list of scenarios and their config to run them with.
LoadTest results struct.
Master process for running load tests. Initiates running a load test and awaits
results from a run. Needs to be started before used.
The Chaperon.Master process is started only once per cluster and registered
globally as Chaperon.Master
.
Supervisor for the globally registered Chaperon.Master
load test runner process.
Helper module to be used by scenario definition modules.
This module calculates histogram data for a session's metrics.
It uses the Histogrex
library to calculate the histograms.
Implements Chaperon.Scenario
and runs a configured list of scenarios
in sequence, passing along any session assignments as config values to the
next scenario in the list. Makes it easy to define a new scenario as a
pipeline of a list of existing scenarios.
Defines a Session struct and corresponding helper functions that are used
within Chaperon.Scenario
definitions.
Most of Chaperon's logic is centered around these sessions.
Chaperon.Session log helper macros.
Root supervisor for all Chaperon processes & supervisors.
Timing related helper functions and type definitions used within Chaperon
.
Helper functions used throughout Chaperon
's codebase.
Wraps supervised Task
s running Chaperon.Scenario
sessions that run on any
of the nodes in the cluster.
Chaperon worker process supervisor.
Each Chaperon.Scenario
is executed with a Chaperon.Session
inside a
Chaperon.Worker
Task
process supervised by this supervisor.
Exceptions
Module for errors related to any Chaperon.Actionable
.