diff --git a/load-testing/docker-compose.yml b/load-testing/docker-compose.yml index d4f2246..714c73c 100644 --- a/load-testing/docker-compose.yml +++ b/load-testing/docker-compose.yml @@ -6,9 +6,58 @@ networks: services: + prometheus: + image: prom/prometheus:latest + container_name: performance_testing_prometheus + volumes: + - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml + command: + - '--config.file=/etc/prometheus/prometheus.yml' + - '--storage.tsdb.path=/prometheus' + - '--web.console.libraries=/etc/prometheus/console_libraries' + - '--web.console.templates=/etc/prometheus/consoles' + - '--web.enable-lifecycle' + expose: + - 9090 + networks: + - performance_testing + + + pyroscope: + container_name: performance_testing_pyroscope + image: grafana/pyroscope:${PYROSCOPE_TAG:-latest} + ports: + - ${PYROSCOPE_PORT:-4040}:4040 + networks: + - performance_testing + healthcheck: + test: ["CMD", "wget", "-qO-", "http://pyroscope:4040/ready"] + interval: 12s + timeout: 3s + retries: 20 + + + grafana: + container_name: performance_testing_grafana + image: grafana/grafana:${GRAFANA_TAG:-main} + environment: + - GF_FEATURE_TOGGLES_ENABLE=flameGraph + ports: + - ${GRAFANA_PORT:-3000}:3000 + networks: + - performance_testing + depends_on: + - pyroscope + healthcheck: + test: ["CMD", "wget", "-qO-", "http://grafana:3000/api/health"] + interval: 12s + timeout: 3s + retries: 20 + + jmeter-runner: container_name: performance_testing_jmeter-runner - image: ghcr.io/informatievlaanderen/jmeter-runner:20240409t1532 + image: ghcr.io/informatievlaanderen/jmeter-runner:20240424t1412 networks: - performance_testing ports: @@ -44,7 +93,7 @@ services: ldes-server-workbench: container_name: performance_testing_ldio-workbench # image: ghcr.io/informatievlaanderen/ldi-orchestrator:latest - image: ldes/ldi-orchestrator:${LDI_ORCHESTRATOR_TAG:-2.5.0-SNAPSHOT} + image: ldes/ldi-orchestrator:${LDI_ORCHESTRATOR_TAG:-2.5.1-SNAPSHOT} networks: - performance_testing ports: diff --git a/load-testing/prometheus/prometheus.yml b/load-testing/prometheus/prometheus.yml new file mode 100644 index 0000000..3246ce8 --- /dev/null +++ b/load-testing/prometheus/prometheus.yml @@ -0,0 +1,9 @@ +global: + scrape_interval: 1m + +scrape_configs: + - job_name: 'ldes-server' + scrape_interval: 15s + metrics_path: '/actuator/prometheus' + static_configs: + - targets: ['ldes-server:8080']