Skip to content

Commit dbe6292

Browse files
authored
chore(benchmarks): add PR performance quality gate (#220)
* chore(benchmarks): add PR performance quality gate * fix: right folder * set artifacts dir * fix: add missing keys in *converted.json
1 parent cf59df3 commit dbe6292

2 files changed

Lines changed: 31 additions & 8 deletions

File tree

.gitlab-ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
stages:
22
- benchmarks
3+
- benchmarks-report
34

45
include: ".gitlab/benchmarks.yml"

.gitlab/benchmarks.yml

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,26 @@
11
variables:
2-
BASE_CI_IMAGE: 486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/benchmarking-platform:dd-trace-cpp
2+
BENCHMARKS_CI_IMAGE: 486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/benchmarking-platform:dd-trace-cpp
33

44
benchmarks:
55
stage: benchmarks
66
when: on_success
77
tags: ["runner:apm-k8s-tweaked-metal"]
8-
image: $BASE_CI_IMAGE
8+
image: $BENCHMARKS_CI_IMAGE
99
interruptible: true
1010
timeout: 15m
1111
script:
1212
- export ARTIFACTS_DIR="$(pwd)/reports" && (mkdir "${ARTIFACTS_DIR}" || :)
1313
- git config --global url."https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.ddbuild.io/DataDog/".insteadOf "https://github.com/DataDog/"
14-
- git clone --branch dd-trace-cpp https://github.com/DataDog/benchmarking-platform /platform && cd /platform
15-
- ./steps/capture-hardware-software-info.sh
16-
- ./steps/run-benchmarks.sh
17-
- ./steps/analyze-results.sh
18-
- "./steps/upload-results-to-s3.sh || :"
19-
- "./steps/post-pr-comment.sh || :"
14+
- git clone --branch dd-trace-cpp https://github.com/DataDog/benchmarking-platform /platform
15+
- export PATH="$PATH:/platform/steps"
16+
- capture-hardware-software-info.sh
17+
- run-benchmarks.sh
18+
- analyze-results.sh
19+
- "upload-results-to-s3.sh || :"
20+
- "post-pr-comment.sh || :"
2021
artifacts:
2122
name: "reports"
23+
when: always
2224
paths:
2325
- reports/
2426
expire_in: 3 months
@@ -30,3 +32,23 @@ benchmarks:
3032

3133
KUBERNETES_SERVICE_ACCOUNT_OVERWRITE: dd-trace-cpp
3234
FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY: "true"
35+
36+
check-big-regressions:
37+
stage: benchmarks-report
38+
needs: [ benchmarks ]
39+
when: on_success
40+
allow_failure: false
41+
tags: ["arch:amd64"]
42+
image: $BENCHMARKS_CI_IMAGE
43+
script: |
44+
export ARTIFACTS_DIR="$(pwd)/reports/"
45+
if [[ -n "$CI_JOB_TOKEN" ]];
46+
then
47+
git config --global url."https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.ddbuild.io/DataDog/".insteadOf "https://github.com/DataDog/"
48+
fi
49+
git clone --branch dd-trace-cpp https://github.com/DataDog/benchmarking-platform /platform
50+
export PATH="$PATH:/platform/steps"
51+
52+
bp-runner /platform/bp-runner.fail-on-regression.yml --debug
53+
variables:
54+
KUBERNETES_SERVICE_ACCOUNT_OVERWRITE: dd-trace-cpp

0 commit comments

Comments
 (0)