View Source Chaperon (chaperon v0.3.1)
Chaperon is a HTTP service load & performance testing tool.
Link to this section Summary
Functions
Connect the current node to a Chaperon cluster without taking on any work (not running any load test Session tasks).
Runs a given load_test module's scenarios concurrently, outputting metrics at the end.
Callback implementation for Application.start/2
.
Link to this section Functions
Connect the current node to a Chaperon cluster without taking on any work (not running any load test Session tasks).
Useful if you want to connect to a running cluster for inspecting running load tests and kicking off new ones without performing any load testing work on the connecting node.
Runs a given load_test module's scenarios concurrently, outputting metrics at the end.
lt_mod
LoadTest module to be executedoptions
List of options to be used. Valid values are::print_results
If set totrue
, will print all action results.:export
Can be set to any module implementing theChaperon.Exporter
behaviour. Defaults toChaperon.Export.CSV
. When usingChaperon.Export.S3
it defaults to the CSV export format. You can use another export format by wrapping it in a tuple, like so:{Chaperon.Export.S3, Chaperon.Export.JSON}
:output
Can be set to a file path:tag
Can be set to be used when using the default export filename. Allows adding a custom 'tag' string as a prefix to the generated result output filename.:metrics
Filtering options for metrics Valid filters:- (metric) -> boolean - [metric_type]
example
Example
alias Chaperon.Export.JSON
# Prints results & outputs metrics in CSV (default) format at the end
Chaperon.run_load_test MyLoadTest, print_results: true
# Doesn't print results & outputs metrics in JSON format at the end
Chaperon.run_load_test MyLoadTest, export: JSON
# Outputs metrics in CSV format to metrics.csv file
Chaperon.run_load_test MyLoadTest, output: "metrics.csv"
# Outputs metrics in JSON format to metrics.json file
Chaperon.run_load_test MyLoadTest, export: JSON, output: "metrics.json"
# Outputs metrics in CCSV format to "results/<date>/MyLoadTest/master-<timestamp>.csv"
Chaperon.run_load_test MyLoadTest, tag: "master"
# Outputs metrics in JSON format to "results/<date>/MyLoadTest/master-<timestamp>.json"
Chaperon.run_load_test MyLoadTest, export: JSON, tag: "master"
# Tracks only calls in MyScenario (can take any function that returns `true` or `false`)
Chaperon.run_load_test MyLoadTest, tag: "master", metrics: fn
{:call, {MyScenario, _}} ->
true
_ ->
false
end
# You can also just pass a list of metric types/names:
Chaperon.run_load_test MyLoadTest metrics: [
:run_scenario,
:call,
:post,
:my_custom_metric
]
Callback implementation for Application.start/2
.