Skip to content

Support CompletableFuture on Spring Messaging Spans - #10979

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 5 commits into
masterfrom
mhlidd/async_spring_messaging
Mar 31, 2026
Merged

Support CompletableFuture on Spring Messaging Spans#10979
gh-worker-dd-mergequeue-cf854d[bot] merged 5 commits into
masterfrom
mhlidd/async_spring_messaging

Conversation

@mhlidd

@mhliddmhlidd commented Mar 26, 2026

Copy link
Copy Markdown
Contributor

What Does This Do

This PR updates the spring-messaging integration to support Async message handlers. Previously, the message handler would finish the span directly after making the async call. Now, we detect if the call is sync/async, and add a whenComplete to the span.

This reuses previously written code to handle async processing in Spring WebMVC Controllers.

Motivation

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

Note:Once your PR is ready to merge, add it to the merge queue by commenting /merge./merge -c cancels the queue request. /merge -f --reason "reason" skips all merge queue checks; please use this judiciously, as some checks do not run at the PR-level. For more information, see this doc.

@pr-commenter

pr-commenterBot commented Mar 26, 2026

Copy link
Copy Markdown

Benchmarks

Startup

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmastermhlidd/async_spring_messaging
git_commit_date17746194221774628636
git_commit_sha1abe1407a58426
release_version1.61.0-SNAPSHOT~1abe140bde1.61.0-SNAPSHOT~7a58426997
See matching parameters
BaselineCandidate
applicationinsecure-bankinsecure-bank
ci_job_date17746305001774630500
ci_job_id15462640681546264068
ci_pipeline_id104803474104803474
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-2-qa7lqpog 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-2-qa7lqpog 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 0 performance improvements and 0 performance regressions! Performance is the same for 63 metrics, 8 unstable metrics.

Startup time reports for insecure-bank
gantt
title insecure-bank - global startup overhead: candidate=1.61.0-SNAPSHOT~7a58426997, baseline=1.61.0-SNAPSHOT~1abe140bde
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.062 s) : 0, 1061895
Total [baseline] (8.89 s) : 0, 8890230
Agent [candidate] (1.058 s) : 0, 1058323
Total [candidate] (8.893 s) : 0, 8892614
section iast
Agent [baseline] (1.229 s) : 0, 1229161
Total [baseline] (9.567 s) : 0, 9566673
Agent [candidate] (1.24 s) : 0, 1239935
Total [candidate] (9.588 s) : 0, 9587909
Loading
  • baseline results
ModuleVariantDurationΔ tracing
Agenttracing1.062 s-
Agentiast1.229 s167.267 ms (15.8%)
Totaltracing8.89 s-
Totaliast9.567 s676.444 ms (7.6%)
  • candidate results
ModuleVariantDurationΔ tracing
Agenttracing1.058 s-
Agentiast1.24 s181.612 ms (17.2%)
Totaltracing8.893 s-
Totaliast9.588 s695.295 ms (7.8%)
gantt
title insecure-bank - break down per module: candidate=1.61.0-SNAPSHOT~7a58426997, baseline=1.61.0-SNAPSHOT~1abe140bde
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.2 ms) : 0, 1200
crashtracking [candidate] (1.197 ms) : 0, 1197
BytebuddyAgent [baseline] (631.259 ms) : 0, 631259
BytebuddyAgent [candidate] (629.995 ms) : 0, 629995
AgentMeter [baseline] (29.49 ms) : 0, 29490
AgentMeter [candidate] (29.409 ms) : 0, 29409
GlobalTracer [baseline] (258.258 ms) : 0, 258258
GlobalTracer [candidate] (257.439 ms) : 0, 257439
AppSec [baseline] (31.868 ms) : 0, 31868
AppSec [candidate] (32.095 ms) : 0, 32095
Debugger [baseline] (59.95 ms) : 0, 59950
Debugger [candidate] (59.845 ms) : 0, 59845
Remote Config [baseline] (590.15 µs) : 0, 590
Remote Config [candidate] (601.277 µs) : 0, 601
Telemetry [baseline] (8.045 ms) : 0, 8045
Telemetry [candidate] (8.088 ms) : 0, 8088
Flare Poller [baseline] (4.962 ms) : 0, 4962
Flare Poller [candidate] (3.557 ms) : 0, 3557
section iast
crashtracking [baseline] (1.21 ms) : 0, 1210
crashtracking [candidate] (1.215 ms) : 0, 1215
BytebuddyAgent [baseline] (797.258 ms) : 0, 797258
BytebuddyAgent [candidate] (805.242 ms) : 0, 805242
AgentMeter [baseline] (11.437 ms) : 0, 11437
AgentMeter [candidate] (11.732 ms) : 0, 11732
GlobalTracer [baseline] (247.791 ms) : 0, 247791
GlobalTracer [candidate] (249.786 ms) : 0, 249786
AppSec [baseline] (26.598 ms) : 0, 26598
AppSec [candidate] (26.885 ms) : 0, 26885
Debugger [baseline] (69.383 ms) : 0, 69383
Debugger [candidate] (67.238 ms) : 0, 67238
Remote Config [baseline] (536.906 µs) : 0, 537
Remote Config [candidate] (533.29 µs) : 0, 533
Telemetry [baseline] (9.723 ms) : 0, 9723
Telemetry [candidate] (11.398 ms) : 0, 11398
Flare Poller [baseline] (3.521 ms) : 0, 3521
Flare Poller [candidate] (3.919 ms) : 0, 3919
IAST [baseline] (25.442 ms) : 0, 25442
IAST [candidate] (25.676 ms) : 0, 25676
Loading
Startup time reports for petclinic
gantt
title petclinic - global startup overhead: candidate=1.61.0-SNAPSHOT~7a58426997, baseline=1.61.0-SNAPSHOT~1abe140bde
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.061 s) : 0, 1061162
Total [baseline] (11.055 s) : 0, 11054614
Agent [candidate] (1.06 s) : 0, 1060187
Total [candidate] (11.071 s) : 0, 11070749
section appsec
Agent [baseline] (1.252 s) : 0, 1251636
Total [baseline] (11.112 s) : 0, 11111514
Agent [candidate] (1.26 s) : 0, 1259991
Total [candidate] (11.274 s) : 0, 11274106
section iast
Agent [baseline] (1.232 s) : 0, 1232476
Total [baseline] (11.341 s) : 0, 11341382
Agent [candidate] (1.248 s) : 0, 1248344
Total [candidate] (11.349 s) : 0, 11348943
section profiling
Agent [baseline] (1.185 s) : 0, 1184585
Total [baseline] (11.038 s) : 0, 11038178
Agent [candidate] (1.186 s) : 0, 1185975
Total [candidate] (11.184 s) : 0, 11184005
Loading
  • baseline results
ModuleVariantDurationΔ tracing
Agenttracing1.061 s-
Agentappsec1.252 s190.474 ms (17.9%)
Agentiast1.232 s171.314 ms (16.1%)
Agentprofiling1.185 s123.424 ms (11.6%)
Totaltracing11.055 s-
Totalappsec11.112 s56.901 ms (0.5%)
Totaliast11.341 s286.768 ms (2.6%)
Totalprofiling11.038 s-16.436 ms (-0.1%)
  • candidate results
ModuleVariantDurationΔ tracing
Agenttracing1.06 s-
Agentappsec1.26 s199.803 ms (18.8%)
Agentiast1.248 s188.157 ms (17.7%)
Agentprofiling1.186 s125.788 ms (11.9%)
Totaltracing11.071 s-
Totalappsec11.274 s203.356 ms (1.8%)
Totaliast11.349 s278.194 ms (2.5%)
Totalprofiling11.184 s113.256 ms (1.0%)
gantt
title petclinic - break down per module: candidate=1.61.0-SNAPSHOT~7a58426997, baseline=1.61.0-SNAPSHOT~1abe140bde
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.2 ms) : 0, 1200
crashtracking [candidate] (1.186 ms) : 0, 1186
BytebuddyAgent [baseline] (630.513 ms) : 0, 630513
BytebuddyAgent [candidate] (630.986 ms) : 0, 630986
AgentMeter [baseline] (29.466 ms) : 0, 29466
AgentMeter [candidate] (29.464 ms) : 0, 29464
GlobalTracer [baseline] (257.922 ms) : 0, 257922
GlobalTracer [candidate] (257.676 ms) : 0, 257676
AppSec [baseline] (31.773 ms) : 0, 31773
AppSec [candidate] (31.774 ms) : 0, 31774
Debugger [baseline] (60.524 ms) : 0, 60524
Debugger [candidate] (60.301 ms) : 0, 60301
Remote Config [baseline] (603.197 µs) : 0, 603
Remote Config [candidate] (590.373 µs) : 0, 590
Telemetry [baseline] (8.029 ms) : 0, 8029
Telemetry [candidate] (7.952 ms) : 0, 7952
Flare Poller [baseline] (5.032 ms) : 0, 5032
Flare Poller [candidate] (4.223 ms) : 0, 4223
section appsec
crashtracking [baseline] (1.189 ms) : 0, 1189
crashtracking [candidate] (1.191 ms) : 0, 1191
BytebuddyAgent [baseline] (661.299 ms) : 0, 661299
BytebuddyAgent [candidate] (664.867 ms) : 0, 664867
AgentMeter [baseline] (12.249 ms) : 0, 12249
AgentMeter [candidate] (12.24 ms) : 0, 12240
GlobalTracer [baseline] (259.034 ms) : 0, 259034
GlobalTracer [candidate] (260.878 ms) : 0, 260878
IAST [baseline] (24.234 ms) : 0, 24234
IAST [candidate] (24.585 ms) : 0, 24585
AppSec [baseline] (177.931 ms) : 0, 177931
AppSec [candidate] (179.587 ms) : 0, 179587
Debugger [baseline] (66.711 ms) : 0, 66711
Debugger [candidate] (67.246 ms) : 0, 67246
Remote Config [baseline] (640.369 µs) : 0, 640
Remote Config [candidate] (655.857 µs) : 0, 656
Telemetry [baseline] (8.328 ms) : 0, 8328
Telemetry [candidate] (8.596 ms) : 0, 8596
Flare Poller [baseline] (3.61 ms) : 0, 3610
Flare Poller [candidate] (3.691 ms) : 0, 3691
section iast
crashtracking [baseline] (1.195 ms) : 0, 1195
crashtracking [candidate] (1.217 ms) : 0, 1217
BytebuddyAgent [baseline] (799.334 ms) : 0, 799334
BytebuddyAgent [candidate] (810.748 ms) : 0, 810748
AgentMeter [baseline] (11.455 ms) : 0, 11455
AgentMeter [candidate] (12.037 ms) : 0, 12037
GlobalTracer [baseline] (248.576 ms) : 0, 248576
GlobalTracer [candidate] (250.9 ms) : 0, 250900
IAST [baseline] (25.354 ms) : 0, 25354
IAST [candidate] (25.846 ms) : 0, 25846
AppSec [baseline] (26.596 ms) : 0, 26596
AppSec [candidate] (27.041 ms) : 0, 27041
Debugger [baseline] (70.817 ms) : 0, 70817
Debugger [candidate] (70.269 ms) : 0, 70269
Remote Config [baseline] (528.322 µs) : 0, 528
Remote Config [candidate] (533.395 µs) : 0, 533
Telemetry [baseline] (9.172 ms) : 0, 9172
Telemetry [candidate] (9.893 ms) : 0, 9893
Flare Poller [baseline] (3.429 ms) : 0, 3429
Flare Poller [candidate] (3.405 ms) : 0, 3405
section profiling
crashtracking [baseline] (1.17 ms) : 0, 1170
crashtracking [candidate] (1.17 ms) : 0, 1170
BytebuddyAgent [baseline] (684.192 ms) : 0, 684192
BytebuddyAgent [candidate] (683.983 ms) : 0, 683983
AgentMeter [baseline] (8.995 ms) : 0, 8995
AgentMeter [candidate] (8.993 ms) : 0, 8993
GlobalTracer [baseline] (215.004 ms) : 0, 215004
GlobalTracer [candidate] (215.075 ms) : 0, 215075
AppSec [baseline] (32.204 ms) : 0, 32204
AppSec [candidate] (32.382 ms) : 0, 32382
Debugger [baseline] (65.483 ms) : 0, 65483
Debugger [candidate] (66.105 ms) : 0, 66105
Remote Config [baseline] (582.856 µs) : 0, 583
Remote Config [candidate] (573.767 µs) : 0, 574
Telemetry [baseline] (7.705 ms) : 0, 7705
Telemetry [candidate] (7.898 ms) : 0, 7898
Flare Poller [baseline] (4.287 ms) : 0, 4287
Flare Poller [candidate] (3.516 ms) : 0, 3516
ProfilingAgent [baseline] (94.046 ms) : 0, 94046
ProfilingAgent [candidate] (95.294 ms) : 0, 95294
Profiling [baseline] (94.597 ms) : 0, 94597
Profiling [candidate] (95.867 ms) : 0, 95867
Loading

Load

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmastermhlidd/async_spring_messaging
git_commit_date17746194221774628636
git_commit_sha1abe1407a58426
release_version1.61.0-SNAPSHOT~1abe140bde1.61.0-SNAPSHOT~7a58426997
See matching parameters
BaselineCandidate
applicationinsecure-bankinsecure-bank
ci_job_date17746309441774630944
ci_job_id15462640691546264069
ci_pipeline_id104803474104803474
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-rxp7citd 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-rxp7citd 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 0 performance improvements and 6 performance regressions! Performance is the same for 14 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:iast_FULL:high_loadworse
[+177.332µs; +374.552µs] or [+3.422%; +7.227%]
worse
[+461.546µs; +997.371µs] or [+3.752%; +8.107%]
unstable
[-112.657op/s; +34.469op/s] or [-14.206%; +4.347%]
5.458ms13.032ms753.938op/s5.182ms12.303ms793.031op/s
scenario:load:petclinic:appsec:high_loadworse
[+449.381µs; +1028.630µs] or [+2.535%; +5.803%]
unsure
[+269.117µs; +1461.448µs] or [+0.911%; +4.947%]
unstable
[-33.372op/s; +13.560op/s] or [-12.998%; +5.281%]
18.466ms30.406ms246.844op/s17.727ms29.541ms256.750op/s
scenario:load:petclinic:profiling:high_loadworse
[+0.994ms; +2.219ms] or [+5.356%; +11.951%]
worse
[+1.288ms; +3.462ms] or [+4.275%; +11.491%]
unstable
[-41.181op/s; +4.931op/s] or [-16.676%; +1.997%]
20.171ms32.507ms228.812op/s18.565ms30.131ms246.938op/s
scenario:load:petclinic:no_agent:high_loadworse
[+0.641ms; +2.192ms] or [+3.657%; +12.514%]
unstable
[+0.301ms; +3.902ms] or [+1.017%; +13.198%]
unstable
[-44.454op/s; +7.079op/s] or [-17.131%; +2.728%]
18.936ms31.663ms240.812op/s17.520ms29.562ms259.500op/s
Request duration reports for petclinic
gantt
title petclinic - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~7a58426997, baseline=1.61.0-SNAPSHOT~1abe140bde
dateFormat X
axisFormat %s
section baseline
no_agent (17.985 ms) : 17798, 18172
. : milestone, 17985,
appsec (18.177 ms) : 17993, 18361
. : milestone, 18177,
code_origins (17.83 ms) : 17652, 18009
. : milestone, 17830,
iast (17.703 ms) : 17525, 17881
. : milestone, 17703,
profiling (18.899 ms) : 18709, 19090
. : milestone, 18899,
tracing (17.799 ms) : 17621, 17977
. : milestone, 17799,
section candidate
no_agent (19.387 ms) : 19187, 19588
. : milestone, 19387,
appsec (18.907 ms) : 18713, 19102
. : milestone, 18907,
code_origins (17.913 ms) : 17737, 18089
. : milestone, 17913,
iast (17.698 ms) : 17522, 17873
. : milestone, 17698,
profiling (20.403 ms) : 20187, 20618
. : milestone, 20403,
tracing (17.724 ms) : 17549, 17898
. : milestone, 17724,
Loading
  • baseline results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent17.985 ms [17.798 ms, 18.172 ms]-
appsec18.177 ms [17.993 ms, 18.361 ms]191.354 µs (1.1%)
code_origins17.83 ms [17.652 ms, 18.009 ms]-155.075 µs (-0.9%)
iast17.703 ms [17.525 ms, 17.881 ms]-282.317 µs (-1.6%)
profiling18.899 ms [18.709 ms, 19.09 ms]914.227 µs (5.1%)
tracing17.799 ms [17.621 ms, 17.977 ms]-185.822 µs (-1.0%)
  • candidate results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent19.387 ms [19.187 ms, 19.588 ms]-
appsec18.907 ms [18.713 ms, 19.102 ms]-480.063 µs (-2.5%)
code_origins17.913 ms [17.737 ms, 18.089 ms]-1.475 ms (-7.6%)
iast17.698 ms [17.522 ms, 17.873 ms]-1.69 ms (-8.7%)
profiling20.403 ms [20.187 ms, 20.618 ms]1.015 ms (5.2%)
tracing17.724 ms [17.549 ms, 17.898 ms]-1.664 ms (-8.6%)
Request duration reports for insecure-bank
gantt
title insecure-bank - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~7a58426997, baseline=1.61.0-SNAPSHOT~1abe140bde
dateFormat X
axisFormat %s
section baseline
no_agent (1.191 ms) : 1179, 1203
. : milestone, 1191,
iast (3.11 ms) : 3070, 3151
. : milestone, 3110,
iast_FULL (5.831 ms) : 5773, 5889
. : milestone, 5831,
iast_GLOBAL (3.528 ms) : 3471, 3584
. : milestone, 3528,
profiling (2.202 ms) : 2182, 2222
. : milestone, 2202,
tracing (1.807 ms) : 1792, 1822
. : milestone, 1807,
section candidate
no_agent (1.178 ms) : 1167, 1189
. : milestone, 1178,
iast (3.179 ms) : 3137, 3221
. : milestone, 3179,
iast_FULL (6.135 ms) : 6072, 6198
. : milestone, 6135,
iast_GLOBAL (3.537 ms) : 3486, 3588
. : milestone, 3537,
profiling (2.081 ms) : 2062, 2100
. : milestone, 2081,
tracing (1.848 ms) : 1830, 1865
. : milestone, 1848,
Loading
  • baseline results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent1.191 ms [1.179 ms, 1.203 ms]-
iast3.11 ms [3.07 ms, 3.151 ms]1.919 ms (161.1%)
iast_FULL5.831 ms [5.773 ms, 5.889 ms]4.64 ms (389.6%)
iast_GLOBAL3.528 ms [3.471 ms, 3.584 ms]2.337 ms (196.2%)
profiling2.202 ms [2.182 ms, 2.222 ms]1.011 ms (84.9%)
tracing1.807 ms [1.792 ms, 1.822 ms]615.753 µs (51.7%)
  • candidate results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent1.178 ms [1.167 ms, 1.189 ms]-
iast3.179 ms [3.137 ms, 3.221 ms]2.001 ms (169.9%)
iast_FULL6.135 ms [6.072 ms, 6.198 ms]4.957 ms (420.8%)
iast_GLOBAL3.537 ms [3.486 ms, 3.588 ms]2.359 ms (200.2%)
profiling2.081 ms [2.062 ms, 2.1 ms]902.73 µs (76.6%)
tracing1.848 ms [1.83 ms, 1.865 ms]669.751 µs (56.9%)

Dacapo

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmastermhlidd/async_spring_messaging
git_commit_date17746194221774628636
git_commit_sha1abe1407a58426
release_version1.61.0-SNAPSHOT~1abe140bde1.61.0-SNAPSHOT~7a58426997
See matching parameters
BaselineCandidate
applicationbiojavabiojava
ci_job_date17746306761774630676
ci_job_id15462640701546264070
ci_pipeline_id104803474104803474
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-3-vgs010op 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-3-vgs010op 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.389ms; -1.042ms] or [-36.607%; -27.462%]
2.578ms3.793ms
Execution time for tomcat
gantt
title tomcat - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~7a58426997, baseline=1.61.0-SNAPSHOT~1abe140bde
dateFormat X
axisFormat %s
section baseline
no_agent (1.471 ms) : 1459, 1482
. : milestone, 1471,
appsec (3.793 ms) : 3573, 4014
. : milestone, 3793,
iast (2.247 ms) : 2178, 2316
. : milestone, 2247,
iast_GLOBAL (2.289 ms) : 2220, 2358
. : milestone, 2289,
profiling (2.105 ms) : 2048, 2162
. : milestone, 2105,
tracing (2.056 ms) : 2002, 2109
. : milestone, 2056,
section candidate
no_agent (1.47 ms) : 1458, 1481
. : milestone, 1470,
appsec (2.578 ms) : 2520, 2636
. : milestone, 2578,
iast (2.247 ms) : 2178, 2316
. : milestone, 2247,
iast_GLOBAL (2.29 ms) : 2221, 2359
. : milestone, 2290,
profiling (2.097 ms) : 2041, 2154
. : milestone, 2097,
tracing (2.053 ms) : 2000, 2106
. : milestone, 2053,
Loading
  • baseline results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent1.471 ms [1.459 ms, 1.482 ms]-
appsec3.793 ms [3.573 ms, 4.014 ms]2.323 ms (157.9%)
iast2.247 ms [2.178 ms, 2.316 ms]776.414 µs (52.8%)
iast_GLOBAL2.289 ms [2.22 ms, 2.358 ms]817.878 µs (55.6%)
profiling2.105 ms [2.048 ms, 2.162 ms]634.37 µs (43.1%)
tracing2.056 ms [2.002 ms, 2.109 ms]584.858 µs (39.8%)
  • candidate results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent1.47 ms [1.458 ms, 1.481 ms]-
appsec2.578 ms [2.52 ms, 2.636 ms]1.108 ms (75.4%)
iast2.247 ms [2.178 ms, 2.316 ms]776.941 µs (52.9%)
iast_GLOBAL2.29 ms [2.221 ms, 2.359 ms]820.135 µs (55.8%)
profiling2.097 ms [2.041 ms, 2.154 ms]627.547 µs (42.7%)
tracing2.053 ms [2.0 ms, 2.106 ms]582.879 µs (39.7%)
Execution time for biojava
gantt
title biojava - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~7a58426997, baseline=1.61.0-SNAPSHOT~1abe140bde
dateFormat X
axisFormat %s
section baseline
no_agent (14.799 s) : 14799000, 14799000
. : milestone, 14799000,
appsec (14.728 s) : 14728000, 14728000
. : milestone, 14728000,
iast (18.318 s) : 18318000, 18318000
. : milestone, 18318000,
iast_GLOBAL (17.838 s) : 17838000, 17838000
. : milestone, 17838000,
profiling (14.898 s) : 14898000, 14898000
. : milestone, 14898000,
tracing (14.94 s) : 14940000, 14940000
. : milestone, 14940000,
section candidate
no_agent (15.149 s) : 15149000, 15149000
. : milestone, 15149000,
appsec (14.673 s) : 14673000, 14673000
. : milestone, 14673000,
iast (17.896 s) : 17896000, 17896000
. : milestone, 17896000,
iast_GLOBAL (17.833 s) : 17833000, 17833000
. : milestone, 17833000,
profiling (14.651 s) : 14651000, 14651000
. : milestone, 14651000,
tracing (14.782 s) : 14782000, 14782000
. : milestone, 14782000,
Loading
  • baseline results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent14.799 s [14.799 s, 14.799 s]-
appsec14.728 s [14.728 s, 14.728 s]-71.0 ms (-0.5%)
iast18.318 s [18.318 s, 18.318 s]3.519 s (23.8%)
iast_GLOBAL17.838 s [17.838 s, 17.838 s]3.039 s (20.5%)
profiling14.898 s [14.898 s, 14.898 s]99.0 ms (0.7%)
tracing14.94 s [14.94 s, 14.94 s]141.0 ms (1.0%)
  • candidate results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent15.149 s [15.149 s, 15.149 s]-
appsec14.673 s [14.673 s, 14.673 s]-476.0 ms (-3.1%)
iast17.896 s [17.896 s, 17.896 s]2.747 s (18.1%)
iast_GLOBAL17.833 s [17.833 s, 17.833 s]2.684 s (17.7%)
profiling14.651 s [14.651 s, 14.651 s]-498.0 ms (-3.3%)
tracing14.782 s [14.782 s, 14.782 s]-367.0 ms (-2.4%)

@mhliddmhlidd changed the title initSupport CompletableFuture on Spring Messaging SpansMar 27, 2026
@mhliddmhlidd added type: feature Enhancements and improvements inst: spring Spring instrumentation labels Mar 27, 2026
@mhlidd
mhlidd marked this pull request as ready for review March 27, 2026 18:20
@mhlidd
mhlidd requested a review from a team as a code ownerMarch 27, 2026 18:20

@ygreeygree 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.

Looks good! I have one test suggestion.

@SqsListener(queueNames = "SpringListenerSQSAsync")
CompletableFuture<Void> observeAsync(String message) {
return CompletableFuture.runAsync {
Thread.sleep(500)

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.

I know that sleep instructions are frowned upon because

  • they are a source of flakiness if too short
  • they make tests take a lot longer if too long (500ms for a test is already a lot)

usually it's better to try to do things with latches/mutexes, but here it seems a bit complicated to do so since we are not in the test code itself...

@mhlidd
mhlidd added this pull request to the merge queueMar 31, 2026
@dd-octo-sts

Copy link
Copy Markdown
Contributor

/merge

@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351Bot commented Mar 31, 2026

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2026-03-31 15:10:57 UTC ℹ️ Start processing command /merge


2026-03-31 15:11:01 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 2h (p90).


2026-03-31 16:29:17 UTC ℹ️ MergeQueue: This merge request was merged

@github-merge-queue
github-merge-queueBot removed this pull request from the merge queue due to failed status checks Mar 31, 2026
@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854dBot merged commit c1f2818 into masterMar 31, 2026
566 checks passed
@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854dBot deleted the mhlidd/async_spring_messaging branch March 31, 2026 16:29
@github-actionsgithub-actionsBot added this to the 1.61.0 milestone Mar 31, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

inst: springSpring instrumentationtype: featureEnhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@mhlidd@vandonr@ygree