diff --git a/.gitlab/benchmarks.yml b/.gitlab/benchmarks.yml index b2231e75f8d..bdf0d807112 100644 --- a/.gitlab/benchmarks.yml +++ b/.gitlab/benchmarks.yml @@ -1,7 +1,7 @@ .benchmarks: stage: benchmarks interruptible: true - timeout: 1h + timeout: 2h tags: ["runner:apm-k8s-tweaked-metal"] image: 486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/benchmarking-platform:dd-trace-java-benchmarks needs: [ "build", "publish-artifacts-to-s3" ] @@ -35,12 +35,26 @@ benchmarks-startup: - ./steps/run-benchmarks.sh startup - ./steps/analyze-results.sh startup -benchmarks-load: +benchmarks-load-petclinic: + extends: .benchmarks + parallel: + matrix: + - RUN_ID: [1, 2, 3, 4, 5] + script: + - !reference [ .benchmarks, script ] + - ./steps/capture-hardware-software-info.sh + - ./steps/run-benchmarks.sh load petclinic + - ./steps/analyze-results.sh load + +benchmarks-load-insecure-bank: extends: .benchmarks + parallel: + matrix: + - RUN_ID: [1, 2, 3, 4, 5] script: - !reference [ .benchmarks, script ] - ./steps/capture-hardware-software-info.sh - - ./steps/run-benchmarks.sh load + - ./steps/run-benchmarks.sh load insecure-bank - ./steps/analyze-results.sh load benchmarks-dacapo: @@ -61,7 +75,15 @@ benchmarks-post-results: needs: - job: benchmarks-startup artifacts: true - - job: benchmarks-load + - job: benchmarks-load-petclinic + parallel: + matrix: + - RUN_ID: [1, 2, 3, 4, 5] + artifacts: true + - job: benchmarks-load-insecure-bank + parallel: + matrix: + - RUN_ID: [1, 2, 3, 4, 5] artifacts: true - job: benchmarks-dacapo artifacts: true diff --git a/.gitlab/macrobenchmarks.yml b/.gitlab/macrobenchmarks.yml index d2ad417c2dd..2cab05cb9ea 100644 --- a/.gitlab/macrobenchmarks.yml +++ b/.gitlab/macrobenchmarks.yml @@ -93,7 +93,9 @@ check-slo-breaches: artifacts: true - job: benchmarks-startup artifacts: true - - job: benchmarks-load + - job: benchmarks-load-petclinic + artifacts: true + - job: benchmarks-load-insecure-bank artifacts: true - job: benchmarks-dacapo artifacts: true diff --git a/benchmark/load/run.sh b/benchmark/load/run.sh index 5f2f265b045..27cad120029 100755 --- a/benchmark/load/run.sh +++ b/benchmark/load/run.sh @@ -27,11 +27,19 @@ fi source "${UTILS_DIR}/update-java-version.sh" 17 +# Optional second argument to run a specific app for load benchmarks (i.e. "petclinic" or "insecure-bank") +app_filter=${2:-""} + for app in *; do if [[ ! -d "${app}" ]]; then continue fi + # Skip if app filter is specified and doesn't match + if [[ -n "${app_filter}" ]] && [[ "${app}" != "${app_filter}" ]]; then + continue + fi + message "${type} benchmark: ${app} started" export OUTPUT_DIR="${REPORTS_DIR}/${type}/${app}" @@ -43,10 +51,10 @@ for app in *; do # Using profiler variants for healthcheck as they are the slowest if [ "${app}" == "petclinic" ]; then HEALTHCHECK_URL=http://localhost:8082 - REPETITIONS_COUNT=2 + REPETITIONS_COUNT=5 elif [ "${app}" == "insecure-bank" ]; then HEALTHCHECK_URL=http://localhost:8082/login - REPETITIONS_COUNT=2 + REPETITIONS_COUNT=5 else echo "Unknown app ${app}" exit 1