Skip to content

Commit c57f7bb

Browse files
authored
docs: add pre-release performance gate runbook to release doc (#14188)
Adding the runbook documentation for our pre-release performance gating to the release documentation. ## Checklist - [x] PR author has checked that all the criteria below are met - The PR description includes an overview of the change - The PR description articulates the motivation for the change - The change includes tests OR the PR description describes a testing strategy - The PR description notes risks associated with the change, if any - Newly-added code is easy to change - The change follows the [library release note guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html) - The change includes or references documentation updates if necessary - Backport labels are set (if [applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)) ## Reviewer Checklist - [x] Reviewer has checked that all the criteria below are met - Title is accurate - All changes are related to the pull request's stated goal - Avoids breaking [API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces) changes - Testing strategy adequately addresses listed risks - Newly-added code is easy to change - Release note makes sense to a user of the library - If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment - Backport labels are set in a manner that is consistent with the [release branch maintenance policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
1 parent c32754d commit c57f7bb

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

docs/contributing-release.rst

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,35 @@ Prerequisites
1616

1717
2. Ensure the CI is green on the branch on which the release will be based.
1818

19+
3. Ensure there are no SLO breaches on the release branch (``main`` for new major/minor, ``major.minor`` branch for patch releases). See section below for details.
20+
21+
Pre-Release Performance Gates
22+
-----------------------------
23+
24+
This repository is using pre-release performance quality gates.
25+
26+
On ``main`` or the ``major.minor`` release branch, verify that the latest CI pipeline passed the ``check-slo-breaches`` job.
27+
If any SLO is breached, the release pipeline on GitLab will be blocked.
28+
See our thresholds file(s) at `bp-runner.macrobenchmarks.fail-on-breach.yml <https://github.com/DataDog/dd-trace-py/blob/3cf3342a005c1ef9e345d2a82a631bc827c8617a/.gitlab/benchmarks/bp-runner.macrobenchmarks.fail-on-breach.yml>`_ and `bp-runner.microbenchmarks.fail-on-breach.yml <https://github.com/DataDog/dd-trace-py/blob/3cf3342a005c1ef9e345d2a82a631bc827c8617a/.gitlab/benchmarks/bp-runner.microbenchmarks.fail-on-breach.yml>`_.
29+
30+
There are a few ways to resolve this and unblock the release.
31+
32+
**Prerequisite**
33+
34+
Find the change(s) that contributed the most to performance regression.
35+
You can check from the `Benchmarking Platform - Benchmarks tab <https://benchmarking.us1.prod.dog/benchmarks?projectId=3&ciJobDateStart=1753290587498&ciJobDateEnd=1753895387498&gitBranch=main>`_ and filter by project and branch to see these commits.
36+
Notify the authors in `#apm-python-release <https://dd.enterprise.slack.com/archives/C04MK6NNDG9>`_ to see if there are any easy fixes (less than a day of work) that can be pushed to the release branch.
37+
38+
1. **Merge a fix to resolve the performance regression.**
39+
This should be considered first, and owned by the author(s) for the change(s) that introduced significant performance regression(s).
40+
2. **Revert the change(s) that contributed the most to performance regression.**
41+
This should be considered if the regression is not acceptable, but the fix will take longer than a day to merge to the release branch.
42+
3. **Bump the SLO(s) to accommodate for the regressions.**
43+
This should only be considered if the regressions are reasonable for the change(s) introduced (ex - new feature with expected overhead, crash fixes, major security issues, etc.).
44+
When updating the SLO thresholds, authors must add a comment to their PR justifying the trade offs.
45+
See `Performance quality gates - User Guide <https://datadoghq.atlassian.net/wiki/spaces/APMINT/pages/5158175217/Performance+quality+gates+-+User+Guide>`_ for more details.
46+
47+
1948
Instructions
2049
------------
2150

0 commit comments

Comments
 (0)