chaperon v0.2.3 API Reference
Modules
Chaperon is a HTTP service load & performance testing tool
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
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