Skip to content

Conversation

@amarziali
Copy link
Contributor

@amarziali amarziali commented Dec 3, 2025

What Does This Do

Looking at some profiles (cannot attach), I noticed that getPeerTags() in ConflatingMetricsAggregator ends up invoking multiple times getTag on DDSpan. The problem is that getSpan introduces several indirections to retrieve some additional fields treated as tags (e.g., HTTP status code), which we don’t actually use here. Moreover, tag access is synchronized, adding extra barriers, even though at this stage such synchronization isn’t necessary.

Motivation

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@pr-commenter
Copy link

pr-commenter bot commented Dec 3, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/remove-overhead
git_commit_date 1764709712 1764758139
git_commit_sha c714e59 35e6e1e
release_version 1.57.0-SNAPSHOT~c714e59b1c 1.57.0-SNAPSHOT~35e6e1e3f7
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1764759968 1764759968
ci_job_id 1267666092 1267666092
ci_pipeline_id 84738916 84738916
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-2e4rl8w9 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-2e4rl8w9 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 54 metrics, 11 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.57.0-SNAPSHOT~35e6e1e3f7, baseline=1.57.0-SNAPSHOT~c714e59b1c

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.048 s) : 0, 1047680
Total [baseline] (8.685 s) : 0, 8684797
Agent [candidate] (1.053 s) : 0, 1052558
Total [candidate] (8.664 s) : 0, 8664014
section iast
Agent [baseline] (1.192 s) : 0, 1191816
Total [baseline] (9.379 s) : 0, 9378863
Agent [candidate] (1.19 s) : 0, 1189697
Total [candidate] (9.283 s) : 0, 9283010
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.048 s -
Agent iast 1.192 s 144.136 ms (13.8%)
Total tracing 8.685 s -
Total iast 9.379 s 694.066 ms (8.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.053 s -
Agent iast 1.19 s 137.139 ms (13.0%)
Total tracing 8.664 s -
Total iast 9.283 s 618.996 ms (7.1%)
gantt
    title insecure-bank - break down per module: candidate=1.57.0-SNAPSHOT~35e6e1e3f7, baseline=1.57.0-SNAPSHOT~c714e59b1c

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.474 ms) : 0, 1474
crashtracking [candidate] (1.478 ms) : 0, 1478
BytebuddyAgent [baseline] (704.952 ms) : 0, 704952
BytebuddyAgent [candidate] (707.441 ms) : 0, 707441
GlobalTracer [baseline] (247.507 ms) : 0, 247507
GlobalTracer [candidate] (249.284 ms) : 0, 249284
AppSec [baseline] (31.743 ms) : 0, 31743
AppSec [candidate] (32.085 ms) : 0, 32085
Debugger [baseline] (6.338 ms) : 0, 6338
Debugger [candidate] (6.377 ms) : 0, 6377
Remote Config [baseline] (662.615 µs) : 0, 663
Remote Config [candidate] (658.041 µs) : 0, 658
Telemetry [baseline] (16.155 ms) : 0, 16155
Telemetry [candidate] (16.353 ms) : 0, 16353
Flare Poller [baseline] (4.037 ms) : 0, 4037
Flare Poller [candidate] (4.056 ms) : 0, 4056
section iast
crashtracking [baseline] (1.484 ms) : 0, 1484
crashtracking [candidate] (1.467 ms) : 0, 1467
BytebuddyAgent [baseline] (830.32 ms) : 0, 830320
BytebuddyAgent [candidate] (829.459 ms) : 0, 829459
GlobalTracer [baseline] (237.402 ms) : 0, 237402
GlobalTracer [candidate] (236.842 ms) : 0, 236842
IAST [baseline] (31.188 ms) : 0, 31188
IAST [candidate] (29.067 ms) : 0, 29067
AppSec [baseline] (30.673 ms) : 0, 30673
AppSec [candidate] (32.33 ms) : 0, 32330
Debugger [baseline] (6.11 ms) : 0, 6110
Debugger [candidate] (6.105 ms) : 0, 6105
Remote Config [baseline] (615.653 µs) : 0, 616
Remote Config [candidate] (620.821 µs) : 0, 621
Telemetry [baseline] (8.205 ms) : 0, 8205
Telemetry [candidate] (8.083 ms) : 0, 8083
Flare Poller [baseline] (10.938 ms) : 0, 10938
Flare Poller [candidate] (10.807 ms) : 0, 10807
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.57.0-SNAPSHOT~35e6e1e3f7, baseline=1.57.0-SNAPSHOT~c714e59b1c

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.06 s) : 0, 1059879
Total [baseline] (10.802 s) : 0, 10802195
Agent [candidate] (1.055 s) : 0, 1054512
Total [candidate] (10.838 s) : 0, 10838489
section appsec
Agent [baseline] (1.239 s) : 0, 1239225
Total [baseline] (10.884 s) : 0, 10884499
Agent [candidate] (1.229 s) : 0, 1228628
Total [candidate] (10.87 s) : 0, 10869528
section iast
Agent [baseline] (1.199 s) : 0, 1198794
Total [baseline] (11.216 s) : 0, 11215785
Agent [candidate] (1.194 s) : 0, 1194469
Total [candidate] (9.406 s) : 0, 9405705
section profiling
Agent [baseline] (1.209 s) : 0, 1209386
Total [baseline] (10.939 s) : 0, 10939319
Agent [candidate] (1.207 s) : 0, 1207359
Total [candidate] (10.943 s) : 0, 10943413
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.06 s -
Agent appsec 1.239 s 179.346 ms (16.9%)
Agent iast 1.199 s 138.915 ms (13.1%)
Agent profiling 1.209 s 149.507 ms (14.1%)
Total tracing 10.802 s -
Total appsec 10.884 s 82.303 ms (0.8%)
Total iast 11.216 s 413.59 ms (3.8%)
Total profiling 10.939 s 137.124 ms (1.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.055 s -
Agent appsec 1.229 s 174.116 ms (16.5%)
Agent iast 1.194 s 139.957 ms (13.3%)
Agent profiling 1.207 s 152.847 ms (14.5%)
Total tracing 10.838 s -
Total appsec 10.87 s 31.039 ms (0.3%)
Total iast 9.406 s -1.433 s (-13.2%)
Total profiling 10.943 s 104.924 ms (1.0%)
gantt
    title petclinic - break down per module: candidate=1.57.0-SNAPSHOT~35e6e1e3f7, baseline=1.57.0-SNAPSHOT~c714e59b1c

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.488 ms) : 0, 1488
crashtracking [candidate] (1.535 ms) : 0, 1535
BytebuddyAgent [baseline] (712.201 ms) : 0, 712201
BytebuddyAgent [candidate] (708.454 ms) : 0, 708454
GlobalTracer [baseline] (251.121 ms) : 0, 251121
GlobalTracer [candidate] (249.832 ms) : 0, 249832
AppSec [baseline] (32.386 ms) : 0, 32386
AppSec [candidate] (32.157 ms) : 0, 32157
Debugger [baseline] (6.476 ms) : 0, 6476
Debugger [candidate] (6.391 ms) : 0, 6391
Remote Config [baseline] (691.406 µs) : 0, 691
Remote Config [candidate] (666.983 µs) : 0, 667
Telemetry [baseline] (13.264 ms) : 0, 13264
Telemetry [candidate] (15.809 ms) : 0, 15809
Flare Poller [baseline] (7.283 ms) : 0, 7283
Flare Poller [candidate] (4.904 ms) : 0, 4904
section appsec
crashtracking [baseline] (1.498 ms) : 0, 1498
crashtracking [candidate] (1.478 ms) : 0, 1478
BytebuddyAgent [baseline] (738.857 ms) : 0, 738857
BytebuddyAgent [candidate] (730.623 ms) : 0, 730623
GlobalTracer [baseline] (243.753 ms) : 0, 243753
GlobalTracer [candidate] (242.218 ms) : 0, 242218
IAST [baseline] (25.115 ms) : 0, 25115
IAST [candidate] (24.907 ms) : 0, 24907
AppSec [baseline] (175.586 ms) : 0, 175586
AppSec [candidate] (175.487 ms) : 0, 175487
Debugger [baseline] (6.257 ms) : 0, 6257
Debugger [candidate] (6.243 ms) : 0, 6243
Remote Config [baseline] (680.438 µs) : 0, 680
Remote Config [candidate] (690.346 µs) : 0, 690
Telemetry [baseline] (8.226 ms) : 0, 8226
Telemetry [candidate] (8.138 ms) : 0, 8138
Flare Poller [baseline] (4.029 ms) : 0, 4029
Flare Poller [candidate] (3.969 ms) : 0, 3969
section iast
crashtracking [baseline] (1.487 ms) : 0, 1487
crashtracking [candidate] (1.481 ms) : 0, 1481
BytebuddyAgent [baseline] (836.763 ms) : 0, 836763
BytebuddyAgent [candidate] (833.339 ms) : 0, 833339
GlobalTracer [baseline] (238.415 ms) : 0, 238415
GlobalTracer [candidate] (238.554 ms) : 0, 238554
IAST [baseline] (31.921 ms) : 0, 31921
IAST [candidate] (32.593 ms) : 0, 32593
AppSec [baseline] (29.547 ms) : 0, 29547
AppSec [candidate] (28.296 ms) : 0, 28296
Debugger [baseline] (6.082 ms) : 0, 6082
Debugger [candidate] (6.079 ms) : 0, 6079
Remote Config [baseline] (609.342 µs) : 0, 609
Remote Config [candidate] (604.733 µs) : 0, 605
Telemetry [baseline] (8.079 ms) : 0, 8079
Telemetry [candidate] (7.971 ms) : 0, 7971
Flare Poller [baseline] (10.975 ms) : 0, 10975
Flare Poller [candidate] (10.75 ms) : 0, 10750
section profiling
crashtracking [baseline] (1.464 ms) : 0, 1464
crashtracking [candidate] (1.437 ms) : 0, 1437
BytebuddyAgent [baseline] (741.706 ms) : 0, 741706
BytebuddyAgent [candidate] (739.388 ms) : 0, 739388
GlobalTracer [baseline] (224.177 ms) : 0, 224177
GlobalTracer [candidate] (224.318 ms) : 0, 224318
AppSec [baseline] (32.587 ms) : 0, 32587
AppSec [candidate] (32.42 ms) : 0, 32420
Debugger [baseline] (8.504 ms) : 0, 8504
Debugger [candidate] (8.398 ms) : 0, 8398
Remote Config [baseline] (689.083 µs) : 0, 689
Remote Config [candidate] (706.889 µs) : 0, 707
Telemetry [baseline] (14.593 ms) : 0, 14593
Telemetry [candidate] (14.706 ms) : 0, 14706
Flare Poller [baseline] (4.23 ms) : 0, 4230
Flare Poller [candidate] (4.23 ms) : 0, 4230
ProfilingAgent [baseline] (111.583 ms) : 0, 111583
ProfilingAgent [candidate] (112.016 ms) : 0, 112016
Profiling [baseline] (112.221 ms) : 0, 112221
Profiling [candidate] (112.677 ms) : 0, 112677
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/remove-overhead
git_commit_date 1764709712 1764758139
git_commit_sha c714e59 35e6e1e
release_version 1.57.0-SNAPSHOT~c714e59b1c 1.57.0-SNAPSHOT~35e6e1e3f7
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1764760524 1764760524
ci_job_id 1267666094 1267666094
ci_pipeline_id 84738916 84738916
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-lgqn1j75 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-lgqn1j75 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 14 metrics, 17 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:iast:high_load unsure
[-126.117µs; -45.450µs] or [-4.947%; -1.783%]
better
[-606.673µs; -217.944µs] or [-7.952%; -2.857%]
unstable
[-111.003op/s; +222.378op/s] or [-7.990%; +16.007%]
2.464ms 7.217ms 1444.969op/s 2.549ms 7.629ms 1389.281op/s
scenario:load:petclinic:iast:high_load worse
[+360.961µs; +690.633µs] or [+2.097%; +4.013%]
same
[-83.330µs; +898.676µs] or [-0.293%; +3.155%]
unstable
[-33.423op/s; +21.048op/s] or [-12.642%; +7.961%]
17.735ms 28.895ms 258.188op/s 17.209ms 28.487ms 264.375op/s
scenario:load:petclinic:profiling:high_load worse
[+0.606ms; +1.672ms] or [+3.287%; +9.065%]
unsure
[+0.287ms; +2.432ms] or [+0.956%; +8.107%]
unstable
[-39.083op/s; +12.770op/s] or [-15.743%; +5.144%]
19.585ms 31.356ms 235.094op/s 18.446ms 29.997ms 248.250op/s
scenario:load:petclinic:tracing:high_load better
[-1.741ms; -0.813ms] or [-9.410%; -4.396%]
better
[-2.357ms; -1.296ms] or [-7.824%; -4.301%]
unstable
[-11.452op/s; +42.515op/s] or [-4.610%; +17.115%]
17.225ms 28.301ms 263.938op/s 18.502ms 30.127ms 248.406op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.57.0-SNAPSHOT~35e6e1e3f7, baseline=1.57.0-SNAPSHOT~c714e59b1c
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.204 ms) : 1192, 1216
.   : milestone, 1204,
iast (3.294 ms) : 3250, 3338
.   : milestone, 3294,
iast_FULL (5.802 ms) : 5744, 5859
.   : milestone, 5802,
iast_GLOBAL (3.64 ms) : 3586, 3693
.   : milestone, 3640,
profiling (2.017 ms) : 1999, 2034
.   : milestone, 2017,
tracing (1.863 ms) : 1847, 1878
.   : milestone, 1863,
section candidate
no_agent (1.219 ms) : 1208, 1231
.   : milestone, 1219,
iast (3.165 ms) : 3124, 3205
.   : milestone, 3165,
iast_FULL (5.902 ms) : 5843, 5962
.   : milestone, 5902,
iast_GLOBAL (3.572 ms) : 3520, 3625
.   : milestone, 3572,
profiling (2.019 ms) : 2001, 2038
.   : milestone, 2019,
tracing (1.83 ms) : 1816, 1845
.   : milestone, 1830,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.204 ms [1.192 ms, 1.216 ms] -
iast 3.294 ms [3.25 ms, 3.338 ms] 2.09 ms (173.6%)
iast_FULL 5.802 ms [5.744 ms, 5.859 ms] 4.598 ms (381.9%)
iast_GLOBAL 3.64 ms [3.586 ms, 3.693 ms] 2.436 ms (202.3%)
profiling 2.017 ms [1.999 ms, 2.034 ms] 812.9 µs (67.5%)
tracing 1.863 ms [1.847 ms, 1.878 ms] 658.774 µs (54.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.219 ms [1.208 ms, 1.231 ms] -
iast 3.165 ms [3.124 ms, 3.205 ms] 1.945 ms (159.5%)
iast_FULL 5.902 ms [5.843 ms, 5.962 ms] 4.683 ms (384.0%)
iast_GLOBAL 3.572 ms [3.52 ms, 3.625 ms] 2.353 ms (192.9%)
profiling 2.019 ms [2.001 ms, 2.038 ms] 799.953 µs (65.6%)
tracing 1.83 ms [1.816 ms, 1.845 ms] 610.99 µs (50.1%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.57.0-SNAPSHOT~35e6e1e3f7, baseline=1.57.0-SNAPSHOT~c714e59b1c
    dateFormat X
    axisFormat %s
section baseline
no_agent (18.352 ms) : 18167, 18537
.   : milestone, 18352,
appsec (18.551 ms) : 18363, 18739
.   : milestone, 18551,
code_origins (17.831 ms) : 17655, 18007
.   : milestone, 17831,
iast (17.65 ms) : 17475, 17825
.   : milestone, 17650,
profiling (18.801 ms) : 18614, 18988
.   : milestone, 18801,
tracing (18.79 ms) : 18602, 18979
.   : milestone, 18790,
section candidate
no_agent (18.417 ms) : 18224, 18611
.   : milestone, 18417,
appsec (18.856 ms) : 18667, 19046
.   : milestone, 18856,
code_origins (17.741 ms) : 17565, 17918
.   : milestone, 17741,
iast (18.073 ms) : 17892, 18254
.   : milestone, 18073,
profiling (19.859 ms) : 19657, 20061
.   : milestone, 19859,
tracing (17.682 ms) : 17508, 17856
.   : milestone, 17682,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.352 ms [18.167 ms, 18.537 ms] -
appsec 18.551 ms [18.363 ms, 18.739 ms] 198.828 µs (1.1%)
code_origins 17.831 ms [17.655 ms, 18.007 ms] -521.215 µs (-2.8%)
iast 17.65 ms [17.475 ms, 17.825 ms] -701.838 µs (-3.8%)
profiling 18.801 ms [18.614 ms, 18.988 ms] 448.784 µs (2.4%)
tracing 18.79 ms [18.602 ms, 18.979 ms] 438.312 µs (2.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.417 ms [18.224 ms, 18.611 ms] -
appsec 18.856 ms [18.667 ms, 19.046 ms] 439.166 µs (2.4%)
code_origins 17.741 ms [17.565 ms, 17.918 ms] -675.916 µs (-3.7%)
iast 18.073 ms [17.892 ms, 18.254 ms] -344.144 µs (-1.9%)
profiling 19.859 ms [19.657 ms, 20.061 ms] 1.442 ms (7.8%)
tracing 17.682 ms [17.508 ms, 17.856 ms] -735.377 µs (-4.0%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master andrea.marziali/remove-overhead
git_commit_date 1764709712 1764758139
git_commit_sha c714e59 35e6e1e
release_version 1.57.0-SNAPSHOT~c714e59b1c 1.57.0-SNAPSHOT~35e6e1e3f7
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1764760265 1764760265
ci_job_id 1267666095 1267666095
ci_pipeline_id 84738916 84738916
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-b109rc8s 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-b109rc8s 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.57.0-SNAPSHOT~35e6e1e3f7, baseline=1.57.0-SNAPSHOT~c714e59b1c
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.538 s) : 15538000, 15538000
.   : milestone, 15538000,
appsec (15.028 s) : 15028000, 15028000
.   : milestone, 15028000,
iast (18.635 s) : 18635000, 18635000
.   : milestone, 18635000,
iast_GLOBAL (18.006 s) : 18006000, 18006000
.   : milestone, 18006000,
profiling (15.026 s) : 15026000, 15026000
.   : milestone, 15026000,
tracing (14.572 s) : 14572000, 14572000
.   : milestone, 14572000,
section candidate
no_agent (15.354 s) : 15354000, 15354000
.   : milestone, 15354000,
appsec (14.465 s) : 14465000, 14465000
.   : milestone, 14465000,
iast (18.765 s) : 18765000, 18765000
.   : milestone, 18765000,
iast_GLOBAL (17.977 s) : 17977000, 17977000
.   : milestone, 17977000,
profiling (14.682 s) : 14682000, 14682000
.   : milestone, 14682000,
tracing (14.719 s) : 14719000, 14719000
.   : milestone, 14719000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.538 s [15.538 s, 15.538 s] -
appsec 15.028 s [15.028 s, 15.028 s] -510.0 ms (-3.3%)
iast 18.635 s [18.635 s, 18.635 s] 3.097 s (19.9%)
iast_GLOBAL 18.006 s [18.006 s, 18.006 s] 2.468 s (15.9%)
profiling 15.026 s [15.026 s, 15.026 s] -512.0 ms (-3.3%)
tracing 14.572 s [14.572 s, 14.572 s] -966.0 ms (-6.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.354 s [15.354 s, 15.354 s] -
appsec 14.465 s [14.465 s, 14.465 s] -889.0 ms (-5.8%)
iast 18.765 s [18.765 s, 18.765 s] 3.411 s (22.2%)
iast_GLOBAL 17.977 s [17.977 s, 17.977 s] 2.623 s (17.1%)
profiling 14.682 s [14.682 s, 14.682 s] -672.0 ms (-4.4%)
tracing 14.719 s [14.719 s, 14.719 s] -635.0 ms (-4.1%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.57.0-SNAPSHOT~35e6e1e3f7, baseline=1.57.0-SNAPSHOT~c714e59b1c
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.475 ms) : 1463, 1486
.   : milestone, 1475,
appsec (3.691 ms) : 3474, 3907
.   : milestone, 3691,
iast (2.207 ms) : 2143, 2272
.   : milestone, 2207,
iast_GLOBAL (2.25 ms) : 2185, 2314
.   : milestone, 2250,
profiling (2.086 ms) : 2032, 2140
.   : milestone, 2086,
tracing (2.045 ms) : 1994, 2096
.   : milestone, 2045,
section candidate
no_agent (1.474 ms) : 1462, 1485
.   : milestone, 1474,
appsec (3.713 ms) : 3498, 3928
.   : milestone, 3713,
iast (2.202 ms) : 2138, 2266
.   : milestone, 2202,
iast_GLOBAL (2.254 ms) : 2189, 2319
.   : milestone, 2254,
profiling (2.055 ms) : 2003, 2107
.   : milestone, 2055,
tracing (2.033 ms) : 1982, 2083
.   : milestone, 2033,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.475 ms [1.463 ms, 1.486 ms] -
appsec 3.691 ms [3.474 ms, 3.907 ms] 2.216 ms (150.2%)
iast 2.207 ms [2.143 ms, 2.272 ms] 732.622 µs (49.7%)
iast_GLOBAL 2.25 ms [2.185 ms, 2.314 ms] 774.788 µs (52.5%)
profiling 2.086 ms [2.032 ms, 2.14 ms] 611.446 µs (41.5%)
tracing 2.045 ms [1.994 ms, 2.096 ms] 570.315 µs (38.7%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.474 ms [1.462 ms, 1.485 ms] -
appsec 3.713 ms [3.498 ms, 3.928 ms] 2.239 ms (151.9%)
iast 2.202 ms [2.138 ms, 2.266 ms] 728.138 µs (49.4%)
iast_GLOBAL 2.254 ms [2.189 ms, 2.319 ms] 780.187 µs (52.9%)
profiling 2.055 ms [2.003 ms, 2.107 ms] 581.506 µs (39.5%)
tracing 2.033 ms [1.982 ms, 2.083 ms] 558.779 µs (37.9%)

@amarziali amarziali added tag: performance Performance related changes comp: metrics Metrics labels Dec 3, 2025
@amarziali amarziali marked this pull request as ready for review December 3, 2025 11:34
@amarziali amarziali requested a review from a team as a code owner December 3, 2025 11:34
@github-actions
Copy link
Contributor

github-actions bot commented Dec 3, 2025

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.

@amarziali amarziali added the type: enhancement Enhancements and improvements label Dec 3, 2025
@amarziali amarziali requested a review from bric3 December 3, 2025 11:39
Copy link
Contributor

@bric3 bric3 left a comment

Choose a reason for hiding this comment

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

Nice !

for (String peerTag : features.peerTags()) {
Object value = span.getTag(peerTag);
final Set<String> eligiblePeerTags = features.peerTags();
List<UTF8BytesString> peerTags = new ArrayList<>(eligiblePeerTags.size());
Copy link
Contributor

Choose a reason for hiding this comment

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

praise: Good idea to pre-size the collection

@amarziali amarziali merged commit 077bcfb into master Dec 3, 2025
552 of 554 checks passed
@amarziali amarziali deleted the andrea.marziali/remove-overhead branch December 3, 2025 17:34
@github-actions github-actions bot added this to the 1.57.0 milestone Dec 3, 2025
List<UTF8BytesString> peerTags = new ArrayList<>();
for (String peerTag : features.peerTags()) {
Object value = span.getTag(peerTag);
final Set<String> eligiblePeerTags = features.peerTags();
Copy link
Contributor

Choose a reason for hiding this comment

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

As an aside, I've made a TagSet that might be better in this situations.
Rather than using a HashSet, it uses a flat array with linear probing.
That makes iteration faster

@Override
@SuppressWarnings("unchecked")
public <U> U unsafeGetTag(CharSequence name, U defaultValue) {
Object tag = unsafeGetTag(name);
Copy link
Contributor

Choose a reason for hiding this comment

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

Why not use getOrDefault on the Map?
I think that would be better because that's something that we can optimize on TagMap.

Copy link
Contributor Author

@amarziali amarziali Dec 5, 2025

Choose a reason for hiding this comment

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

good call I'll open a follow-up PR to adjust that. The main reason was that the method is not exposed on spanContext

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

Labels

comp: metrics Metrics tag: performance Performance related changes type: enhancement Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants