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 Tasks 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