Skip to content

Split Akka HTTP and Spring WebFlux tests across CI shards - #12848

Draft
cgcote wants to merge 2 commits into
codex/apmci-51from
codex/akka-webflux-shards
Draft

cgcote wants to merge 2 commits into
codex/apmci-51from
codex/akka-webflux-shards

Conversation

@cgcote

@cgcote cgcote commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • split Akka HTTP 10.0 into five virtual CI projects using its existing version, forked, IAST, and Lagom tasks
  • split the Spring WebFlux 5.0 base task into four balanced two-class groups, retain a catch-all for new classes, and group its forked and IAST tasks
  • replace the two parent weights with measurements from CI pipeline 144209984 and rebalance the eight instrumentation shards

Stack

CI Visibility measurements

Pipeline 144209984 completed successfully and provided coverage-complete weights:

  • Akka HTTP: 40 passing suites; 1,361 passing and 683 skipped test executions
  • largest Akka unit: 166.919 s, down 72.7% from the 612.3 s parent weight
  • Spring WebFlux: 12 passing suites; 229 passing and 130 skipped test executions
  • largest WebFlux unit: 122.910 s, down 75.9% from the 509.4 s parent weight
  • slowest JVM 11 instrumentation shard: 26m29s, down from 34m43s (23.7%)
  • aggregate JVM 11 shard compute: 10,871 s, down from 13,519 s (19.6%)
  • modeled instrumentation shard max/min ratio after tuning: 1.0170
  • all five Akka units land on separate shards; the five active WebFlux units span five shards

The full pipeline took 62m03s because the unrelated linux-java-spring-petclinic-startup-parallel job took 46m21s, compared with 13m50s in the parent run. The instrumentation shards finished much earlier.

Validation

  • ./gradlew spotlessApply --no-daemon
  • ./gradlew help -Pslot=1/8 --no-daemon
  • no test suites were run locally

@cgcote cgcote added type: feature Enhancements and improvements tag: no release notes Changes to exclude from release notes inst: spring Spring instrumentation inst: akka Akka instrumentation tag: ai generated Largely based on code generated by an AI or LLM labels Oct 13, 2026
@datadog-datadog-us1-prod

This comment has been minimized.

@dd-octo-sts

dd-octo-sts Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

🟢 Java Benchmark SLOs — All performance SLOs passed

Suite Status
Startup 🟢 pass

SLO thresholds are defined here based on automatically generated metrics. A warning is raised when results are within 5% of the threshold.

PR vs. master results
Scenario Candidate master Δ (95% CI of mean)
startup:insecure-bank:iast:Agent 13.87 s 13.98 s [-1.5%; -0.0%] (maybe better)
startup:insecure-bank:tracing:Agent 12.86 s 12.97 s [-1.6%; -0.1%] (maybe better)
startup:petclinic:appsec:Agent 17.11 s 17.08 s [-0.7%; +1.0%] (no difference)
startup:petclinic:iast:Agent 16.95 s 16.31 s [-0.4%; +8.2%] (no difference)
startup:petclinic:profiling:Agent 16.73 s 16.80 s [-1.6%; +0.8%] (no difference)
startup:petclinic:sca:Agent 17.01 s 16.96 s [-0.6%; +1.1%] (no difference)
startup:petclinic:tracing:Agent 16.12 s 15.68 s [-1.5%; +7.1%] (no difference)

Commit: 6bf07f78 · CI Pipeline · Benchmarking Platform UI


Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

inst: akka Akka instrumentation inst: spring Spring instrumentation tag: ai generated Largely based on code generated by an AI or LLM tag: no release notes Changes to exclude from release notes type: feature Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant