Plugin for Artillery.IO that records response data into InfluxDB.
To use:
-
npm install -g artillery
-
npm install artillery-plugin-influxdb
-
Add
influxdb
Plugin config to your "hello.json
" Artillery script{ "config": { "plugins": { "influxdb": { "testName": "my_load_test_case", "measurementName": "Latency", "errorMeasurementName": "ClientSideErrors", "testRunId": "342-233-221", "tags": { "environment": "joes-dev-box", "host": "joe-dev.somewhere.org" }, "influx": { "host": "my.influx.server.com", "username": "joe_developer", "password": "1t`sA$3cr3t", "database": "load_test_results" } } } } }
-
artillery run hello.json
This will cause every latency to be published to the given InfluxDB instance.
Property | Required | Default | Meaning |
---|---|---|---|
testName |
yes | none | Name of the test being performed. |
measurementName |
no | latency | Measurement name used when writing latency to DynamoDB. |
errorMeasurementName |
no | clientErrors | Errors raised by the Artillery client during the test. |
testRunId |
no | UUID | Identifier used to associate individual test results with a given test run. If no testRunId property is provided, a UUID is generated for the test run. |
tags |
no | none | Object map of static name-value pairs containing tags which are written with every measurement. |
influx |
yes | none | Influx module configuration object, see select options below, see full documentation for complete details. |
influx.host |
yes | none | Network host name of the InfluxDB to which results should be written. No protocol or port, just the host name. |
influx.port |
no | 8086 | Port on which the InfluxDB connection is to be opened. |
influx.username |
yes* | none | User account to use when logging results. |
influx.password |
yes* | none | Password to use when logging results. |
influx.database |
yes | none | Influx Database name into which the results are written. |
excludeTestRunId |
no | none | Set to true to prevent plugin from generating/logging testRunId UUID's automatically. |
matches |
no | none | Send data regarding matches to InfluxDB with column name "matches" |
*see notes on using environment variables for these values below.
The environment variables INFLUX_USERNAME
and INFLUX_PASSWORD
may be set instead of
passing 'username' and/or 'password' properties in the config file.
For more information, see:
Enjoy!