Skip to content

Advanced Configuration Files

The Administration application gives you access to all files used to configure Kraken.

Warning

Modifying these files may break the application! USE WITH CAUTION!

Directory Structure

Here is the directory structure of the configuration folders and files:

Gatling Files

Note

All docker-compose.yml files use environment variables for their configuration.** Some variables are set while starting Kraken (check the kraken.sh script configuration):

  • ${KRAKEN_HOST_UID}
  • ${KRAKEN_HOST_GID}
  • ${KRAKEN_HOST_DATA}
  • ${KRAKEN_DATA}
  • ${KRAKEN_VERSION}

Others like the ${KRAKEN_TEST_ID} environement variable are computed dynamically by Kraken's backends when you execute a command.

Info

All docker-compose.yml files use a Docker network named kraken.

This allows cross-containers communications using the container names as hostnames.

Recorder Files

The folder gatling/recorder contains all files used to import an HAR file into Kraken:

  • recorder.sh,
  • docker-compose.yml.

The recorder.sh file is a simple script that prepares the Gatling command to record from a HAR and launches docker-compose.

The docker-compose.yml files configures two Docker containers:

  • kraken-gatling-recorder: a container that starts Gatling using the ${GATLING_COMMAND} environment variable,
  • kraken-har-parser: a container that starts Kraken's HAR converter (HAR to debug entries).

Runner Files

The folder gatling/runner contains all files used to run a load test in Kraken:

  • runner.sh,
  • docker-compose.yml,
  • onCancel.sh,
  • telegraf.conf.

The runner.sh file is a script that prepares the Gatling command to execute the given simulation and updates the result's status.

The docker-compose.yml files configures two Docker containers:

  • kraken-gatling-runner: a container that starts Gatling using the ${GATLING_COMMAND} environment variable,
  • kraken-gatling-telegraf: a container that starts Telegraf to collect performance metrics from Gatling and send them to InfluxDB.

The onCancel.sh script is called if you cancel the test execution. It stops the Docker containers and sets the result status to CANCELED.

The telegraf.conf file configures Telegraf to forward performance metrics from Gatling to InfluxDB.

Debugger Files

The folder gatling/debugger contains all files used to debug a load test in Kraken:

  • debugger.sh,
  • docker-compose.yml,
  • onCancel.sh.

The debugger.sh file is a script that prepares the Gatling command to execute the given simulation and updates the result's status.

The docker-compose.yml files configures two Docker containers:

  • kraken-gatling-debugger: a container that starts Gatling using the ${GATLING_COMMAND} environment variable,
  • kraken-gatling-log-parser: a container that parses Gatling's simulation.log file to generate debug entries.

The onCancel.sh script is called if you cancel the debug execution. It stops the Docker containers and sets the result status to CANCELED.

Conf Files

The conf directory contains two sub-folders: run and debug. As their names indicates, the run folder has all Gatling's configuration for when you run a load test, and the debug folder for when you debug a test.

These folders contains:

Info

The gatling.conf of the run folder is configured to use the Graphite connector (gatling.data.graphite).

It redirects its output to the kraken-gatling-telegraf Docker container.

Note

The logback.xml file of the debug folder is configured to redirect printed out messages to the executions logs.

It also generates the galting.log file.

Result Files

The results folder contains all results ran on Kraken, one sub-folder for each test or HAR import (named with the automatically generated test id).

These result sub-folders always contain a result.json file:

{
  "id": "ea5ef73a-8566-445f-ad62-1806a95d9891",
  "startDate": 1560326711581,
  "endDate": 1560326783284,
  "status": "COMPLETED",
  "runDescription": "BasicSimulation",
  "type": "DEBUG"
}

It stores the result id, status, start and en date as well as the description and the type of test (run, debug or HAR import).

Apart from this file, the contents of these result sub-folders vary depending of the type of test:

Grafana Files

The grafana folder only contains the default Grafana dashboard: grafana-gatling-dashboard.json.

{
  "annotations": {
    "list": [
      {
        "builtIn": 1,
        "datasource": "-- Grafana --",
        "enable": true,
        "hide": true,
        "iconColor": "rgba(0, 211, 255, 1)",
        "name": "Annotations & Alerts",
        "type": "dashboard"
      }
    ]
  }
  [...]
}

You may edit this file to change the default dashboard generated each time you run a load test.

The easiest way is to update a generated dashboard directly in Grafana and then export it as a new JSON file.