Skip to content

Carve slow/e2e tests into separate testSlow tasks - #700

Merged
jbachorik merged 4 commits into
mainfrom
jb/slow-test-suite
Aug 4, 2026
Merged

Carve slow/e2e tests into separate testSlow tasks#700
jbachorik merged 4 commits into
mainfrom
jb/slow-test-suite

Conversation

@jbachorik

Copy link
Copy Markdown
Collaborator

What does this PR do?:
Tags long-running (45-70s+) tests with @Tag("slow"), excludes them from the default test${Config} Gradle tasks, and adds new testSlow${Config} tasks (with the same gtest dependency wiring) that run only in the nightly and pre-release-validated CI workflows.

Motivation:
Several tests (reference-chain tracking, class-unload/leak stress tests, dump-while-churning-threads) individually take 45-70+ seconds, inflating the regular per-PR test run. They belong in a slow/e2e suite that runs nightly and before releases, not on every PR.

Additional Notes:

  • ProfilerTestRunner (the musl Exec-task path) gained -Dtest.tags.include/-Dtest.tags.exclude system-property-driven tag filtering, mirroring the native Gradle Test task's includeTags/excludeTags.
  • testSlow${Config} tasks depend on the same gtest${Config} task as their test${Config} sibling, since each is an independent CI job.

How to test the change?:

  • ./gradlew :ddprof-test:tasks lists testDebug, testRelease, testSlowDebug, testSlowRelease with correct descriptions.
  • ./gradlew -q :ddprof-test:testSlowDebug --dry-run confirms the gtestDebug task graph is a dependency.
  • nightly.yml and release-validated.yml validated as valid YAML.

For Datadog employees:

  • If this PR touches code that signs or publishes builds or packages, or handles
    credentials of any kind, I've requested a security review (run the dd:platform-security-review
    skill, or file a request via the PSEC review form).
    bewaire also runs automatically on every PR.
  • This PR doesn't touch any of that.
  • JIRA: N/A

Unsure? Have a question? Request a review!

…re-release

Tag long-running tests with @tag("slow"), exclude them from the default
test tasks, and add testSlow${Config} Gradle tasks (wired to gtest deps)
run only by the nightly and release-validated CI workflows.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 31, 2026 10:05
@jbachorik jbachorik added the AI label Jul 31, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@dd-octo-sts

dd-octo-sts Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

CI Test Results

Run: #30831104518 | Commit: cf63061 | Duration: 15m 6s (longest job)

All 32 test jobs passed

Status Overview

JDK glibc-aarch64/debug glibc-amd64/debug musl-aarch64/debug musl-amd64/debug
8 - - -
8-ibm - - -
8-j9 - -
8-librca - -
8-orcl - - -
11 - - -
11-j9 - -
11-librca - -
17 - -
17-graal - -
17-j9 - -
17-librca - -
21 - -
21-graal - -
21-librca - -
25 - -
25-graal - -
25-librca - -

Legend: ✅ passed | ❌ failed | ⚪ skipped | 🚫 cancelled

Summary: Total: 32 | Passed: 32 | Failed: 0


Updated: 2026-08-03 16:30:12 UTC

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 31, 2026 10:21

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@dd-octo-sts

dd-octo-sts Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results (commit 5502908)

Pipeline: https://gitlab.ddbuild.io/DataDog/apm-reliability/benchmarking-platform/-/pipelines/128197042 Commit: 55029082901fdba8a40f184b561b67dc1e1ae9a8

⚠️ Significant outliers

  • 🟢 fj-kmeans (JDK 21): runtime -4.5% (2782→2657 ms)
  • 🔴 future-genetic (JDK 25): runtime +4.3% (1971→2056 ms)
Runtime details (per benchmark × JDK)
Benchmark JDK Latest Dev Δ (dev vs latest) Issues L/D
akka-uct 21 ✅ 10277 ms (21 iters) ✅ 10216 ms (21 iters) ≈ -0.6% (±11.6%) — / —
akka-uct 25 ✅ 8828 ms (24 iters) ✅ 8927 ms (24 iters) ≈ +1.1% (±9.8%) — / —
finagle-chirper 21 ✅ 5946 ms (33 iters) ✅ 6015 ms (33 iters) ≈ +1.2% (±25.2%) ⚠️ W:3 / ⚠️ W:3
finagle-chirper 25 ✅ 5437 ms (36 iters) ✅ 5470 ms (36 iters) ≈ +0.6% (±23.9%) ⚠️ W:3 / ⚠️ W:3
fj-kmeans 21 ✅ 2782 ms (67 iters) ✅ 2657 ms (70 iters) 🟢 -4.5% — / —
fj-kmeans 25 ✅ 2778 ms (67 iters) ✅ 2837 ms (66 iters) ≈ +2.1% (±2.7%) — / —
future-genetic 21 ✅ 2080 ms (89 iters) ✅ 2075 ms (89 iters) ≈ -0.2% (±2.6%) — / —
future-genetic 25 ✅ 1971 ms (93 iters) ✅ 2056 ms (90 iters) 🔴 +4.3% — / —
naive-bayes 21 ✅ 1241 ms (137 iters) ✅ 1311 ms (131 iters) ≈ +5.6% (±33.5%) — / —
naive-bayes 25 ✅ 1012 ms (169 iters) ✅ 1001 ms (171 iters) ≈ -1.1% (±31.5%) — / —
reactors 21 ✅ 17177 ms (15 iters) ✅ 17395 ms (15 iters) ≈ +1.3% (±7.5%) — / —
reactors 25 ✅ 18447 ms (15 iters) ✅ 18630 ms (15 iters) ≈ +1% (±4.3%) — / —
Internal counter details (ddprof)

ddprof internal counters, latest / dev (✅ = 0, · = unavailable):

Benchmark JDK Dropped rec Dropped jvmti Dropped trace Skipped WC AGCT fail Unwind fail
akka-uct 21 ✅ / ✅ ✅ / ✅ 2 / 1 1995 / 2020 ✅ / ✅ ✅ / ✅
akka-uct 25 ✅ / ✅ ✅ / ✅ ✅ / 2 2171 / 2126 ✅ / ✅ ✅ / ✅
finagle-chirper 21 ✅ / ✅ ✅ / ✅ 3 / 3 8768 / 8817 ✅ / ✅ ✅ / ✅
finagle-chirper 25 ✅ / ✅ ✅ / ✅ 1 / 1 8597 / 8311 ✅ / ✅ ✅ / ✅
fj-kmeans 21 ✅ / ✅ ✅ / ✅ ✅ / 3 1268 / 1300 ✅ / ✅ ✅ / ✅
fj-kmeans 25 ✅ / ✅ ✅ / ✅ 3 / 2 1250 / 1293 ✅ / ✅ ✅ / ✅
future-genetic 21 ✅ / ✅ ✅ / ✅ 2 / 4 2937 / 2949 ✅ / ✅ ✅ / ✅
future-genetic 25 ✅ / ✅ ✅ / ✅ 1 / 3 2872 / 2881 ✅ / ✅ ✅ / ✅
naive-bayes 21 ✅ / ✅ ✅ / ✅ 4 / 4 3506 / 3486 ✅ / ✅ ✅ / ✅
naive-bayes 25 ✅ / ✅ ✅ / ✅ 1 / 1 3502 / 3469 ✅ / ✅ ✅ / ✅
reactors 21 ✅ / ✅ ✅ / ✅ ✅ / ✅ 1769 / 1817 ✅ / ✅ ✅ / ✅
reactors 25 ✅ / ✅ ✅ / ✅ 1 / ✅ 1944 / 1918 ✅ / ✅ ✅ / ✅

@jbachorik
jbachorik marked this pull request as ready for review July 31, 2026 15:01
@jbachorik
jbachorik requested a review from a team as a code owner July 31, 2026 15:01
Copilot AI review requested due to automatic review settings July 31, 2026 15:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 734072b35d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/release-validated.yml
Comment thread .github/workflows/release-validated.yml Outdated
@dd-octo-sts

dd-octo-sts Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results (commit 734072b)

Pipeline: https://gitlab.ddbuild.io/DataDog/apm-reliability/benchmarking-platform/-/pipelines/128272132 Commit: 734072b35d2cb297be51ab293c01823169f13013

⚠️ Significant outliers

  • 🟢 future-genetic (JDK 21): runtime -3.2% (2133→2065 ms)
  • 🔴 future-genetic (JDK 25): runtime +3.4% (2009→2077 ms)
Runtime details (per benchmark × JDK)
Benchmark JDK Latest Dev Δ (dev vs latest) Issues L/D
akka-uct 21 ✅ 10402 ms (21 iters) ✅ 10250 ms (21 iters) ≈ -1.5% (±10.6%) — / —
akka-uct 25 ✅ 8930 ms (24 iters) ✅ 8826 ms (24 iters) ≈ -1.2% (±10.4%) — / —
finagle-chirper 21 ✅ 5953 ms (33 iters) ✅ 5935 ms (33 iters) ≈ -0.3% (±24.6%) ⚠️ W:3 / ⚠️ W:3
finagle-chirper 25 ✅ 5494 ms (36 iters) ✅ 5473 ms (36 iters) ≈ -0.4% (±24.8%) ⚠️ W:3 / ⚠️ W:3
fj-kmeans 21 ✅ 2727 ms (68 iters) ✅ 2776 ms (67 iters) ≈ +1.8% (±2.7%) — / —
fj-kmeans 25 ✅ 2837 ms (66 iters) ✅ 2828 ms (66 iters) ≈ -0.3% (±2.6%) — / —
future-genetic 21 ✅ 2133 ms (87 iters) ✅ 2065 ms (90 iters) 🟢 -3.2% — / —
future-genetic 25 ✅ 2009 ms (92 iters) ✅ 2077 ms (89 iters) 🔴 +3.4% — / —
naive-bayes 21 ✅ 1314 ms (130 iters) ✅ 1234 ms (138 iters) ≈ -6.1% (±32%) — / —
naive-bayes 25 ✅ 1022 ms (167 iters) ✅ 1012 ms (168 iters) ≈ -1% (±31.8%) — / —
reactors 21 ✅ 16450 ms (15 iters) ✅ 15792 ms (15 iters) ≈ -4% (±7.6%) — / —
reactors 25 ✅ 18869 ms (15 iters) ✅ 18773 ms (15 iters) ≈ -0.5% (±5.1%) — / —
Internal counter details (ddprof)

ddprof internal counters, latest / dev (✅ = 0, · = unavailable):

Benchmark JDK Dropped rec Dropped jvmti Dropped trace Skipped WC AGCT fail Unwind fail
akka-uct 21 ✅ / ✅ ✅ / ✅ ✅ / 1 2009 / 1922 ✅ / ✅ ✅ / ✅
akka-uct 25 ✅ / ✅ ✅ / ✅ 1 / 1 2201 / 2301 ✅ / ✅ ✅ / ✅
finagle-chirper 21 ✅ / ✅ ✅ / ✅ 5 / 4 8503 / 8481 ✅ / ✅ ✅ / ✅
finagle-chirper 25 ✅ / ✅ ✅ / ✅ 1 / 2 8717 / 8472 ✅ / ✅ ✅ / ✅
fj-kmeans 21 ✅ / ✅ ✅ / ✅ 3 / 3 1261 / 1255 ✅ / ✅ ✅ / ✅
fj-kmeans 25 ✅ / ✅ ✅ / ✅ 2 / 1 1280 / 1266 ✅ / ✅ ✅ / ✅
future-genetic 21 ✅ / ✅ ✅ / ✅ 3 / 1 2964 / 2991 ✅ / ✅ ✅ / ✅
future-genetic 25 ✅ / ✅ ✅ / ✅ ✅ / ✅ 2834 / 2958 ✅ / ✅ ✅ / ✅
naive-bayes 21 ✅ / ✅ ✅ / ✅ 4 / 1 3483 / 3477 ✅ / ✅ ✅ / ✅
naive-bayes 25 ✅ / ✅ ✅ / ✅ 1 / 3 3463 / 3437 ✅ / ✅ ✅ / ✅
reactors 21 ✅ / ✅ ✅ / ✅ 1 / ✅ 1797 / 1623 ✅ / ✅ ✅ / ✅
reactors 25 ✅ / ✅ ✅ / ✅ 1 / 1 1933 / 1917 ✅ / ✅ ✅ / ✅

…add copyright header

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings August 3, 2026 11:07

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 12 out of 12 changed files in this pull request and generated no new comments.

Suppressed comments (1)

ddprof-test/src/test/java/com/datadoghq/profiler/test/ProfilerTestRunner.java:126

  • Tag filtering splits on "," but doesn’t trim whitespace or drop empty entries. This makes -Dtest.tags.include=slow, e2e behave unexpectedly (second tag becomes " e2e"), and a trailing comma can produce an empty tag. Consider trimming/filtering before building the TagFilter so tag-based CI selection is robust.
        String includeTags = System.getProperty("test.tags.include");
        if (includeTags != null && !includeTags.isEmpty()) {
            requestBuilder.filters(TagFilter.includeTags(includeTags.split(",")));
        }
        String excludeTags = System.getProperty("test.tags.exclude");

@datadog-official

This comment has been minimized.

@datadog-official

datadog-official Bot commented Aug 3, 2026

Copy link
Copy Markdown

View session in Datadog

Bits Code status: ✅ Done

Comment @DataDog to request changes

@dd-octo-sts

dd-octo-sts Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results (commit 0a04cee)

Pipeline: https://gitlab.ddbuild.io/DataDog/apm-reliability/benchmarking-platform/-/pipelines/128641133 Commit: 0a04cee77ba0d6addf944ced7558a2340851519f

⚠️ Significant outliers

  • 🟢 fj-kmeans (JDK 21): runtime -3.2% (2743→2654 ms)
  • 🔴 future-genetic (JDK 25): runtime +3.8% (2050→2127 ms)
Runtime details (per benchmark × JDK)
Benchmark JDK Latest Dev Δ (dev vs latest) Issues L/D
akka-uct 21 ✅ 10304 ms (21 iters) ✅ 10290 ms (21 iters) ≈ -0.1% (±10.7%) — / —
akka-uct 25 ✅ 8837 ms (24 iters) ✅ 8907 ms (24 iters) ≈ +0.8% (±10.8%) — / —
finagle-chirper 21 ✅ 6054 ms (33 iters) ✅ 5964 ms (33 iters) ≈ -1.5% (±24.6%) ⚠️ W:3 / ⚠️ W:3
finagle-chirper 25 ✅ 5458 ms (36 iters) ✅ 5398 ms (36 iters) ≈ -1.1% (±23.7%) ⚠️ W:3 / ⚠️ W:3
fj-kmeans 21 ✅ 2743 ms (68 iters) ✅ 2654 ms (71 iters) 🟢 -3.2% — / —
fj-kmeans 25 ✅ 2746 ms (69 iters) ✅ 2809 ms (67 iters) ≈ +2.3% (±2.8%) — / —
future-genetic 21 ✅ 2061 ms (90 iters) ✅ 2042 ms (90 iters) ≈ -0.9% (±2.5%) — / —
future-genetic 25 ✅ 2050 ms (91 iters) ✅ 2127 ms (87 iters) 🔴 +3.8% — / —
naive-bayes 21 ✅ 1289 ms (133 iters) ✅ 1288 ms (133 iters) ≈ -0.1% (±32.4%) — / —
naive-bayes 25 ✅ 1013 ms (169 iters) ✅ 1008 ms (170 iters) ≈ -0.5% (±31.3%) — / —
reactors 21 ✅ 16078 ms (15 iters) ✅ 16068 ms (15 iters) ≈ -0.1% (±8.4%) — / —
reactors 25 ✅ 18240 ms (15 iters) ✅ 18638 ms (15 iters) ≈ +2.2% (±4.7%) — / —
Internal counter details (ddprof)

ddprof internal counters, latest / dev (✅ = 0, · = unavailable):

Benchmark JDK Dropped rec Dropped jvmti Dropped trace Skipped WC AGCT fail Unwind fail
akka-uct 21 ✅ / ✅ ✅ / ✅ ✅ / ✅ 1957 / 2014 ✅ / ✅ ✅ / ✅
akka-uct 25 ✅ / ✅ ✅ / ✅ 3 / 7 2182 / 2240 ✅ / ✅ ✅ / ✅
finagle-chirper 21 ✅ / ✅ ✅ / ✅ 2 / 3 8697 / 8680 ✅ / ✅ ✅ / ✅
finagle-chirper 25 ✅ / ✅ ✅ / ✅ 2 / 1 8701 / 8234 ✅ / ✅ ✅ / ✅
fj-kmeans 21 ✅ / ✅ ✅ / ✅ 6 / ✅ 1253 / 1288 ✅ / ✅ ✅ / ✅
fj-kmeans 25 ✅ / ✅ ✅ / ✅ 2 / 3 1314 / 1277 ✅ / ✅ ✅ / ✅
future-genetic 21 ✅ / ✅ ✅ / ✅ 3 / 2 2976 / 2875 ✅ / ✅ ✅ / ✅
future-genetic 25 ✅ / ✅ ✅ / ✅ 1 / 2 2971 / 2902 ✅ / ✅ ✅ / ✅
naive-bayes 21 ✅ / ✅ ✅ / ✅ 7 / 3 3552 / 3468 ✅ / ✅ ✅ / ✅
naive-bayes 25 ✅ / ✅ ✅ / ✅ 2 / 6 3479 / 3458 ✅ / ✅ ✅ / ✅
reactors 21 ✅ / ✅ ✅ / ✅ 1 / ✅ 1576 / 1555 ✅ / ✅ ✅ / ✅
reactors 25 ✅ / ✅ ✅ / ✅ ✅ / ✅ 1870 / 1857 ✅ / ✅ ✅ / ✅

@jbachorik
jbachorik merged commit f3dc2c3 into main Aug 4, 2026
184 checks passed
@jbachorik
jbachorik deleted the jb/slow-test-suite branch August 4, 2026 10:21
@github-actions github-actions Bot added this to the 1.49.0 milestone Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants