Skip to content

Commit c1cb023

Browse files
authored
feat(ci): enable performance SLO change tracking (#3397)
* feat: add dd-octo-sts trust policy for SLO change tracking * feat: update check-slo-breaches job to use dd-octo-sts for GitHub access * add newline to trust policy * fix: broaden trust policy scope to support manual runs on any branch * add bp-runner.fail-on-breach.yml from benchmarking-platform@php/laravel-realworld https://github.com/DataDog/benchmarking-platform/blob/0ea2e52f470659e175d13b66d8ad850587f5b5a5/bp-runner.fail-on-breach.yml * feat: update check-slo-breaches to use a template * trigger pipeline * trigger pipeline
1 parent 3259252 commit c1cb023

File tree

3 files changed

+31
-5
lines changed

3 files changed

+31
-5
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
issuer: https://gitlab.ddbuild.io
2+
3+
subject_pattern: "project_path:DataDog/apm-reliability/dd-trace-php:ref_type:(branch|tag):ref:.*"
4+
5+
permissions:
6+
contents: read

.gitlab/benchmarks.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
include:
2+
- project: 'DataDog/benchmarking-platform-tools'
3+
file: 'images/templates/gitlab/check-slo-breaches.template.yml'
24
- project: 'DataDog/benchmarking-platform-tools'
35
file: 'images/templates/gitlab/notify-slo-breaches.template.yml'
46

@@ -184,20 +186,20 @@ macrobenchmarks:
184186
- PHP_VERSION: "8.1"
185187

186188
check-slo-breaches:
189+
extends: .check-slo-breaches
187190
stage: gate
188191
needs: ["macrobenchmarks"]
189192
when: on_success
190-
tags: ["arch:amd64"]
191-
image: registry.ddbuild.io/images/benchmarking-platform-tools-ubuntu:latest
192-
script:
193-
- cd platform && (git init && git remote add origin https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.ddbuild.io/DataDog/benchmarking-platform && git pull origin php/laravel-realworld)
194-
- bp-runner bp-runner.fail-on-breach.yml --debug
195193
artifacts:
196194
name: "artifacts"
197195
when: always
198196
paths:
199197
- platform/artifacts/
200198
expire_in: 3 months
199+
variables:
200+
DDOCTOSTS_POLICY: "gitlab-ci-slo-change-tracking"
201+
ARTIFACTS_DIR: "platform/artifacts"
202+
SLO_FILE: ".gitlab/bp-runner.fail-on-breach.yml"
201203

202204
notify-slo-breaches:
203205
extends: .notify-slo-breaches
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Measurements from https://benchmarking.us1.prod.dog/benchmarks?ciJobDateStart=1747127110844&ciJobDateEnd=1749719110844&projectId=6&benchmarkGroupPipelineId=67338785&benchmarkGroupSha=2dadafbe59e2e4a5f6894054f8a847b5181e1f8f&benchmarkId=14597014
2+
3+
# Thresholds set based on guidance in https://datadoghq.atlassian.net/wiki/spaces/APMINT/pages/5070193198/How+to+set+up+pre-release+performance+quality+gates#How-to-choose-thresholds-for-pre-release-gates%3F
4+
5+
experiments:
6+
- name: Run SLO breach check
7+
steps:
8+
- name: SLO breach check
9+
run: fail_on_breach
10+
warning_range: 5
11+
scenarios:
12+
- name: normal_operation/only-tracing/-8_1
13+
thresholds:
14+
- agg_http_req_duration_p50 < 30 ms
15+
- name: high_load/only-tracing/-8_1
16+
thresholds:
17+
- throughput > 112.32 op/s
18+

0 commit comments

Comments
 (0)