This readme outlines how the load generator can be started from the IDE during development. It is written for developers who want to extend/adopt the code of the load generator.
The Load Generator is a Spring Boot application written in Kotlin.
To start the environment without the Load Generator container, run:
./setup/manage.sh debug
If the load generator is started via the IDE it is configured via application.yml.
Two things need to be chosen by setting active: true
:
- Test Runner (each Test Runner generates the load differently)
- Test Flow (each Test Flow corresponds to a different test scenario)
test-runners:
max-parallel-iterations-runner:
active: false
number-of-total-iterations: 100
number-of-parallel-iterations: 5
constant-load-runner:
active: true
number-of-total-iterations: 100
number-of-iterations-per-minute: 30
thread-pool-size: 4
test-flows:
full-flow:
active: true
use-revocable-credentials: true
revocation-registry-size: 500
check-non-revoked: true
issuer-flow:
active: false
use-revocable-credentials: true
revocation-registry-size: 500
connection-request-flow:
active: false
credential-issuance-flow:
active: false
use-revocable-credentials: true
revocation-registry-size: 500
proof-request-flow:
active: false
check-non-revoked: true
Only one Test Runner and one Test Flow should be set to active: true
at a time. The Test Flow will automatically be
executed by the Test Runner once the application is started.
The data sources, as well as dashboards, are provisioned automatically when running the Grafana container.
Data sources are configured manually in ./setup/grafana/grafana-provisioning/datasources/ using YAML files. Dashboards are configured in ./setup/grafana/dashboards using JSON files. Dashboards can be created via the Grafana Web UI and exported as JSON afterwards.
- Start whole system with multitenancy disabled
- Start whole system with multitenancy enabled
- Down the whole system using
manage.sh down
- Restart the whole system using
manage.sh restart
- Start whole system with postgres cluster
- Start whole system without the load generator using
manage.sh debug
as well asSYSTEM_LOAD_GENERATOR=false
and start the load generator using./mvnw spring-boot:run
- Start whole system with the load generator using
manage.sh debug
as well asSYSTEM_LOAD_GENERATOR=true
- Run it on MacOS
- Run it on Linux