Please use the official artillery-plugin-publish-metrics
plugin.
This Artillery plugin allows you to publish the stats produced by Artillery CLI to StatsD in real-time.
npm install -g artillery-plugin-statsd
- if you've installed Artillery globally
npm install artillery-plugin-statsd
otherwise.
Enable the plugin by adding it in your test script's config.plugins
section:
{
"config": {
// ...
"plugins": {
"statsd": {
"host": "localhost",
"port": 8125,
"prefix": "artillery"
}
}
}
// ...
}
host
, port
, and prefix
are optional; the values above are the defaults.
By default, all stats from artillery are reported. This includes any custom stats you may have in place. As of artillery@1.5.0-17
, the metrics you can expect to see are as follows.
scenariosCreated
scenariosCompleted
requestsCompleted
latency.min
latency.max
latency.median
latency.p95
latency.p99
rps.count
rps.mean
scenarioDuration.min
scenarioDuration.max
scenarioDuration.median
scenarioDuration.p95
scenarioDuration.p99
scenarioCounts.0
,scenarioCounts.0
etccodes.200
,codes.301
etcerrors.ECONNREFUSED
,errors.ETIMEDOUT
etcmatches
concurrency
pendingRequests
Metrics will be added or removed based on what artillery decides to send.
If a metric is null or cannot be resolved to a number, the default value of 0
is sent. You can change the default value in the configuration by passing in the property default
. Example:
"default": 100000
- Metrics are sent with gauges so avoid negative numbers.
Metrics can be skipped by passing in an additional configuration property skipList
. Skip list values can look like the following:
"skipList": "scenarioDuration"
- would skip allscenarioDuration
metrics"skipList": "latency.max"
- would skip only thelatency.max
metric"skipList": "scenarioDuration, latency.max"
- a comma separated list can be used to pass in multiple values.
This plugin can be used to publish metrics to Librato:
- Install StatsD with:
npm install statsd
- Add Librato backend to StatsD:
cd /path/to/statsd
npm install statsd-librato-backend
Enable the backend in your StatsD config:
{
librato: {
email: "mylibrato@email.com",
token: "a161e2bc22b1bdd0cfe90412token10498token22dd52cat792doge1ab5a1d32"
},
backends: ['statsd-librato-backend']
}
- Run StatsD and use Artillery with this plugin.
artillery-plugin-statsd is distributed under the terms of the ISC license.