[LANGPLAT-883] Add PHP parallel benchmarks to benchmarks pipeline#3793
Draft
Leiyks wants to merge 8 commits into
Draft
[LANGPLAT-883] Add PHP parallel benchmarks to benchmarks pipeline#3793Leiyks wants to merge 8 commits into
Leiyks wants to merge 8 commits into
Conversation
|
… include Switch from a trigger job to a GitLab CI include, pulling the PHP Laravel Realworld parallel benchmark jobs directly into this pipeline. Adds two new stages: php-laravel-realworld-parallel and php-laravel-realworld-parallel-slo.
f2c60b4 to
bea5e8e
Compare
… artifacts (LANGPLAT-883) Extends the included apm-sdks-benchmarks PHP jobs from just Laravel to the full triplet (Laravel + Symfony + WordPress), and wires the locally- built tracer into each by: - Adding a `needs:` declaration to the 3 main benchmark jobs that pulls the `package extension` and `datadog-setup.php` artifacts from the parent dd-trace-php pipeline. - Exporting DD_TRACER_ARTIFACT_DIR=$CI_PROJECT_DIR/packages so the apm-sdks-benchmarks side (fetch-tracing-libs.sh + each framework's start-app.sh) installs the in-PR tracer build via `datadog-setup.php --file dd-library-php-*.tar.gz` instead of pulling the latest GitHub release. Standalone runs of the apm-sdks-benchmarks pipeline are unaffected — when the env var is unset, the existing GitHub-release path runs.
…ch (LANGPLAT-883) Temporary pin until DataDog/apm-sdks-benchmarks#115 merges to main: until then the 3 PHP yamls only exist on the leiyks/LANGPLAT-883-php-competitor- benchmarks branch, and the parallel-benchmark-template version on main doesn't honor DD_TRACER_ARTIFACT_DIR yet. Pointing both the include refs and APM_SDKS_BENCHMARKS_BRANCH at the PR branch lets us validate the end-to-end artifact-passing flow now; flip both back to 'main' once apm-sdks-benchmarks#115 lands.
…PLAT-883) The benchmarks.yml file is included into the child pipeline alongside package-gen.yml (generated by generate-package.php). GitLab merges those two files, and when both declare a top-level "stages:" block the last one wins — our PR's stages: list was overriding package-gen's, breaking existing jobs like "package-oci: [linux, amd64]" that target the shared-pipeline stage. Fix: drop the stages: block from benchmarks.yml and append the 6 PHP stages to the single source of truth in generate-package.php. The child pipeline now exposes the union of every stage anyone declares.
…-883) The included .parallel-benchmark-template defines APM_SDKS_BENCHMARKS_BRANCH="main" in its own job-level variables block, which overrides top-level variables. Setting our PR-branch override at the top level was a no-op — the template's job-level default still won the merge, so the runtime clone targeted main (where tracing-libs/php/ fetch-tracing-libs.sh doesn't exist yet) and the job died with 'No such file or directory'. Move the override into each of the 3 PHP benchmark jobs' own variables blocks so it actually shadows the template default. Drop the top-level variable that wasn't doing anything.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
include:fromDataDog/apm-reliability/apm-sdks-benchmarksphp-laravel-realworld-parallelandphp-laravel-realworld-parallel-sloThe companion PR adding PHP support to
apm-sdks-benchmarksis at DataDog/apm-sdks-benchmarks#115.Test plan
linux-php-laravel-realworld-parallelmanually from the benchmarks child pipeline on a branchphp-laravel-realworld-parallel-slostage