Skip to content

Fix AWS SDK timeout test flake - #11349

Draft
jordan-wong wants to merge 1 commit into
masterfrom
dd/fix/aws-sdk-timeout-test-flake
Draft

Fix AWS SDK timeout test flake#11349
jordan-wong wants to merge 1 commit into
masterfrom
dd/fix/aws-sdk-timeout-test-flake

Conversation

@jordan-wong

Copy link
Copy Markdown
Contributor

What Does This Do

Fixing timeout and retry errors capturedView in Test OptimizationQuestions? Ask in #code-gen-flaky-tests

Makes the Spock test timeout and retry errors captured deterministic by asserting that the AWS span records an error as either an AWS client exception (AmazonClientException and subclasses) or the underlying network IOException family, without relying on a specific error message string.

Motivation

The test was flaky because AWS request timeouts/retries can surface as different exception types depending on where the timeout is enforced (SDK wrapper vs underlying IO abort), and error messages are not stable enough to assert exactly. The previous assertion required a specific exception/message combination, which intermittently didn’t match what was recorded on the span.

Additional Notes

  • Flake symptom: Condition failed with Exception: assertTraces(1) { trace(1) { span { ... } } }
  • Test-only change; no instrumentation behavior changed.

Contributor Checklist

Jira ticket: [PROJ-IDENT]


PR by Bits - View session in Datadog

Comment @DataDog to request changes

@datadog-datadog-prod-us1

Copy link
Copy Markdown
Contributor

View session in Datadog

Bits Dev status: ✅ Done

CI Auto-fix: Disabled | Enable

Comment @DataDog to request changes

@jordan-wong
jordan-wong requested a review from a team as a code ownerMay 12, 2026 12:17
@datadog-prod-us1-4

Copy link
Copy Markdown

I can only run on private repositories.

@github-actionsgithub-actionsBot added tag: ai generated Largely based on code generated by an AI or LLM and removed Bits AI labels May 12, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Hi! 👋 Thanks for your pull request! 🎉

To help us review it, please make sure to:

  • Add at least one type, and one component or instrumentation label to the pull request

If you need help, please check our contributing guidelines.

@jordan-wong
jordan-wong marked this pull request as draft May 12, 2026 12:18

@chatgpt-codex-connectorchatgpt-codex-connectorBot 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:8c720e674d

ℹ️ 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 on lines +391 to +393
errorTags AmazonClientException
} catch (AssertionError e) {
errorTags SdkClientException, "Unable to execute HTTP request: Request did not complete before the request timeout configuration."
errorTags IOException

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Assert the timeout error message tag

For this errored AWS span the tracer still emits error.message, but the class-only errorTags(...) overload only verifies error.type and error.stack; TagsAssert.assertTagsAllVerified() then treats error.message as an unexpected/unverified tag and the test fails whenever either branch matches. The old assertion verified the message, so this flake fix needs to keep asserting error.message flexibly (for example with String or a broad pattern) rather than omitting it.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Addressed in the current commit — both branches now pass String as the second argument to errorTags (e.g. errorTags AmazonClientException, String), which asserts that error.message is present and is a String instance without pinning the exact text. This was caught locally too: running the original bot commit against the test produced exactly this failure (set.isEmpty() false, leftover ['error.message']), which is what led to the String matcher approach.

@pr-commenter

Copy link
Copy Markdown

Benchmarks

⚠️Warning: Baseline build not found for merge-base commit. Comparing against the latest commit on master instead.

Startup

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmasterdd/fix/aws-sdk-timeout-test-flake
git_commit_date17785837331778588231
git_commit_sha710ca878c720e6
release_version1.63.0-SNAPSHOT~710ca875831.59.0-SNAPSHOT~8c720e674d
See matching parameters
BaselineCandidate
applicationinsecure-bankinsecure-bank
ci_job_date17785905011778590501
ci_job_id16756026441675602644
ci_pipeline_id112685639112685639
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_versionLinux runner-zfyrx7zua-project-304-concurrent-0-f5qo6gt3 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/LinuxLinux runner-zfyrx7zua-project-304-concurrent-0-f5qo6gt3 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
moduleAgentAgent
parentNoneNone

Summary

Found 5 performance improvements and 15 performance regressions! Performance is the same for 35 metrics, 10 unstable metrics.

scenarioΔ mean execution_timecandidate mean execution_timebaseline mean execution_time
scenario:startup:insecure-bank:iast:crashtrackingbetter
[-71.809µs; -26.262µs] or [-5.836%; -2.134%]
1.181ms1.230ms
scenario:startup:insecure-bank:iast:BytebuddyAgentbetter
[-52.157ms; -25.056ms] or [-6.255%; -3.005%]
795.197ms833.803ms
scenario:startup:insecure-bank:iast:GlobalTracerworse
[+11.386ms; +15.968ms] or [+4.788%; +6.715%]
251.470ms237.793ms
scenario:startup:insecure-bank:tracing:GlobalTracerworse
[+28.875ms; +37.597ms] or [+11.613%; +15.122%]
281.867ms248.631ms
scenario:startup:insecure-bank:tracing:Debuggerworse
[+4.543ms; +7.745ms] or [+7.464%; +12.725%]
67.010ms60.866ms
scenario:startup:insecure-bank:tracing:Telemetryworse
[+382.064µs; +742.240µs] or [+4.484%; +8.712%]
9.082ms8.520ms
scenario:startup:petclinic:appsec:AppSecbetter
[-16.638ms; -11.732ms] or [-8.975%; -6.328%]
171.205ms185.390ms
scenario:startup:petclinic:appsec:Debuggerworse
[+1.678ms; +6.546ms] or [+2.565%; +10.007%]
69.527ms65.415ms
scenario:startup:petclinic:appsec:Telemetryworse
[+1.455ms; +1.724ms] or [+18.902%; +22.389%]
9.287ms7.698ms
scenario:startup:petclinic:appsec:Flare Pollerbetter
[-5.446ms; -5.092ms] or [-59.965%; -56.068%]
3.813ms9.082ms
scenario:startup:petclinic:iast:GlobalTracerworse
[+13.465ms; +19.590ms] or [+5.675%; +8.257%]
253.788ms237.260ms
scenario:startup:petclinic:iast:Telemetryworse
[+407.771µs; +625.865µs] or [+5.113%; +7.848%]
8.492ms7.975ms
scenario:startup:petclinic:profiling:Agent.startbetter
[-123.450ms; -82.161ms] or [-9.354%; -6.226%]
1.217s1.320s
scenario:startup:petclinic:profiling:ProfilingAgentworse
[+2.478ms; +5.072ms] or [+2.646%; +5.416%]
97.439ms93.664ms
scenario:startup:petclinic:profiling:crashtrackingworse
[+676.190µs; +721.768µs] or [+128.046%; +136.676%]
1227.064µs528.085µs
scenario:startup:petclinic:profiling:Telemetryworse
[+491.512µs; +997.835µs] or [+5.993%; +12.167%]
8.946ms8.201ms
scenario:startup:petclinic:profiling:Profilingworse
[+2.474ms; +5.077ms] or [+2.625%; +5.387%]
98.022ms94.247ms
scenario:startup:petclinic:tracing:BytebuddyAgentworse
[+13.506ms; +32.442ms] or [+2.120%; +5.093%]
659.926ms636.952ms
scenario:startup:petclinic:tracing:GlobalTracerworse
[+28.002ms; +31.065ms] or [+11.247%; +12.477%]
278.516ms248.983ms
scenario:startup:petclinic:tracing:Debuggerworse
[+4.082ms; +7.051ms] or [+6.510%; +11.245%]
68.270ms62.704ms
Startup time reports for insecure-bank
gantt
title insecure-bank - global startup overhead: candidate=1.59.0-SNAPSHOT~8c720e674d, baseline=1.63.0-SNAPSHOT~710ca87583
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.071 s) : 0, 1071407
Total [baseline] (8.856 s) : 0, 8856300
Agent [candidate] (1.097 s) : 0, 1096511
Total [candidate] (8.834 s) : 0, 8833542
section iast
Agent [baseline] (1.258 s) : 0, 1258038
Total [baseline] (9.578 s) : 0, 9577900
Agent [candidate] (1.222 s) : 0, 1222351
Total [candidate] (9.375 s) : 0, 9374668
Loading
  • baseline results
ModuleVariantDurationΔ tracing
Agenttracing1.071 s-
Agentiast1.258 s186.631 ms (17.4%)
Totaltracing8.856 s-
Totaliast9.578 s721.601 ms (8.1%)
  • candidate results
ModuleVariantDurationΔ tracing
Agenttracing1.097 s-
Agentiast1.222 s125.84 ms (11.5%)
Totaltracing8.834 s-
Totaliast9.375 s541.126 ms (6.1%)
gantt
title insecure-bank - break down per module: candidate=1.59.0-SNAPSHOT~8c720e674d, baseline=1.63.0-SNAPSHOT~710ca87583
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.236 ms) : 0, 1236
crashtracking [candidate] (1.197 ms) : 0, 1197
BytebuddyAgent [baseline] (640.383 ms) : 0, 640383
BytebuddyAgent [candidate] (663.01 ms) : 0, 663010
GlobalTracer [baseline] (248.631 ms) : 0, 248631
GlobalTracer [candidate] (281.867 ms) : 0, 281867
AppSec [baseline] (32.874 ms) : 0, 32874
AppSec [candidate] (33.167 ms) : 0, 33167
Debugger [baseline] (60.866 ms) : 0, 60866
Debugger [candidate] (67.01 ms) : 0, 67010
Remote Config [baseline] (606.568 µs) : 0, 607
Remote Config [candidate] (634.756 µs) : 0, 635
Telemetry [baseline] (8.52 ms) : 0, 8520
Telemetry [candidate] (9.082 ms) : 0, 9082
Flare Poller [baseline] (11.56 ms) : 0, 11560
Flare Poller [candidate] (4.71 ms) : 0, 4710
AgentMeter [baseline] (29.703 ms) : 0, 29703
section iast
crashtracking [baseline] (1.23 ms) : 0, 1230
crashtracking [candidate] (1.181 ms) : 0, 1181
BytebuddyAgent [baseline] (833.803 ms) : 0, 833803
BytebuddyAgent [candidate] (795.197 ms) : 0, 795197
GlobalTracer [baseline] (237.793 ms) : 0, 237793
GlobalTracer [candidate] (251.47 ms) : 0, 251470
AppSec [baseline] (31.608 ms) : 0, 31608
AppSec [candidate] (35.312 ms) : 0, 35312
Debugger [baseline] (64.668 ms) : 0, 64668
Debugger [candidate] (63.678 ms) : 0, 63678
Remote Config [baseline] (556.524 µs) : 0, 557
Remote Config [candidate] (612.601 µs) : 0, 613
Telemetry [baseline] (8.119 ms) : 0, 8119
Telemetry [candidate] (8.487 ms) : 0, 8487
Flare Poller [baseline] (3.445 ms) : 0, 3445
Flare Poller [candidate] (3.658 ms) : 0, 3658
AgentMeter [baseline] (11.528 ms) : 0, 11528
IAST [baseline] (28.366 ms) : 0, 28366
IAST [candidate] (27.141 ms) : 0, 27141
Loading
Startup time reports for petclinic
gantt
title petclinic - global startup overhead: candidate=1.59.0-SNAPSHOT~8c720e674d, baseline=1.63.0-SNAPSHOT~710ca87583
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.069 s) : 0, 1069275
Total [baseline] (11.149 s) : 0, 11148843
Agent [candidate] (1.09 s) : 0, 1089956
Total [candidate] (10.859 s) : 0, 10858656
section appsec
Agent [baseline] (1.272 s) : 0, 1271603
Total [baseline] (11.096 s) : 0, 11095892
Agent [candidate] (1.266 s) : 0, 1265833
Total [candidate] (11.119 s) : 0, 11119146
section iast
Agent [baseline] (1.251 s) : 0, 1250990
Total [baseline] (11.151 s) : 0, 11151114
Agent [candidate] (1.235 s) : 0, 1235025
Total [candidate] (11.258 s) : 0, 11257919
section profiling
Agent [baseline] (1.32 s) : 0, 1319716
Total [baseline] (11.173 s) : 0, 11173414
Agent [candidate] (1.217 s) : 0, 1216910
Total [candidate] (10.993 s) : 0, 10993388
Loading
  • baseline results
ModuleVariantDurationΔ tracing
Agenttracing1.069 s-
Agentappsec1.272 s202.328 ms (18.9%)
Agentiast1.251 s181.715 ms (17.0%)
Agentprofiling1.32 s250.44 ms (23.4%)
Totaltracing11.149 s-
Totalappsec11.096 s-52.951 ms (-0.5%)
Totaliast11.151 s2.271 ms (0.0%)
Totalprofiling11.173 s24.571 ms (0.2%)
  • candidate results
ModuleVariantDurationΔ tracing
Agenttracing1.09 s-
Agentappsec1.266 s175.876 ms (16.1%)
Agentiast1.235 s145.068 ms (13.3%)
Agentprofiling1.217 s126.954 ms (11.6%)
Totaltracing10.859 s-
Totalappsec11.119 s260.49 ms (2.4%)
Totaliast11.258 s399.263 ms (3.7%)
Totalprofiling10.993 s134.732 ms (1.2%)
gantt
title petclinic - break down per module: candidate=1.59.0-SNAPSHOT~8c720e674d, baseline=1.63.0-SNAPSHOT~710ca87583
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.233 ms) : 0, 1233
crashtracking [candidate] (1.195 ms) : 0, 1195
BytebuddyAgent [baseline] (636.952 ms) : 0, 636952
BytebuddyAgent [candidate] (659.926 ms) : 0, 659926
GlobalTracer [baseline] (248.983 ms) : 0, 248983
GlobalTracer [candidate] (278.516 ms) : 0, 278516
AppSec [baseline] (32.746 ms) : 0, 32746
AppSec [candidate] (32.694 ms) : 0, 32694
Debugger [baseline] (62.704 ms) : 0, 62704
Debugger [candidate] (68.27 ms) : 0, 68270
Remote Config [baseline] (609.387 µs) : 0, 609
Remote Config [candidate] (646.601 µs) : 0, 647
Telemetry [baseline] (8.642 ms) : 0, 8642
Telemetry [candidate] (8.91 ms) : 0, 8910
Flare Poller [baseline] (10.775 ms) : 0, 10775
Flare Poller [candidate] (3.819 ms) : 0, 3819
AgentMeter [baseline] (29.822 ms) : 0, 29822
section appsec
crashtracking [baseline] (1.243 ms) : 0, 1243
crashtracking [candidate] (1.194 ms) : 0, 1194
BytebuddyAgent [baseline] (679.758 ms) : 0, 679758
BytebuddyAgent [candidate] (694.755 ms) : 0, 694755
GlobalTracer [baseline] (248.767 ms) : 0, 248767
GlobalTracer [candidate] (255.019 ms) : 0, 255019
AppSec [baseline] (185.39 ms) : 0, 185390
AppSec [candidate] (171.205 ms) : 0, 171205
Debugger [baseline] (65.415 ms) : 0, 65415
Debugger [candidate] (69.527 ms) : 0, 69527
Remote Config [baseline] (593.483 µs) : 0, 593
Remote Config [candidate] (793.029 µs) : 0, 793
Telemetry [baseline] (7.698 ms) : 0, 7698
Telemetry [candidate] (9.287 ms) : 0, 9287
Flare Poller [baseline] (9.082 ms) : 0, 9082
Flare Poller [candidate] (3.813 ms) : 0, 3813
AgentMeter [baseline] (12.081 ms) : 0, 12081
IAST [baseline] (24.726 ms) : 0, 24726
IAST [candidate] (24.561 ms) : 0, 24561
section iast
crashtracking [baseline] (1.231 ms) : 0, 1231
crashtracking [candidate] (1.205 ms) : 0, 1205
BytebuddyAgent [baseline] (827.332 ms) : 0, 827332
BytebuddyAgent [candidate] (803.707 ms) : 0, 803707
GlobalTracer [baseline] (237.26 ms) : 0, 237260
GlobalTracer [candidate] (253.788 ms) : 0, 253788
AppSec [baseline] (31.659 ms) : 0, 31659
AppSec [candidate] (34.677 ms) : 0, 34677
Debugger [baseline] (65.039 ms) : 0, 65039
Debugger [candidate] (65.729 ms) : 0, 65729
Remote Config [baseline] (541.96 µs) : 0, 542
Remote Config [candidate] (613.873 µs) : 0, 614
Telemetry [baseline] (7.975 ms) : 0, 7975
Telemetry [candidate] (8.492 ms) : 0, 8492
Flare Poller [baseline] (3.476 ms) : 0, 3476
Flare Poller [candidate] (3.645 ms) : 0, 3645
AgentMeter [baseline] (11.42 ms) : 0, 11420
IAST [baseline] (28.247 ms) : 0, 28247
IAST [candidate] (27.395 ms) : 0, 27395
section profiling
crashtracking [baseline] (528.085 µs) : 0, 528
crashtracking [candidate] (1.227 ms) : 0, 1227
BytebuddyAgent [baseline] (694.758 ms) : 0, 694758
BytebuddyAgent [candidate] (715.057 ms) : 0, 715057
GlobalTracer [baseline] (210.554 ms) : 0, 210554
GlobalTracer [candidate] (217.594 ms) : 0, 217594
AppSec [baseline] (32.64 ms) : 0, 32640
AppSec [candidate] (32.658 ms) : 0, 32658
Debugger [baseline] (68.097 ms) : 0, 68097
Debugger [candidate] (68.76 ms) : 0, 68760
Remote Config [baseline] (582.1 µs) : 0, 582
Remote Config [candidate] (659.11 µs) : 0, 659
Telemetry [baseline] (8.201 ms) : 0, 8201
Telemetry [candidate] (8.946 ms) : 0, 8946
Flare Poller [baseline] (3.71 ms) : 0, 3710
Flare Poller [candidate] (3.85 ms) : 0, 3850
AgentMeter [baseline] (9.475 ms) : 0, 9475
ProfilingAgent [baseline] (93.664 ms) : 0, 93664
ProfilingAgent [candidate] (97.439 ms) : 0, 97439
Profiling [baseline] (94.247 ms) : 0, 94247
Profiling [candidate] (98.022 ms) : 0, 98022
Loading

Load

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmasterdd/fix/aws-sdk-timeout-test-flake
git_commit_date17785837331778588231
git_commit_sha710ca878c720e6
release_version1.63.0-SNAPSHOT~710ca875831.59.0-SNAPSHOT~8c720e674d
See matching parameters
BaselineCandidate
applicationinsecure-bankinsecure-bank
ci_job_date17785911081778591108
ci_job_id16756026481675602648
ci_pipeline_id112685639112685639
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_versionLinux runner-zfyrx7zua-project-304-concurrent-1-5apjbcnj 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/LinuxLinux runner-zfyrx7zua-project-304-concurrent-1-5apjbcnj 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 4 performance improvements and 3 performance regressions! Performance is the same for 13 metrics, 16 unstable metrics.

scenarioΔ mean agg_http_req_duration_p50Δ mean agg_http_req_duration_p95Δ mean throughputcandidate mean agg_http_req_duration_p50candidate mean agg_http_req_duration_p95candidate mean throughputbaseline mean agg_http_req_duration_p50baseline mean agg_http_req_duration_p95baseline mean throughput
scenario:load:insecure-bank:profiling:high_loadbetter
[-253.189µs; -114.435µs] or [-13.627%; -6.159%]
unstable
[-1357.209µs; -469.949µs] or [-24.323%; -8.422%]
unstable
[+40.454op/s; +513.609op/s] or [+2.101%; +26.672%]
1.674ms4.666ms2202.656op/s1.858ms5.580ms1925.625op/s
scenario:load:insecure-bank:iast_FULL:high_loadbetter
[-607.494µs; -382.910µs] or [-10.794%; -6.804%]
better
[-1252.823µs; -682.798µs] or [-9.451%; -5.151%]
unstable
[-20.403op/s; +134.216op/s] or [-2.769%; +18.214%]
5.133ms12.288ms793.781op/s5.628ms13.256ms736.875op/s
scenario:load:insecure-bank:iast:high_loadbetter
[-210.094µs; -92.859µs] or [-7.955%; -3.516%]
unsure
[-544.822µs; -143.511µs] or [-7.111%; -1.873%]
unstable
[-72.930op/s; +215.618op/s] or [-5.378%; +15.899%]
2.489ms7.317ms1427.531op/s2.641ms7.662ms1356.188op/s
scenario:load:petclinic:profiling:high_loadworse
[+415.245µs; +1043.610µs] or [+2.326%; +5.847%]
worse
[+0.863ms; +2.021ms] or [+3.006%; +7.033%]
unstable
[-35.253op/s; +15.566op/s] or [-13.731%; +6.063%]
18.578ms30.170ms246.906op/s17.849ms28.728ms256.750op/s
scenario:load:petclinic:code_origins:high_loadworse
[+0.641ms; +1.640ms] or [+3.645%; +9.331%]
unsure
[+0.535ms; +2.023ms] or [+1.858%; +7.023%]
unstable
[-39.198op/s; +13.136op/s] or [-15.149%; +5.077%]
18.719ms30.083ms245.719op/s17.579ms28.804ms258.750op/s
Request duration reports for insecure-bank
gantt
title insecure-bank - request duration [CI 0.99] : candidate=1.59.0-SNAPSHOT~8c720e674d, baseline=1.63.0-SNAPSHOT~710ca87583
dateFormat X
axisFormat %s
section baseline
no_agent (1.273 ms) : 1260, 1285
. : milestone, 1273,
iast (3.376 ms) : 3328, 3423
. : milestone, 3376,
iast_FULL (6.281 ms) : 6216, 6346
. : milestone, 6281,
iast_GLOBAL (3.694 ms) : 3633, 3755
. : milestone, 3694,
profiling (2.354 ms) : 2331, 2377
. : milestone, 2354,
tracing (1.866 ms) : 1852, 1881
. : milestone, 1866,
section candidate
no_agent (1.257 ms) : 1245, 1269
. : milestone, 1257,
iast (3.203 ms) : 3163, 3244
. : milestone, 3203,
iast_FULL (5.825 ms) : 5767, 5883
. : milestone, 5825,
iast_GLOBAL (3.587 ms) : 3532, 3643
. : milestone, 3587,
profiling (2.05 ms) : 2032, 2067
. : milestone, 2050,
tracing (1.962 ms) : 1944, 1979
. : milestone, 1962,
Loading
  • baseline results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent1.273 ms [1.26 ms, 1.285 ms]-
iast3.376 ms [3.328 ms, 3.423 ms]2.103 ms (165.2%)
iast_FULL6.281 ms [6.216 ms, 6.346 ms]5.008 ms (393.4%)
iast_GLOBAL3.694 ms [3.633 ms, 3.755 ms]2.421 ms (190.2%)
profiling2.354 ms [2.331 ms, 2.377 ms]1.081 ms (84.9%)
tracing1.866 ms [1.852 ms, 1.881 ms]593.451 µs (46.6%)
  • candidate results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent1.257 ms [1.245 ms, 1.269 ms]-
iast3.203 ms [3.163 ms, 3.244 ms]1.946 ms (154.9%)
iast_FULL5.825 ms [5.767 ms, 5.883 ms]4.568 ms (363.5%)
iast_GLOBAL3.587 ms [3.532 ms, 3.643 ms]2.331 ms (185.4%)
profiling2.05 ms [2.032 ms, 2.067 ms]792.742 µs (63.1%)
tracing1.962 ms [1.944 ms, 1.979 ms]705.142 µs (56.1%)
Request duration reports for petclinic
gantt
title petclinic - request duration [CI 0.99] : candidate=1.59.0-SNAPSHOT~8c720e674d, baseline=1.63.0-SNAPSHOT~710ca87583
dateFormat X
axisFormat %s
section baseline
no_agent (18.595 ms) : 18402, 18789
. : milestone, 18595,
appsec (18.914 ms) : 18724, 19103
. : milestone, 18914,
code_origins (18.034 ms) : 17856, 18211
. : milestone, 18034,
iast (17.897 ms) : 17720, 18074
. : milestone, 17897,
profiling (18.176 ms) : 17998, 18353
. : milestone, 18176,
tracing (17.894 ms) : 17715, 18072
. : milestone, 17894,
section candidate
no_agent (17.471 ms) : 17293, 17649
. : milestone, 17471,
appsec (18.899 ms) : 18709, 19088
. : milestone, 18899,
code_origins (18.994 ms) : 18804, 19183
. : milestone, 18994,
iast (17.963 ms) : 17782, 18144
. : milestone, 17963,
profiling (18.901 ms) : 18710, 19092
. : milestone, 18901,
tracing (17.869 ms) : 17690, 18047
. : milestone, 17869,
Loading
  • baseline results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent18.595 ms [18.402 ms, 18.789 ms]-
appsec18.914 ms [18.724 ms, 19.103 ms]318.586 µs (1.7%)
code_origins18.034 ms [17.856 ms, 18.211 ms]-561.672 µs (-3.0%)
iast17.897 ms [17.72 ms, 18.074 ms]-698.02 µs (-3.8%)
profiling18.176 ms [17.998 ms, 18.353 ms]-419.669 µs (-2.3%)
tracing17.894 ms [17.715 ms, 18.072 ms]-701.525 µs (-3.8%)
  • candidate results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent17.471 ms [17.293 ms, 17.649 ms]-
appsec18.899 ms [18.709 ms, 19.088 ms]1.428 ms (8.2%)
code_origins18.994 ms [18.804 ms, 19.183 ms]1.523 ms (8.7%)
iast17.963 ms [17.782 ms, 18.144 ms]491.64 µs (2.8%)
profiling18.901 ms [18.71 ms, 19.092 ms]1.429 ms (8.2%)
tracing17.869 ms [17.69 ms, 18.047 ms]397.327 µs (2.3%)

Dacapo

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmasterdd/fix/aws-sdk-timeout-test-flake
git_commit_date17785837331778588231
git_commit_sha710ca878c720e6
release_version1.63.0-SNAPSHOT~710ca875831.59.0-SNAPSHOT~8c720e674d
See matching parameters
BaselineCandidate
applicationbiojavabiojava
ci_job_date17785907761778590776
ci_job_id16756026521675602652
ci_pipeline_id112685639112685639
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_versionLinux runner-zfyrx7zua-project-304-concurrent-0-03vharan 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/LinuxLinux runner-zfyrx7zua-project-304-concurrent-0-03vharan 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 1 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 0 unstable metrics.

scenarioΔ mean execution_timecandidate mean execution_timebaseline mean execution_time
scenario:dacapo:tomcat:appsecbetter
[-1.525ms; -1.175ms] or [-39.520%; -30.445%]
2.509ms3.858ms
Execution time for tomcat
gantt
title tomcat - execution time [CI 0.99] : candidate=1.59.0-SNAPSHOT~8c720e674d, baseline=1.63.0-SNAPSHOT~710ca87583
dateFormat X
axisFormat %s
section baseline
no_agent (1.498 ms) : 1486, 1510
. : milestone, 1498,
appsec (3.858 ms) : 3634, 4082
. : milestone, 3858,
iast (2.301 ms) : 2231, 2371
. : milestone, 2301,
iast_GLOBAL (2.345 ms) : 2274, 2415
. : milestone, 2345,
profiling (2.12 ms) : 2065, 2175
. : milestone, 2120,
tracing (2.112 ms) : 2058, 2166
. : milestone, 2112,
section candidate
no_agent (1.501 ms) : 1489, 1512
. : milestone, 1501,
appsec (2.509 ms) : 2456, 2561
. : milestone, 2509,
iast (2.254 ms) : 2188, 2319
. : milestone, 2254,
iast_GLOBAL (2.295 ms) : 2229, 2361
. : milestone, 2295,
profiling (2.125 ms) : 2070, 2179
. : milestone, 2125,
tracing (2.087 ms) : 2035, 2138
. : milestone, 2087,
Loading
  • baseline results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent1.498 ms [1.486 ms, 1.51 ms]-
appsec3.858 ms [3.634 ms, 4.082 ms]2.36 ms (157.5%)
iast2.301 ms [2.231 ms, 2.371 ms]802.613 µs (53.6%)
iast_GLOBAL2.345 ms [2.274 ms, 2.415 ms]846.551 µs (56.5%)
profiling2.12 ms [2.065 ms, 2.175 ms]621.625 µs (41.5%)
tracing2.112 ms [2.058 ms, 2.166 ms]613.597 µs (41.0%)
  • candidate results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent1.501 ms [1.489 ms, 1.512 ms]-
appsec2.509 ms [2.456 ms, 2.561 ms]1.008 ms (67.2%)
iast2.254 ms [2.188 ms, 2.319 ms]753.11 µs (50.2%)
iast_GLOBAL2.295 ms [2.229 ms, 2.361 ms]794.391 µs (52.9%)
profiling2.125 ms [2.07 ms, 2.179 ms]624.092 µs (41.6%)
tracing2.087 ms [2.035 ms, 2.138 ms]586.02 µs (39.0%)
Execution time for biojava
gantt
title biojava - execution time [CI 0.99] : candidate=1.59.0-SNAPSHOT~8c720e674d, baseline=1.63.0-SNAPSHOT~710ca87583
dateFormat X
axisFormat %s
section baseline
no_agent (15.334 s) : 15334000, 15334000
. : milestone, 15334000,
appsec (14.88 s) : 14880000, 14880000
. : milestone, 14880000,
iast (18.352 s) : 18352000, 18352000
. : milestone, 18352000,
iast_GLOBAL (18.25 s) : 18250000, 18250000
. : milestone, 18250000,
profiling (14.918 s) : 14918000, 14918000
. : milestone, 14918000,
tracing (15.31 s) : 15310000, 15310000
. : milestone, 15310000,
section candidate
no_agent (15.377 s) : 15377000, 15377000
. : milestone, 15377000,
appsec (15.056 s) : 15056000, 15056000
. : milestone, 15056000,
iast (17.999 s) : 17999000, 17999000
. : milestone, 17999000,
iast_GLOBAL (17.656 s) : 17656000, 17656000
. : milestone, 17656000,
profiling (14.949 s) : 14949000, 14949000
. : milestone, 14949000,
tracing (14.658 s) : 14658000, 14658000
. : milestone, 14658000,
Loading
  • baseline results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent15.334 s [15.334 s, 15.334 s]-
appsec14.88 s [14.88 s, 14.88 s]-454.0 ms (-3.0%)
iast18.352 s [18.352 s, 18.352 s]3.018 s (19.7%)
iast_GLOBAL18.25 s [18.25 s, 18.25 s]2.916 s (19.0%)
profiling14.918 s [14.918 s, 14.918 s]-416.0 ms (-2.7%)
tracing15.31 s [15.31 s, 15.31 s]-24.0 ms (-0.2%)
  • candidate results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent15.377 s [15.377 s, 15.377 s]-
appsec15.056 s [15.056 s, 15.056 s]-321.0 ms (-2.1%)
iast17.999 s [17.999 s, 17.999 s]2.622 s (17.1%)
iast_GLOBAL17.656 s [17.656 s, 17.656 s]2.279 s (14.8%)
profiling14.949 s [14.949 s, 14.949 s]-428.0 ms (-2.8%)
tracing14.658 s [14.658 s, 14.658 s]-719.0 ms (-4.7%)

@jordan-wong
jordan-wongforce-pushed the dd/fix/aws-sdk-timeout-test-flake branch 2 times, most recently from b98381b to 7ae44f7CompareMay 20, 2026 14:40
@datadog-datadog-prod-us1

This comment has been minimized.

The "timeout and retry errors captured" test could record the AWS
timeout as several different exception types depending on where the
timeout was enforced (SDK wrapper vs underlying IO abort), and with
slightly different message text. The previous try/catch assertion
expected one specific (class, message) combination in each branch
and intermittently failed when neither matched.
Accept either an AmazonClientException (covers SdkClientException
and friends) or an IOException, with any String error.message. This
matches what the span actually records across the observed flake
variants without depending on a stable message string.
Remove the @flaky annotation since the assertion is now deterministic
under the observed failure modes.
Test-only change; no instrumentation behavior modified.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@jordan-wong
jordan-wongforce-pushed the dd/fix/aws-sdk-timeout-test-flake branch from 7ae44f7 to 0aafdb1CompareJune 1, 2026 17:17
@dd-octo-sts

Copy link
Copy Markdown
Contributor

🟢 Java Benchmark SLOs — All performance SLOs passed

SuiteStatus
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
ScenarioCandidatemasterΔ (95% CI of mean)
startup:insecure-bank:iast:Agent14.02 s14.06 s[-1.2%; +0.6%] (no difference)
startup:insecure-bank:tracing:Agent12.97 s13.05 s[-1.8%; +0.5%] (no difference)
startup:petclinic:appsec:Agent17.08 s15.81 s[-0.7%; +16.7%] (unstable)
startup:petclinic:iast:Agent16.88 s17.07 s[-2.3%; +0.0%] (no difference)
startup:petclinic:profiling:Agent17.06 s16.87 s[-0.1%; +2.3%] (no difference)
startup:petclinic:tracing:Agent15.34 s16.41 s[-14.3%; +1.3%] (unstable)

Commit:0aafdb14 · 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.

@jordan-wongjordan-wong added type: bug fix Bug fix inst: aws sdk AWS SDK instrumentation labels Jun 2, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

inst: aws sdkAWS SDK instrumentationtag: ai generatedLargely based on code generated by an AI or LLMtype: bug fixBug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@jordan-wong