Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: parallel system tests #8813

Merged
merged 33 commits into from
Apr 1, 2024
Merged

Conversation

gnufede
Copy link
Member

@gnufede gnufede commented Apr 1, 2024

CI: Introduces concurrency to System Tests execution in order to decrease wall time.

Decreases wall time for system tests from ~37 min to ~23 min.

Checklist

  • Change(s) are motivated and described in the PR description
  • Testing strategy is described if automated tests are not included in the PR
  • Risks are described (performance impact, potential for breakage, maintainability)
  • Change is maintainable (easy to change, telemetry, documentation)
  • Library release note guidelines are followed or label changelog/no-changelog is set
  • Documentation is included (in-code, generated user docs, public corp docs)
  • Backport labels are set (if applicable)
  • If this PR changes the public interface, I've notified @DataDog/apm-tees.
  • If change touches code that signs or publishes builds or packages, or handles credentials of any kind, I've requested a review from @DataDog/security-design-and-guidance.

Reviewer Checklist

  • Title is accurate
  • All changes are related to the pull request's stated goal
  • Description motivates each change
  • Avoids breaking API changes
  • Testing strategy adequately addresses listed risks
  • Change is maintainable (easy to change, telemetry, documentation)
  • Release note makes sense to a user of the library
  • 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

@datadog-dd-trace-py-rkomorn
Copy link

Datadog Report

Branch report: gnufede/ci-parallel-system-tests
Commit report: 77783bd
Test service: dd-trace-py

✅ 0 Failed, 1 Passed, 175 Skipped, 16.8s Total duration (3m 59.81s time saved)

@pr-commenter
Copy link

pr-commenter bot commented Apr 1, 2024

Benchmarks

Benchmark execution time: 2024-04-01 17:11:00

Comparing candidate commit 805117c in PR branch gnufede/ci-parallel-system-tests with baseline commit 689c9be in branch main.

Found 1 performance improvements and 3 performance regressions! Performance is the same for 197 metrics, 9 unstable metrics.

scenario:flasksimple-tracer

  • 🟩 execution_time [-254.615µs; -205.713µs] or [-3.910%; -3.159%]

scenario:httppropagationextract-tracecontext_headers

  • 🟥 max_rss_usage [+595.614KB; +742.139KB] or [+2.815%; +3.507%]

scenario:httppropagationextract-wsgi_valid_headers_all

  • 🟥 max_rss_usage [+456.258KB; +699.224KB] or [+2.151%; +3.296%]

scenario:sethttpmeta-all-enabled

  • 🟥 max_rss_usage [+481.109KB; +748.510KB] or [+2.240%; +3.486%]

@gnufede gnufede marked this pull request as ready for review April 1, 2024 09:13
@gnufede gnufede requested review from a team as code owners April 1, 2024 09:13
@gnufede gnufede added the changelog/no-changelog A changelog entry is not required for this PR. label Apr 1, 2024
@gnufede gnufede force-pushed the gnufede/ci-parallel-system-tests branch from 781a83c to d64c503 Compare April 1, 2024 12:48
This reverts commit 998cb34.
@gnufede gnufede marked this pull request as draft April 1, 2024 13:29
@gnufede gnufede marked this pull request as ready for review April 1, 2024 16:05
@emmettbutler
Copy link
Collaborator

@gnufede I'm going to force-merge this, then make the test-requirement changes once it's show to be working properly in main.

@emmettbutler emmettbutler merged commit ad2fe25 into main Apr 1, 2024
58 of 59 checks passed
@emmettbutler emmettbutler deleted the gnufede/ci-parallel-system-tests branch April 1, 2024 17:13
Copy link
Contributor

github-actions bot commented Apr 1, 2024

The backport to 2.5 failed:

The process '/usr/bin/git' failed with exit code 1

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-2.5 2.5
# Navigate to the new working tree
cd .worktrees/backport-2.5
# Create a new branch
git switch --create backport-8813-to-2.5
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 ad2fe2554a53d6bbee12a0f5a97f44c54f27b508
# Push it to GitHub
git push --set-upstream origin backport-8813-to-2.5
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-2.5

Then, create a pull request where the base branch is 2.5 and the compare/head branch is backport-8813-to-2.5.

Copy link
Contributor

github-actions bot commented Apr 1, 2024

The backport to 2.6 failed:

The process '/usr/bin/git' failed with exit code 1

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-2.6 2.6
# Navigate to the new working tree
cd .worktrees/backport-2.6
# Create a new branch
git switch --create backport-8813-to-2.6
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 ad2fe2554a53d6bbee12a0f5a97f44c54f27b508
# Push it to GitHub
git push --set-upstream origin backport-8813-to-2.6
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-2.6

Then, create a pull request where the base branch is 2.6 and the compare/head branch is backport-8813-to-2.6.

Copy link
Contributor

github-actions bot commented Apr 1, 2024

The backport to 2.7 failed:

The process '/usr/bin/git' failed with exit code 1

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-2.7 2.7
# Navigate to the new working tree
cd .worktrees/backport-2.7
# Create a new branch
git switch --create backport-8813-to-2.7
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 ad2fe2554a53d6bbee12a0f5a97f44c54f27b508
# Push it to GitHub
git push --set-upstream origin backport-8813-to-2.7
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-2.7

Then, create a pull request where the base branch is 2.7 and the compare/head branch is backport-8813-to-2.7.

gnufede added a commit that referenced this pull request Apr 2, 2024
CI: Introduces concurrency to System Tests execution in order to
decrease wall time.

Decreases wall time for system tests from ~37 min to ~23 min.

- [x] Change(s) are motivated and described in the PR description
- [x] Testing strategy is described if automated tests are not included
in the PR
- [x] Risks are described (performance impact, potential for breakage,
maintainability)
- [x] Change is maintainable (easy to change, telemetry, documentation)
- [x] [Library release note
guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html)
are followed or label `changelog/no-changelog` is set
- [x] Documentation is included (in-code, generated user docs, [public
corp docs](https://github.com/DataDog/documentation/))
- [x] Backport labels are set (if
[applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting))
- [x] If this PR changes the public interface, I've notified
`@DataDog/apm-tees`.
- [x] If change touches code that signs or publishes builds or packages,
or handles credentials of any kind, I've requested a review from
`@DataDog/security-design-and-guidance`.

- [x] Title is accurate
- [x] All changes are related to the pull request's stated goal
- [x] Description motivates each change
- [x] Avoids breaking
[API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces)
changes
- [x] Testing strategy adequately addresses listed risks
- [x] Change is maintainable (easy to change, telemetry, documentation)
- [x] Release note makes sense to a user of the library
- [x] Author has acknowledged and discussed the performance implications
of this PR as reported in the benchmarks PR comment
- [x] 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)

---------

Co-authored-by: Emmett Butler <723615+emmettbutler@users.noreply.github.com>
(cherry picked from commit ad2fe25)
gnufede added a commit that referenced this pull request Apr 2, 2024
CI: Introduces concurrency to System Tests execution in order to
decrease wall time.

Decreases wall time for system tests from ~37 min to ~23 min.

- [x] Change(s) are motivated and described in the PR description
- [x] Testing strategy is described if automated tests are not included
in the PR
- [x] Risks are described (performance impact, potential for breakage,
maintainability)
- [x] Change is maintainable (easy to change, telemetry, documentation)
- [x] [Library release note
guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html)
are followed or label `changelog/no-changelog` is set
- [x] Documentation is included (in-code, generated user docs, [public
corp docs](https://github.com/DataDog/documentation/))
- [x] Backport labels are set (if
[applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting))
- [x] If this PR changes the public interface, I've notified
`@DataDog/apm-tees`.
- [x] If change touches code that signs or publishes builds or packages,
or handles credentials of any kind, I've requested a review from
`@DataDog/security-design-and-guidance`.

- [x] Title is accurate
- [x] All changes are related to the pull request's stated goal
- [x] Description motivates each change
- [x] Avoids breaking
[API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces)
changes
- [x] Testing strategy adequately addresses listed risks
- [x] Change is maintainable (easy to change, telemetry, documentation)
- [x] Release note makes sense to a user of the library
- [x] Author has acknowledged and discussed the performance implications
of this PR as reported in the benchmarks PR comment
- [x] 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)

---------

Co-authored-by: Emmett Butler <723615+emmettbutler@users.noreply.github.com>
(cherry picked from commit ad2fe25)
gnufede added a commit that referenced this pull request Apr 2, 2024
CI: Introduces concurrency to System Tests execution in order to
decrease wall time.

Decreases wall time for system tests from ~37 min to ~23 min.

- [x] Change(s) are motivated and described in the PR description
- [x] Testing strategy is described if automated tests are not included
in the PR
- [x] Risks are described (performance impact, potential for breakage,
maintainability)
- [x] Change is maintainable (easy to change, telemetry, documentation)
- [x] [Library release note
guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html)
are followed or label `changelog/no-changelog` is set
- [x] Documentation is included (in-code, generated user docs, [public
corp docs](https://github.com/DataDog/documentation/))
- [x] Backport labels are set (if
[applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting))
- [x] If this PR changes the public interface, I've notified
`@DataDog/apm-tees`.
- [x] If change touches code that signs or publishes builds or packages,
or handles credentials of any kind, I've requested a review from
`@DataDog/security-design-and-guidance`.

- [x] Title is accurate
- [x] All changes are related to the pull request's stated goal
- [x] Description motivates each change
- [x] Avoids breaking
[API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces)
changes
- [x] Testing strategy adequately addresses listed risks
- [x] Change is maintainable (easy to change, telemetry, documentation)
- [x] Release note makes sense to a user of the library
- [x] Author has acknowledged and discussed the performance implications
of this PR as reported in the benchmarks PR comment
- [x] 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)

---------

Co-authored-by: Emmett Butler <723615+emmettbutler@users.noreply.github.com>
(cherry picked from commit ad2fe25)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport 2.7 changelog/no-changelog A changelog entry is not required for this PR. CI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants