You can use Grafana for visualization of your k6 metrics.
The first step is to upload your test result metrics to a storage backend. And next, configure Grafana to fetch the data from your backend to visualize the test results.
Full installation instructions are available in the InfluxDB docs.
$ sudo apt install influxdb
$ brew install influxdb
k6 has built-in support for outputting results data directly to an InfluxDB database using
$ k6 run --out influxdb=http://localhost:8086/myk6db script.js
$ docker run -i loadimpact/k6 run --out influxdb=http://localhost:8086/myk6db - <script.js
The above command line makes k6 connect to a local influxdb instance, and send the results from
the test to a database named
myk6db. If this database does not exist, k6 will create it
Once you have k6 results in your InfluxDB database, you can then use Grafana to create results visualizations.
Full installation instructions are available in the Grafana docs.
$ sudo apt install grafana
$ brew install grafana
After the installation, you should have an InfluxDB server running on localhost, listening on port 8086,
and a Grafana server on
http://localhost:3000. Now, we show two different ways to visualize your k6 metrics:
http://localhost:3000(or wherever your Grafana installation is located) in your browser.
- Create a data source:
- Now create a dashboard. Here is the newly created dashboard:
Graphto create a new graph panel:
- Click the
Panel titleand then
Editto set up the graph panel:
- Set the panel data source to your
myk6dbdatabase and click the
SELECT mean(value)...statement to edit the metric:
Here we will list premade Grafana dashboard configurations contributed by users, for use with k6.
To enable a contributed Grafana dashboard is simple: you just choose to "import" a dashboard in the Grafana UI and then specify the ID number of the dashboard you want, see http://docs.grafana.org/reference/export_import/ for more details.
To make all the above even simpler, we have created a docker-compose setup that will:
- Start a Docker container with InfluxDB
- Start a Docker container with Grafana
- Make available a k6 container that you can use to run load tests
Make sure you have at least docker-compose version v1.12.0 installed. You just need to do the following:
$ git clone 'https://github.com/loadimpact/k6' $ cd k6 $ docker-compose up -d \ influxdb \ grafana $ docker-compose run -v \ $PWD/samples:/scripts \ k6 run /scripts/es6sample.js
Now you should be able to connect to localhost on port 3000 with your browser and access the Grafana installation in the Docker container.
When uploading the k6 results to InfluxDB (
k6 run --out influxdb=), you can configure other InfluxDB options passing these environment variables:
|InfluxDB username, optional|
|InfluxDB user password|
|A comma-separated string to set k6 metrics as nonindexable fields (instead of tags). An optional type can be specified using |