Skip to content

Commit 736aefd

Browse files
committed
chore: Collect reports from benchmarks
1 parent 6407c42 commit 736aefd

File tree

1 file changed

+36
-8
lines changed

1 file changed

+36
-8
lines changed

.gitlab/macrobenchmarks.yml

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ baseline:
6262

6363
only-tracing:
6464
extends: .macrobenchmarks
65+
rules:
66+
- when: on_success
6567
variables:
6668
BP_BENCHMARKS_CONFIGURATION: only-tracing
6769
TRACER_OPTS: -javaagent:/app/dd-java-agent.jar -Ddd.env=${BP_BENCHMARKS_CONFIGURATION} -Ddd.service=bp-java-petclinic
@@ -77,25 +79,51 @@ otel-latest:
7779

7880
check-slo-breaches:
7981
stage: macrobenchmarks
80-
when: always
82+
interruptible: true
8183
tags: ["arch:amd64"]
8284
image: registry.ddbuild.io/images/benchmarking-platform-tools-ubuntu:latest
85+
when: on_success
8386
needs:
8487
- job: baseline
8588
artifacts: true
8689
- job: only-tracing
8790
artifacts: true
8891
- job: otel-latest
8992
artifacts: true
90-
artifacts:
91-
name: "artifacts"
92-
when: always
93-
paths:
94-
- platform/artifacts/
95-
expire_in: 3 months
93+
- job: benchmarks-startup
94+
artifacts: true
95+
- job: benchmarks-load
96+
artifacts: true
97+
- job: benchmarks-dacapo
98+
artifacts: true
9699
script:
97-
- export ARTIFACTS_DIR="$(pwd)/platform/artifacts/"
100+
# macrobenchmarks are located here, files are already in "converted" format
101+
- export ARTIFACTS_DIR="$(pwd)/platform/artifacts/" && mkdir -p "${ARTIFACTS_DIR}"
102+
103+
# Need to move the artifacts the benchmarks-* job
104+
- |
105+
export BENCHMARKS_ARTIFACTS_DIR="$(pwd)/reports" && mkdir -p "${BENCHMARKS_ARTIFACTS_DIR}"
106+
for benchmarkType in startup load; do
107+
find "$BENCHMARKS_ARTIFACTS_DIR/$benchmarkType" -name "benchmark-baseline.json" -o -name "benchmark-candidate.json" | while read file; do
108+
relpath="${file#$BENCHMARKS_ARTIFACTS_DIR/$benchmarkType/}"
109+
prefix="${relpath%/benchmark-*}" # Remove the trailing /benchmark-(baseline|candidate).json
110+
prefix="${prefix#./}" # Remove any leading ./
111+
prefix="${prefix//\//-}" # Replace / with -
112+
case "$file" in
113+
*benchmark-baseline.json) type="baseline" ;;
114+
*benchmark-candidate.json) type="candidate" ;;
115+
esac
116+
echo "Moving $file to $ARTIFACTS_DIR/${type}-${prefix}.converted.json"
117+
cp "$file" "$ARTIFACTS_DIR/${type}-${prefix}.converted.json"
118+
done
119+
done
120+
- ls -lah "$ARTIFACTS_DIR"
98121
- bp-runner .gitlab/benchmarks/bp-runner.fail-on-breach.yml
122+
variables:
123+
UPSTREAM_PROJECT_ID: $CI_PROJECT_ID # The ID of the current project. This ID is unique across all projects on the GitLab instance.
124+
UPSTREAM_PROJECT_NAME: $CI_PROJECT_NAME # "dd-trace-java"
125+
UPSTREAM_BRANCH: $CI_COMMIT_REF_NAME # The branch or tag name for which project is built.
126+
UPSTREAM_COMMIT_SHA: $CI_COMMIT_SHA # The commit revision the project is built for.
99127

100128
notify-slo-breaches:
101129
extends: .notify-slo-breaches

0 commit comments

Comments
 (0)