Skip to content

Using forEach to avoid Iterator allocation#10830

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 5 commits intomasterfrom
dougqh/coretracer-preprocessing
Mar 17, 2026
Merged

Using forEach to avoid Iterator allocation#10830
gh-worker-dd-mergequeue-cf854d[bot] merged 5 commits intomasterfrom
dougqh/coretracer-preprocessing

Conversation

@dougqh
Copy link
Copy Markdown
Contributor

@dougqh dougqh commented Mar 12, 2026

What Does This Do

Use forEach in CoreTracer.write to avoid ArrayList$Itr allocation

Motivation

In span creation stress test: 16 threads x 10,000,000 traces x 2 spans, saves 5 GiB of allocation

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.

@dougqh dougqh requested a review from a team as a code owner March 12, 2026 20:08
@dougqh dougqh added type: enhancement Enhancements and improvements comp: core Tracer core labels Mar 12, 2026
@dougqh dougqh requested a review from mhlidd March 12, 2026 20:08
@dougqh dougqh added the tag: performance Performance related changes label Mar 12, 2026
@pr-commenter
Copy link
Copy Markdown

pr-commenter bot commented Mar 12, 2026

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/coretracer-preprocessing
git_commit_date 1773751598 1773756421
git_commit_sha 99d47ca 68cc165
release_version 1.61.0-SNAPSHOT~99d47ca835 1.61.0-SNAPSHOT~68cc165a41
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1773758244 1773758244
ci_job_id 1513074974 1513074974
ci_pipeline_id 102974503 102974503
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-wd5rixlb 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 Linux runner-zfyrx7zua-project-304-concurrent-0-wd5rixlb 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
module Agent Agent
parent None None

Summary

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

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.61.0-SNAPSHOT~68cc165a41, baseline=1.61.0-SNAPSHOT~99d47ca835

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.059 s) : 0, 1059141
Total [baseline] (8.845 s) : 0, 8844794
Agent [candidate] (1.058 s) : 0, 1057765
Total [candidate] (8.817 s) : 0, 8816519
section iast
Agent [baseline] (1.225 s) : 0, 1224891
Total [baseline] (9.557 s) : 0, 9556880
Agent [candidate] (1.225 s) : 0, 1225207
Total [candidate] (9.556 s) : 0, 9555973
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.059 s -
Agent iast 1.225 s 165.751 ms (15.6%)
Total tracing 8.845 s -
Total iast 9.557 s 712.086 ms (8.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.058 s -
Agent iast 1.225 s 167.442 ms (15.8%)
Total tracing 8.817 s -
Total iast 9.556 s 739.454 ms (8.4%)
gantt
    title insecure-bank - break down per module: candidate=1.61.0-SNAPSHOT~68cc165a41, baseline=1.61.0-SNAPSHOT~99d47ca835

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.203 ms) : 0, 1203
crashtracking [candidate] (1.198 ms) : 0, 1198
BytebuddyAgent [baseline] (628.547 ms) : 0, 628547
BytebuddyAgent [candidate] (627.002 ms) : 0, 627002
AgentMeter [baseline] (29.116 ms) : 0, 29116
AgentMeter [candidate] (28.904 ms) : 0, 28904
GlobalTracer [baseline] (256.566 ms) : 0, 256566
GlobalTracer [candidate] (256.496 ms) : 0, 256496
AppSec [baseline] (31.609 ms) : 0, 31609
AppSec [candidate] (31.603 ms) : 0, 31603
Debugger [baseline] (59.21 ms) : 0, 59210
Debugger [candidate] (59.234 ms) : 0, 59234
Remote Config [baseline] (592.826 µs) : 0, 593
Remote Config [candidate] (584.464 µs) : 0, 584
Telemetry [baseline] (8.06 ms) : 0, 8060
Telemetry [candidate] (8.068 ms) : 0, 8068
Flare Poller [baseline] (8.057 ms) : 0, 8057
Flare Poller [candidate] (8.692 ms) : 0, 8692
section iast
crashtracking [baseline] (1.206 ms) : 0, 1206
crashtracking [candidate] (1.206 ms) : 0, 1206
BytebuddyAgent [baseline] (794.19 ms) : 0, 794190
BytebuddyAgent [candidate] (795.082 ms) : 0, 795082
AgentMeter [baseline] (11.312 ms) : 0, 11312
AgentMeter [candidate] (11.359 ms) : 0, 11359
GlobalTracer [baseline] (247.175 ms) : 0, 247175
GlobalTracer [candidate] (247.141 ms) : 0, 247141
AppSec [baseline] (26.418 ms) : 0, 26418
AppSec [candidate] (26.322 ms) : 0, 26322
Debugger [baseline] (70.046 ms) : 0, 70046
Debugger [candidate] (69.835 ms) : 0, 69835
Remote Config [baseline] (533.027 µs) : 0, 533
Remote Config [candidate] (521.978 µs) : 0, 522
Telemetry [baseline] (9.203 ms) : 0, 9203
Telemetry [candidate] (9.121 ms) : 0, 9121
Flare Poller [baseline] (3.314 ms) : 0, 3314
Flare Poller [candidate] (3.319 ms) : 0, 3319
IAST [baseline] (25.307 ms) : 0, 25307
IAST [candidate] (25.262 ms) : 0, 25262
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.61.0-SNAPSHOT~68cc165a41, baseline=1.61.0-SNAPSHOT~99d47ca835

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.059 s) : 0, 1058664
Total [baseline] (11.016 s) : 0, 11016058
Agent [candidate] (1.057 s) : 0, 1056912
Total [candidate] (11.053 s) : 0, 11052997
section appsec
Agent [baseline] (1.247 s) : 0, 1246782
Total [baseline] (11.334 s) : 0, 11334077
Agent [candidate] (1.245 s) : 0, 1244992
Total [candidate] (11.243 s) : 0, 11242878
section iast
Agent [baseline] (1.225 s) : 0, 1224807
Total [baseline] (11.33 s) : 0, 11329804
Agent [candidate] (1.225 s) : 0, 1225460
Total [candidate] (11.382 s) : 0, 11381766
section profiling
Agent [baseline] (1.184 s) : 0, 1183640
Total [baseline] (11.134 s) : 0, 11133904
Agent [candidate] (1.182 s) : 0, 1181887
Total [candidate] (11.043 s) : 0, 11043038
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.059 s -
Agent appsec 1.247 s 188.119 ms (17.8%)
Agent iast 1.225 s 166.143 ms (15.7%)
Agent profiling 1.184 s 124.976 ms (11.8%)
Total tracing 11.016 s -
Total appsec 11.334 s 318.019 ms (2.9%)
Total iast 11.33 s 313.746 ms (2.8%)
Total profiling 11.134 s 117.846 ms (1.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.057 s -
Agent appsec 1.245 s 188.079 ms (17.8%)
Agent iast 1.225 s 168.548 ms (15.9%)
Agent profiling 1.182 s 124.975 ms (11.8%)
Total tracing 11.053 s -
Total appsec 11.243 s 189.881 ms (1.7%)
Total iast 11.382 s 328.768 ms (3.0%)
Total profiling 11.043 s -9.959 ms (-0.1%)
gantt
    title petclinic - break down per module: candidate=1.61.0-SNAPSHOT~68cc165a41, baseline=1.61.0-SNAPSHOT~99d47ca835

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.204 ms) : 0, 1204
crashtracking [candidate] (1.191 ms) : 0, 1191
BytebuddyAgent [baseline] (627.654 ms) : 0, 627654
BytebuddyAgent [candidate] (626.776 ms) : 0, 626776
AgentMeter [baseline] (29.078 ms) : 0, 29078
AgentMeter [candidate] (28.97 ms) : 0, 28970
GlobalTracer [baseline] (256.81 ms) : 0, 256810
GlobalTracer [candidate] (256.637 ms) : 0, 256637
AppSec [baseline] (31.622 ms) : 0, 31622
AppSec [candidate] (31.54 ms) : 0, 31540
Debugger [baseline] (60.176 ms) : 0, 60176
Debugger [candidate] (59.953 ms) : 0, 59953
Remote Config [baseline] (596.253 µs) : 0, 596
Remote Config [candidate] (586.791 µs) : 0, 587
Telemetry [baseline] (8.086 ms) : 0, 8086
Telemetry [candidate] (7.999 ms) : 0, 7999
Flare Poller [baseline] (7.383 ms) : 0, 7383
Flare Poller [candidate] (7.257 ms) : 0, 7257
section appsec
crashtracking [baseline] (1.194 ms) : 0, 1194
crashtracking [candidate] (1.193 ms) : 0, 1193
BytebuddyAgent [baseline] (657.84 ms) : 0, 657840
BytebuddyAgent [candidate] (656.752 ms) : 0, 656752
AgentMeter [baseline] (12.04 ms) : 0, 12040
AgentMeter [candidate] (12.042 ms) : 0, 12042
GlobalTracer [baseline] (258.308 ms) : 0, 258308
GlobalTracer [candidate] (257.754 ms) : 0, 257754
AppSec [baseline] (177.864 ms) : 0, 177864
AppSec [candidate] (177.803 ms) : 0, 177803
Debugger [baseline] (66.368 ms) : 0, 66368
Debugger [candidate] (66.391 ms) : 0, 66391
Remote Config [baseline] (626.09 µs) : 0, 626
Remote Config [candidate] (615.693 µs) : 0, 616
Telemetry [baseline] (8.403 ms) : 0, 8403
Telemetry [candidate] (8.324 ms) : 0, 8324
Flare Poller [baseline] (3.637 ms) : 0, 3637
Flare Poller [candidate] (3.653 ms) : 0, 3653
IAST [baseline] (24.185 ms) : 0, 24185
IAST [candidate] (24.136 ms) : 0, 24136
section iast
crashtracking [baseline] (1.222 ms) : 0, 1222
crashtracking [candidate] (1.185 ms) : 0, 1185
BytebuddyAgent [baseline] (793.937 ms) : 0, 793937
BytebuddyAgent [candidate] (794.436 ms) : 0, 794436
AgentMeter [baseline] (11.304 ms) : 0, 11304
AgentMeter [candidate] (11.342 ms) : 0, 11342
GlobalTracer [baseline] (246.782 ms) : 0, 246782
GlobalTracer [candidate] (246.648 ms) : 0, 246648
AppSec [baseline] (26.496 ms) : 0, 26496
AppSec [candidate] (27.309 ms) : 0, 27309
Debugger [baseline] (70.658 ms) : 0, 70658
Debugger [candidate] (70.038 ms) : 0, 70038
Remote Config [baseline] (531.688 µs) : 0, 532
Remote Config [candidate] (531.171 µs) : 0, 531
Telemetry [baseline] (9.171 ms) : 0, 9171
Telemetry [candidate] (9.256 ms) : 0, 9256
Flare Poller [baseline] (3.331 ms) : 0, 3331
Flare Poller [candidate] (3.413 ms) : 0, 3413
IAST [baseline] (25.26 ms) : 0, 25260
IAST [candidate] (25.269 ms) : 0, 25269
section profiling
crashtracking [baseline] (1.178 ms) : 0, 1178
crashtracking [candidate] (1.167 ms) : 0, 1167
BytebuddyAgent [baseline] (683.494 ms) : 0, 683494
BytebuddyAgent [candidate] (683.004 ms) : 0, 683004
AgentMeter [baseline] (8.634 ms) : 0, 8634
AgentMeter [candidate] (8.607 ms) : 0, 8607
GlobalTracer [baseline] (215.458 ms) : 0, 215458
GlobalTracer [candidate] (215.158 ms) : 0, 215158
AppSec [baseline] (32.254 ms) : 0, 32254
AppSec [candidate] (32.227 ms) : 0, 32227
Debugger [baseline] (64.624 ms) : 0, 64624
Debugger [candidate] (62.077 ms) : 0, 62077
Remote Config [baseline] (589.079 µs) : 0, 589
Remote Config [candidate] (582.236 µs) : 0, 582
Telemetry [baseline] (8.434 ms) : 0, 8434
Telemetry [candidate] (9.976 ms) : 0, 9976
Flare Poller [baseline] (4.23 ms) : 0, 4230
Flare Poller [candidate] (5.026 ms) : 0, 5026
ProfilingAgent [baseline] (93.895 ms) : 0, 93895
ProfilingAgent [candidate] (93.414 ms) : 0, 93414
Profiling [baseline] (94.462 ms) : 0, 94462
Profiling [candidate] (93.972 ms) : 0, 93972
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/coretracer-preprocessing
git_commit_date 1773751598 1773756421
git_commit_sha 99d47ca 68cc165
release_version 1.61.0-SNAPSHOT~99d47ca835 1.61.0-SNAPSHOT~68cc165a41
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1773758710 1773758710
ci_job_id 1513074981 1513074981
ci_pipeline_id 102974503 102974503
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-ly16zkqn 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 Linux runner-zfyrx7zua-project-304-concurrent-0-ly16zkqn 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 3 performance improvements and 2 performance regressions! Performance is the same for 16 metrics, 15 unstable metrics.

scenario Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p95 Δ mean throughput candidate mean agg_http_req_duration_p50 candidate mean agg_http_req_duration_p95 candidate mean throughput baseline mean agg_http_req_duration_p50 baseline mean agg_http_req_duration_p95 baseline mean throughput
scenario:load:insecure-bank:profiling:high_load better
[-203.077µs; -76.237µs] or [-11.592%; -4.352%]
unstable
[-1220.780µs; -403.968µs] or [-22.904%; -7.579%]
unstable
[+2.892op/s; +523.983op/s] or [+0.142%; +25.727%]
1.612ms 4.518ms 2300.156op/s 1.752ms 5.330ms 2036.719op/s
scenario:load:insecure-bank:iast:high_load worse
[+129.140µs; +250.205µs] or [+5.370%; +10.404%]
unsure
[+131.377µs; +715.417µs] or [+1.826%; +9.943%]
unstable
[-257.429op/s; +59.429op/s] or [-17.537%; +4.048%]
2.595ms 7.618ms 1368.938op/s 2.405ms 7.195ms 1467.938op/s
scenario:load:petclinic:profiling:high_load worse
[+482.091µs; +1317.955µs] or [+2.627%; +7.181%]
same
[-59.817µs; +1428.380µs] or [-0.203%; +4.837%]
unstable
[-35.797op/s; +15.984op/s] or [-14.271%; +6.372%]
19.253ms 30.216ms 240.938op/s 18.353ms 29.531ms 250.844op/s
scenario:load:petclinic:no_agent:high_load better
[-2.903ms; -1.298ms] or [-15.422%; -6.897%]
better
[-4.340ms; -1.362ms] or [-13.958%; -4.381%]
unstable
[-0.409op/s; +56.471op/s] or [-0.168%; +23.165%]
16.720ms 28.243ms 271.812op/s 18.821ms 31.094ms 243.781op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~68cc165a41, baseline=1.61.0-SNAPSHOT~99d47ca835
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.203 ms) : 1191, 1215
.   : milestone, 1203,
iast (3.113 ms) : 3076, 3151
.   : milestone, 3113,
iast_FULL (5.943 ms) : 5883, 6003
.   : milestone, 5943,
iast_GLOBAL (3.616 ms) : 3557, 3676
.   : milestone, 3616,
profiling (2.224 ms) : 2203, 2245
.   : milestone, 2224,
tracing (1.778 ms) : 1764, 1792
.   : milestone, 1778,
section candidate
no_agent (1.191 ms) : 1179, 1203
.   : milestone, 1191,
iast (3.346 ms) : 3296, 3395
.   : milestone, 3346,
iast_FULL (6.035 ms) : 5972, 6097
.   : milestone, 6035,
iast_GLOBAL (3.634 ms) : 3573, 3695
.   : milestone, 3634,
profiling (1.962 ms) : 1944, 1979
.   : milestone, 1962,
tracing (1.835 ms) : 1819, 1851
.   : milestone, 1835,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.203 ms [1.191 ms, 1.215 ms] -
iast 3.113 ms [3.076 ms, 3.151 ms] 1.91 ms (158.8%)
iast_FULL 5.943 ms [5.883 ms, 6.003 ms] 4.74 ms (394.1%)
iast_GLOBAL 3.616 ms [3.557 ms, 3.676 ms] 2.413 ms (200.6%)
profiling 2.224 ms [2.203 ms, 2.245 ms] 1.021 ms (84.9%)
tracing 1.778 ms [1.764 ms, 1.792 ms] 575.57 µs (47.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.191 ms [1.179 ms, 1.203 ms] -
iast 3.346 ms [3.296 ms, 3.395 ms] 2.154 ms (180.8%)
iast_FULL 6.035 ms [5.972 ms, 6.097 ms] 4.843 ms (406.5%)
iast_GLOBAL 3.634 ms [3.573 ms, 3.695 ms] 2.443 ms (205.0%)
profiling 1.962 ms [1.944 ms, 1.979 ms] 770.259 µs (64.7%)
tracing 1.835 ms [1.819 ms, 1.851 ms] 643.979 µs (54.1%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~68cc165a41, baseline=1.61.0-SNAPSHOT~99d47ca835
    dateFormat X
    axisFormat %s
section baseline
no_agent (19.148 ms) : 18949, 19347
.   : milestone, 19148,
appsec (18.486 ms) : 18296, 18675
.   : milestone, 18486,
code_origins (17.507 ms) : 17332, 17682
.   : milestone, 17507,
iast (17.746 ms) : 17569, 17922
.   : milestone, 17746,
profiling (18.609 ms) : 18426, 18793
.   : milestone, 18609,
tracing (17.771 ms) : 17591, 17952
.   : milestone, 17771,
section candidate
no_agent (17.164 ms) : 16994, 17335
.   : milestone, 17164,
appsec (18.512 ms) : 18325, 18698
.   : milestone, 18512,
code_origins (17.706 ms) : 17534, 17877
.   : milestone, 17706,
iast (17.485 ms) : 17310, 17661
.   : milestone, 17485,
profiling (19.371 ms) : 19183, 19559
.   : milestone, 19371,
tracing (17.62 ms) : 17447, 17792
.   : milestone, 17620,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 19.148 ms [18.949 ms, 19.347 ms] -
appsec 18.486 ms [18.296 ms, 18.675 ms] -662.421 µs (-3.5%)
code_origins 17.507 ms [17.332 ms, 17.682 ms] -1.641 ms (-8.6%)
iast 17.746 ms [17.569 ms, 17.922 ms] -1.402 ms (-7.3%)
profiling 18.609 ms [18.426 ms, 18.793 ms] -538.782 µs (-2.8%)
tracing 17.771 ms [17.591 ms, 17.952 ms] -1.377 ms (-7.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 17.164 ms [16.994 ms, 17.335 ms] -
appsec 18.512 ms [18.325 ms, 18.698 ms] 1.347 ms (7.9%)
code_origins 17.706 ms [17.534 ms, 17.877 ms] 541.272 µs (3.2%)
iast 17.485 ms [17.31 ms, 17.661 ms] 320.936 µs (1.9%)
profiling 19.371 ms [19.183 ms, 19.559 ms] 2.207 ms (12.9%)
tracing 17.62 ms [17.447 ms, 17.792 ms] 455.224 µs (2.7%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/coretracer-preprocessing
git_commit_date 1773751598 1773756421
git_commit_sha 99d47ca 68cc165
release_version 1.61.0-SNAPSHOT~99d47ca835 1.61.0-SNAPSHOT~68cc165a41
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1773758438 1773758438
ci_job_id 1513074989 1513074989
ci_pipeline_id 102974503 102974503
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-1-5lcos496 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 Linux runner-zfyrx7zua-project-304-concurrent-1-5lcos496 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 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics.

Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~68cc165a41, baseline=1.61.0-SNAPSHOT~99d47ca835
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.996 s) : 14996000, 14996000
.   : milestone, 14996000,
appsec (14.596 s) : 14596000, 14596000
.   : milestone, 14596000,
iast (18.04 s) : 18040000, 18040000
.   : milestone, 18040000,
iast_GLOBAL (18.006 s) : 18006000, 18006000
.   : milestone, 18006000,
profiling (15.069 s) : 15069000, 15069000
.   : milestone, 15069000,
tracing (14.863 s) : 14863000, 14863000
.   : milestone, 14863000,
section candidate
no_agent (15.763 s) : 15763000, 15763000
.   : milestone, 15763000,
appsec (14.722 s) : 14722000, 14722000
.   : milestone, 14722000,
iast (18.314 s) : 18314000, 18314000
.   : milestone, 18314000,
iast_GLOBAL (17.883 s) : 17883000, 17883000
.   : milestone, 17883000,
profiling (14.684 s) : 14684000, 14684000
.   : milestone, 14684000,
tracing (14.888 s) : 14888000, 14888000
.   : milestone, 14888000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.996 s [14.996 s, 14.996 s] -
appsec 14.596 s [14.596 s, 14.596 s] -400.0 ms (-2.7%)
iast 18.04 s [18.04 s, 18.04 s] 3.044 s (20.3%)
iast_GLOBAL 18.006 s [18.006 s, 18.006 s] 3.01 s (20.1%)
profiling 15.069 s [15.069 s, 15.069 s] 73.0 ms (0.5%)
tracing 14.863 s [14.863 s, 14.863 s] -133.0 ms (-0.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.763 s [15.763 s, 15.763 s] -
appsec 14.722 s [14.722 s, 14.722 s] -1.041 s (-6.6%)
iast 18.314 s [18.314 s, 18.314 s] 2.551 s (16.2%)
iast_GLOBAL 17.883 s [17.883 s, 17.883 s] 2.12 s (13.4%)
profiling 14.684 s [14.684 s, 14.684 s] -1.079 s (-6.8%)
tracing 14.888 s [14.888 s, 14.888 s] -875.0 ms (-5.6%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~68cc165a41, baseline=1.61.0-SNAPSHOT~99d47ca835
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.481 ms) : 1469, 1492
.   : milestone, 1481,
appsec (3.795 ms) : 3576, 4015
.   : milestone, 3795,
iast (2.262 ms) : 2193, 2330
.   : milestone, 2262,
iast_GLOBAL (2.298 ms) : 2229, 2367
.   : milestone, 2298,
profiling (2.111 ms) : 2054, 2168
.   : milestone, 2111,
tracing (2.061 ms) : 2008, 2114
.   : milestone, 2061,
section candidate
no_agent (1.478 ms) : 1466, 1490
.   : milestone, 1478,
appsec (3.812 ms) : 3591, 4032
.   : milestone, 3812,
iast (2.258 ms) : 2189, 2327
.   : milestone, 2258,
iast_GLOBAL (2.302 ms) : 2233, 2372
.   : milestone, 2302,
profiling (2.082 ms) : 2027, 2137
.   : milestone, 2082,
tracing (2.069 ms) : 2016, 2123
.   : milestone, 2069,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.481 ms [1.469 ms, 1.492 ms] -
appsec 3.795 ms [3.576 ms, 4.015 ms] 2.315 ms (156.3%)
iast 2.262 ms [2.193 ms, 2.33 ms] 780.951 µs (52.7%)
iast_GLOBAL 2.298 ms [2.229 ms, 2.367 ms] 817.264 µs (55.2%)
profiling 2.111 ms [2.054 ms, 2.168 ms] 630.412 µs (42.6%)
tracing 2.061 ms [2.008 ms, 2.114 ms] 580.06 µs (39.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.478 ms [1.466 ms, 1.49 ms] -
appsec 3.812 ms [3.591 ms, 4.032 ms] 2.334 ms (157.9%)
iast 2.258 ms [2.189 ms, 2.327 ms] 780.181 µs (52.8%)
iast_GLOBAL 2.302 ms [2.233 ms, 2.372 ms] 824.178 µs (55.8%)
profiling 2.082 ms [2.027 ms, 2.137 ms] 604.066 µs (40.9%)
tracing 2.069 ms [2.016 ms, 2.123 ms] 591.225 µs (40.0%)

@dougqh
Copy link
Copy Markdown
Contributor Author

dougqh commented Mar 13, 2026

In a separate PR, I'm going to try to create a benchmark to show why this happens.
In this case, the profile pretty clearly shows that escape analysis failed and the Iterator was being allocated, but that doesn't always happen. I think the difference is not fully inlining the call inside the loop, but I'd like to prove it.

@dougqh dougqh added this pull request to the merge queue Mar 13, 2026
@dd-octo-sts
Copy link
Copy Markdown
Contributor

dd-octo-sts bot commented Mar 13, 2026

/merge

@gh-worker-devflow-routing-ef8351
Copy link
Copy Markdown

gh-worker-devflow-routing-ef8351 bot commented Mar 13, 2026

View all feedbacks in Devflow UI.

2026-03-13 12:58:37 UTC ℹ️ Start processing command /merge


2026-03-13 12:58:43 UTC ℹ️ MergeQueue: pull request added to the queue

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


2026-03-13 14:00:12 UTCMergeQueue: This merge request is not mergeable, blocked by github

PR can't be merged according to github policy

@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 13, 2026
@dougqh dougqh enabled auto-merge March 13, 2026 19:11
@dougqh dougqh added this pull request to the merge queue Mar 17, 2026
@dd-octo-sts
Copy link
Copy Markdown
Contributor

dd-octo-sts bot commented Mar 17, 2026

/merge

@gh-worker-devflow-routing-ef8351
Copy link
Copy Markdown

gh-worker-devflow-routing-ef8351 bot commented Mar 17, 2026

View all feedbacks in Devflow UI.

2026-03-17 16:40:15 UTC ℹ️ Start processing command /merge


2026-03-17 16:40:21 UTC ℹ️ MergeQueue: pull request added to the queue

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


2026-03-17 18:09:05 UTC ℹ️ MergeQueue: This merge request was merged

@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 17, 2026
@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot merged commit cfeaf23 into master Mar 17, 2026
575 checks passed
@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot deleted the dougqh/coretracer-preprocessing branch March 17, 2026 18:09
@github-actions github-actions bot added this to the 1.61.0 milestone Mar 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: core Tracer core tag: performance Performance related changes type: enhancement Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants