Skip to content

Reuse TagMap.Entry objects in BaseDecorator#10501

Open
dougqh wants to merge 37 commits intomasterfrom
dougqh/basedecorator-entry-reuse
Open

Reuse TagMap.Entry objects in BaseDecorator#10501
dougqh wants to merge 37 commits intomasterfrom
dougqh/basedecorator-entry-reuse

Conversation

@dougqh
Copy link
Contributor

@dougqh dougqh commented Feb 2, 2026

What Does This Do

Reuses Entry objects analyticsSampleRate & component

Motivation

Reduces allocation & garbage collection - which improves throughput under load

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

dougqh added 30 commits January 12, 2026 14:33
EntryIterator and EntryChangeIterator are arguably redundant
Fixed bug TagValueConversions.toBoolean
Could cause LegacyTagMap.EntryReader to produce incorrect answers to some queries

For simplicity, now treating Byte and Short as Integer.  That will make calling code doing primitive handling simpler.

Fleshing out tests -- more tests to come
Coverage for byte, short, float, and double
Adding methods to AgentSpan / DDSpan that take TagMap.Entry/Reader objects directly

This will enable TagMap.Entry reuse which can reduce memory allocation/GC pressure
Methods are intended to be used to create TagMap.Entry objects for repeatedly used values

Overloads are provided for all the supported types to be easier for developers not familiar with TagMap internals.  Internally, TagMap still uses the more explicit new<X>Entry methods.
Removing statics that were previously moved to TagValueConversions
- tests exposed missing TagMap.Entry.create for boolean
- added explanatory strings to some asserts
…aDog/dd-trace-java into dougqh/fdirect-apis-for-tagmap-entry
@dougqh dougqh requested review from a team as code owners February 2, 2026 18:39
@dougqh dougqh removed the request for review from a team February 2, 2026 18:39
@dougqh dougqh added the type: enhancement Enhancements and improvements label Feb 2, 2026
@dougqh dougqh requested a review from mcculls February 2, 2026 18:39
@dougqh dougqh added tag: performance Performance related changes inst: java Core Java language instrumentation inst:servlet Servlet instrumentation labels Feb 2, 2026
@dougqh dougqh changed the title Reuse TagMap.Entry in BaseDecorator Reuse TagMap.Entry-s in BaseDecorator Feb 2, 2026
@dougqh dougqh changed the title Reuse TagMap.Entry-s in BaseDecorator Reuse TagMap.Entry objects in BaseDecorator Feb 2, 2026

protected final boolean traceAnalyticsEnabled;
protected final Double traceAnalyticsSampleRate;
protected final double traceAnalyticsSampleRate;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Unclear why this was boxed before, since it is set from a double

import datadog.trace.api.Config;
import datadog.trace.api.DDTags;
import datadog.trace.api.Functions;
import datadog.trace.api.TagMap;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This change is based off #10472
I plan to merge that PR first

The only real changes are in this file: BaseDecorator

Doesn't need to be visible to children
If any child needs the componentEntry, they can call the method instead
@pr-commenter
Copy link

pr-commenter bot commented Feb 2, 2026

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/basedecorator-entry-reuse
git_commit_date 1770386810 1770388682
git_commit_sha e036f8c 4c2c1fc
release_version 1.60.0-SNAPSHOT~e036f8ca99 1.59.0-SNAPSHOT~4c2c1fcc54
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1770390349 1770390349
ci_job_id 1406380078 1406380078
ci_pipeline_id 95001753 95001753
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-tox37ygo 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-tox37ygo 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 63 metrics, 8 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.59.0-SNAPSHOT~4c2c1fcc54, baseline=1.60.0-SNAPSHOT~e036f8ca99

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.066 s) : 0, 1065824
Total [baseline] (8.76 s) : 0, 8759890
Agent [candidate] (1.072 s) : 0, 1071837
Total [candidate] (8.772 s) : 0, 8772018
section iast
Agent [baseline] (1.227 s) : 0, 1227072
Total [baseline] (9.382 s) : 0, 9382082
Agent [candidate] (1.23 s) : 0, 1230176
Total [candidate] (9.414 s) : 0, 9414317
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.066 s -
Agent iast 1.227 s 161.247 ms (15.1%)
Total tracing 8.76 s -
Total iast 9.382 s 622.192 ms (7.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.072 s -
Agent iast 1.23 s 158.338 ms (14.8%)
Total tracing 8.772 s -
Total iast 9.414 s 642.299 ms (7.3%)
gantt
    title insecure-bank - break down per module: candidate=1.59.0-SNAPSHOT~4c2c1fcc54, baseline=1.60.0-SNAPSHOT~e036f8ca99

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.183 ms) : 0, 1183
crashtracking [candidate] (1.199 ms) : 0, 1199
BytebuddyAgent [baseline] (629.206 ms) : 0, 629206
BytebuddyAgent [candidate] (632.593 ms) : 0, 632593
AgentMeter [baseline] (28.856 ms) : 0, 28856
AgentMeter [candidate] (29.089 ms) : 0, 29089
GlobalTracer [baseline] (257.745 ms) : 0, 257745
GlobalTracer [candidate] (259.134 ms) : 0, 259134
AppSec [baseline] (32.742 ms) : 0, 32742
AppSec [candidate] (33.071 ms) : 0, 33071
Debugger [baseline] (61.018 ms) : 0, 61018
Debugger [candidate] (61.534 ms) : 0, 61534
Remote Config [baseline] (609.798 µs) : 0, 610
Remote Config [candidate] (619.791 µs) : 0, 620
Telemetry [baseline] (10.719 ms) : 0, 10719
Telemetry [candidate] (13.002 ms) : 0, 13002
Flare Poller [baseline] (8.377 ms) : 0, 8377
Flare Poller [candidate] (6.214 ms) : 0, 6214
section iast
crashtracking [baseline] (1.175 ms) : 0, 1175
crashtracking [candidate] (1.184 ms) : 0, 1184
BytebuddyAgent [baseline] (793.55 ms) : 0, 793550
BytebuddyAgent [candidate] (794.38 ms) : 0, 794380
AgentMeter [baseline] (11.228 ms) : 0, 11228
AgentMeter [candidate] (11.238 ms) : 0, 11238
GlobalTracer [baseline] (247.654 ms) : 0, 247654
GlobalTracer [candidate] (248.413 ms) : 0, 248413
IAST [baseline] (26.753 ms) : 0, 26753
IAST [candidate] (26.895 ms) : 0, 26895
AppSec [baseline] (31.19 ms) : 0, 31190
AppSec [candidate] (32.224 ms) : 0, 32224
Debugger [baseline] (67.526 ms) : 0, 67526
Debugger [candidate] (67.992 ms) : 0, 67992
Remote Config [baseline] (530.119 µs) : 0, 530
Remote Config [candidate] (536.704 µs) : 0, 537
Telemetry [baseline] (8.734 ms) : 0, 8734
Telemetry [candidate] (8.637 ms) : 0, 8637
Flare Poller [baseline] (3.492 ms) : 0, 3492
Flare Poller [candidate] (3.467 ms) : 0, 3467
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.59.0-SNAPSHOT~4c2c1fcc54, baseline=1.60.0-SNAPSHOT~e036f8ca99

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.068 s) : 0, 1068227
Total [baseline] (10.863 s) : 0, 10863455
Agent [candidate] (1.083 s) : 0, 1082928
Total [candidate] (11.053 s) : 0, 11053129
section appsec
Agent [baseline] (1.242 s) : 0, 1242125
Total [baseline] (11.031 s) : 0, 11031418
Agent [candidate] (1.247 s) : 0, 1246536
Total [candidate] (10.992 s) : 0, 10991844
section iast
Agent [baseline] (1.233 s) : 0, 1232625
Total [baseline] (11.257 s) : 0, 11256685
Agent [candidate] (1.234 s) : 0, 1233970
Total [candidate] (11.18 s) : 0, 11180493
section profiling
Agent [baseline] (1.189 s) : 0, 1189113
Total [baseline] (10.913 s) : 0, 10913180
Agent [candidate] (1.193 s) : 0, 1193167
Total [candidate] (10.99 s) : 0, 10989587
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.068 s -
Agent appsec 1.242 s 173.898 ms (16.3%)
Agent iast 1.233 s 164.398 ms (15.4%)
Agent profiling 1.189 s 120.886 ms (11.3%)
Total tracing 10.863 s -
Total appsec 11.031 s 167.963 ms (1.5%)
Total iast 11.257 s 393.23 ms (3.6%)
Total profiling 10.913 s 49.725 ms (0.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.083 s -
Agent appsec 1.247 s 163.608 ms (15.1%)
Agent iast 1.234 s 151.042 ms (13.9%)
Agent profiling 1.193 s 110.24 ms (10.2%)
Total tracing 11.053 s -
Total appsec 10.992 s -61.285 ms (-0.6%)
Total iast 11.18 s 127.363 ms (1.2%)
Total profiling 10.99 s -63.542 ms (-0.6%)
gantt
    title petclinic - break down per module: candidate=1.59.0-SNAPSHOT~4c2c1fcc54, baseline=1.60.0-SNAPSHOT~e036f8ca99

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.18 ms) : 0, 1180
crashtracking [candidate] (1.196 ms) : 0, 1196
BytebuddyAgent [baseline] (630.423 ms) : 0, 630423
BytebuddyAgent [candidate] (637.885 ms) : 0, 637885
AgentMeter [baseline] (29.034 ms) : 0, 29034
AgentMeter [candidate] (29.608 ms) : 0, 29608
GlobalTracer [baseline] (258.65 ms) : 0, 258650
GlobalTracer [candidate] (262.241 ms) : 0, 262241
AppSec [baseline] (32.872 ms) : 0, 32872
AppSec [candidate] (33.571 ms) : 0, 33571
Debugger [baseline] (61.693 ms) : 0, 61693
Debugger [candidate] (63.374 ms) : 0, 63374
Remote Config [baseline] (626.587 µs) : 0, 627
Remote Config [candidate] (646.482 µs) : 0, 646
Telemetry [baseline] (12.376 ms) : 0, 12376
Telemetry [candidate] (14.117 ms) : 0, 14117
Flare Poller [baseline] (6.113 ms) : 0, 6113
Flare Poller [candidate] (4.66 ms) : 0, 4660
section appsec
crashtracking [baseline] (1.182 ms) : 0, 1182
crashtracking [candidate] (1.188 ms) : 0, 1188
BytebuddyAgent [baseline] (659.913 ms) : 0, 659913
BytebuddyAgent [candidate] (663.392 ms) : 0, 663392
AgentMeter [baseline] (11.947 ms) : 0, 11947
AgentMeter [candidate] (11.965 ms) : 0, 11965
GlobalTracer [baseline] (259.179 ms) : 0, 259179
GlobalTracer [candidate] (260.146 ms) : 0, 260146
IAST [baseline] (25.38 ms) : 0, 25380
IAST [candidate] (25.35 ms) : 0, 25350
AppSec [baseline] (167.927 ms) : 0, 167927
AppSec [candidate] (168.861 ms) : 0, 168861
Debugger [baseline] (67.808 ms) : 0, 67808
Debugger [candidate] (66.668 ms) : 0, 66668
Remote Config [baseline] (679.274 µs) : 0, 679
Remote Config [candidate] (668.575 µs) : 0, 669
Telemetry [baseline] (9.174 ms) : 0, 9174
Telemetry [candidate] (9.121 ms) : 0, 9121
Flare Poller [baseline] (3.635 ms) : 0, 3635
Flare Poller [candidate] (3.695 ms) : 0, 3695
section iast
crashtracking [baseline] (1.177 ms) : 0, 1177
crashtracking [candidate] (1.207 ms) : 0, 1207
BytebuddyAgent [baseline] (796.1 ms) : 0, 796100
BytebuddyAgent [candidate] (796.801 ms) : 0, 796801
AgentMeter [baseline] (11.238 ms) : 0, 11238
AgentMeter [candidate] (11.258 ms) : 0, 11258
GlobalTracer [baseline] (248.358 ms) : 0, 248358
GlobalTracer [candidate] (248.936 ms) : 0, 248936
IAST [baseline] (27.006 ms) : 0, 27006
IAST [candidate] (27.08 ms) : 0, 27080
AppSec [baseline] (33.95 ms) : 0, 33950
AppSec [candidate] (34.744 ms) : 0, 34744
Debugger [baseline] (66.665 ms) : 0, 66665
Debugger [candidate] (66.041 ms) : 0, 66041
Remote Config [baseline] (538.011 µs) : 0, 538
Remote Config [candidate] (539.421 µs) : 0, 539
Telemetry [baseline] (8.786 ms) : 0, 8786
Telemetry [candidate] (8.622 ms) : 0, 8622
Flare Poller [baseline] (3.56 ms) : 0, 3560
Flare Poller [candidate] (3.484 ms) : 0, 3484
section profiling
crashtracking [baseline] (1.205 ms) : 0, 1205
crashtracking [candidate] (1.214 ms) : 0, 1214
BytebuddyAgent [baseline] (681.77 ms) : 0, 681770
BytebuddyAgent [candidate] (684.246 ms) : 0, 684246
AgentMeter [baseline] (8.76 ms) : 0, 8760
AgentMeter [candidate] (8.798 ms) : 0, 8798
GlobalTracer [baseline] (215.569 ms) : 0, 215569
GlobalTracer [candidate] (216.135 ms) : 0, 216135
AppSec [baseline] (32.372 ms) : 0, 32372
AppSec [candidate] (32.669 ms) : 0, 32669
Debugger [baseline] (67.693 ms) : 0, 67693
Debugger [candidate] (68.059 ms) : 0, 68059
Remote Config [baseline] (598.529 µs) : 0, 599
Remote Config [candidate] (601.203 µs) : 0, 601
Telemetry [baseline] (8.922 ms) : 0, 8922
Telemetry [candidate] (8.955 ms) : 0, 8955
Flare Poller [baseline] (3.8 ms) : 0, 3800
Flare Poller [candidate] (3.768 ms) : 0, 3768
ProfilingAgent [baseline] (98.641 ms) : 0, 98641
ProfilingAgent [candidate] (98.737 ms) : 0, 98737
Profiling [baseline] (99.206 ms) : 0, 99206
Profiling [candidate] (99.31 ms) : 0, 99310
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/basedecorator-entry-reuse
git_commit_date 1770386810 1770388682
git_commit_sha e036f8c 4c2c1fc
release_version 1.60.0-SNAPSHOT~e036f8ca99 1.59.0-SNAPSHOT~4c2c1fcc54
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1770390843 1770390843
ci_job_id 1406380079 1406380079
ci_pipeline_id 95001753 95001753
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-vk5smcum 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-vk5smcum 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 2 performance improvements and 3 performance regressions! Performance is the same for 15 metrics, 16 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
[-241.655µs; -143.473µs] or [-13.354%; -7.928%]
unstable
[-1.542ms; -0.895ms] or [-26.536%; -15.399%]
unstable
[+173.315op/s; +623.185op/s] or [+9.223%; +33.164%]
1.617ms 4.593ms 2277.375op/s 1.810ms 5.812ms 1879.125op/s
scenario:load:petclinic:profiling:high_load better
[-2.229ms; -0.988ms] or [-11.305%; -5.010%]
unsure
[-2.522ms; -0.615ms] or [-8.002%; -1.952%]
unstable
[-6.859op/s; +39.234op/s] or [-2.922%; +16.715%]
18.106ms 29.951ms 250.906op/s 19.714ms 31.520ms 234.719op/s
scenario:load:petclinic:no_agent:high_load worse
[+0.464ms; +1.744ms] or [+2.647%; +9.954%]
unstable
[-0.437ms; +2.746ms] or [-1.473%; +9.256%]
unstable
[-39.028op/s; +9.778op/s] or [-15.103%; +3.784%]
18.622ms 30.824ms 243.781op/s 17.519ms 29.669ms 258.406op/s
scenario:load:petclinic:appsec:high_load worse
[+1.215ms; +2.307ms] or [+6.722%; +12.759%]
worse
[+1.144ms; +2.851ms] or [+3.866%; +9.639%]
unstable
[-42.129op/s; +3.254op/s] or [-16.666%; +1.287%]
19.841ms 31.576ms 233.344op/s 18.080ms 29.578ms 252.781op/s
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.59.0-SNAPSHOT~4c2c1fcc54, baseline=1.60.0-SNAPSHOT~e036f8ca99
    dateFormat X
    axisFormat %s
section baseline
no_agent (18.06 ms) : 17877, 18244
.   : milestone, 18060,
appsec (18.462 ms) : 18276, 18648
.   : milestone, 18462,
code_origins (17.673 ms) : 17494, 17851
.   : milestone, 17673,
iast (17.661 ms) : 17486, 17837
.   : milestone, 17661,
profiling (19.895 ms) : 19691, 20099
.   : milestone, 19895,
tracing (17.342 ms) : 17168, 17516
.   : milestone, 17342,
section candidate
no_agent (19.151 ms) : 18954, 19348
.   : milestone, 19151,
appsec (20.012 ms) : 19805, 20219
.   : milestone, 20012,
code_origins (17.648 ms) : 17473, 17823
.   : milestone, 17648,
iast (17.771 ms) : 17593, 17950
.   : milestone, 17771,
profiling (18.603 ms) : 18414, 18791
.   : milestone, 18603,
tracing (17.581 ms) : 17405, 17756
.   : milestone, 17581,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.06 ms [17.877 ms, 18.244 ms] -
appsec 18.462 ms [18.276 ms, 18.648 ms] 401.757 µs (2.2%)
code_origins 17.673 ms [17.494 ms, 17.851 ms] -387.755 µs (-2.1%)
iast 17.661 ms [17.486 ms, 17.837 ms] -399.043 µs (-2.2%)
profiling 19.895 ms [19.691 ms, 20.099 ms] 1.835 ms (10.2%)
tracing 17.342 ms [17.168 ms, 17.516 ms] -718.105 µs (-4.0%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 19.151 ms [18.954 ms, 19.348 ms] -
appsec 20.012 ms [19.805 ms, 20.219 ms] 861.116 µs (4.5%)
code_origins 17.648 ms [17.473 ms, 17.823 ms] -1.503 ms (-7.8%)
iast 17.771 ms [17.593 ms, 17.95 ms] -1.38 ms (-7.2%)
profiling 18.603 ms [18.414 ms, 18.791 ms] -548.442 µs (-2.9%)
tracing 17.581 ms [17.405 ms, 17.756 ms] -1.57 ms (-8.2%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.59.0-SNAPSHOT~4c2c1fcc54, baseline=1.60.0-SNAPSHOT~e036f8ca99
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.187 ms) : 1175, 1199
.   : milestone, 1187,
iast (3.227 ms) : 3182, 3272
.   : milestone, 3227,
iast_FULL (5.728 ms) : 5671, 5784
.   : milestone, 5728,
iast_GLOBAL (3.689 ms) : 3621, 3757
.   : milestone, 3689,
profiling (2.416 ms) : 2393, 2440
.   : milestone, 2416,
tracing (1.792 ms) : 1778, 1807
.   : milestone, 1792,
section candidate
no_agent (1.191 ms) : 1180, 1203
.   : milestone, 1191,
iast (3.255 ms) : 3210, 3299
.   : milestone, 3255,
iast_FULL (5.807 ms) : 5748, 5865
.   : milestone, 5807,
iast_GLOBAL (3.613 ms) : 3556, 3670
.   : milestone, 3613,
profiling (1.981 ms) : 1964, 1998
.   : milestone, 1981,
tracing (1.766 ms) : 1751, 1781
.   : milestone, 1766,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.187 ms [1.175 ms, 1.199 ms] -
iast 3.227 ms [3.182 ms, 3.272 ms] 2.04 ms (171.9%)
iast_FULL 5.728 ms [5.671 ms, 5.784 ms] 4.54 ms (382.5%)
iast_GLOBAL 3.689 ms [3.621 ms, 3.757 ms] 2.502 ms (210.8%)
profiling 2.416 ms [2.393 ms, 2.44 ms] 1.229 ms (103.6%)
tracing 1.792 ms [1.778 ms, 1.807 ms] 605.251 µs (51.0%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.191 ms [1.18 ms, 1.203 ms] -
iast 3.255 ms [3.21 ms, 3.299 ms] 2.063 ms (173.2%)
iast_FULL 5.807 ms [5.748 ms, 5.865 ms] 4.616 ms (387.5%)
iast_GLOBAL 3.613 ms [3.556 ms, 3.67 ms] 2.422 ms (203.3%)
profiling 1.981 ms [1.964 ms, 1.998 ms] 789.864 µs (66.3%)
tracing 1.766 ms [1.751 ms, 1.781 ms] 575.027 µs (48.3%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/basedecorator-entry-reuse
git_commit_date 1770386810 1770388682
git_commit_sha e036f8c 4c2c1fc
release_version 1.60.0-SNAPSHOT~e036f8ca99 1.59.0-SNAPSHOT~4c2c1fcc54
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1770390563 1770390563
ci_job_id 1406380080 1406380080
ci_pipeline_id 95001753 95001753
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-ajfm4mbo 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-ajfm4mbo 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.59.0-SNAPSHOT~4c2c1fcc54, baseline=1.60.0-SNAPSHOT~e036f8ca99
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.724 s) : 14724000, 14724000
.   : milestone, 14724000,
appsec (14.992 s) : 14992000, 14992000
.   : milestone, 14992000,
iast (18.323 s) : 18323000, 18323000
.   : milestone, 18323000,
iast_GLOBAL (17.887 s) : 17887000, 17887000
.   : milestone, 17887000,
profiling (14.956 s) : 14956000, 14956000
.   : milestone, 14956000,
tracing (14.492 s) : 14492000, 14492000
.   : milestone, 14492000,
section candidate
no_agent (15.509 s) : 15509000, 15509000
.   : milestone, 15509000,
appsec (14.798 s) : 14798000, 14798000
.   : milestone, 14798000,
iast (17.827 s) : 17827000, 17827000
.   : milestone, 17827000,
iast_GLOBAL (17.884 s) : 17884000, 17884000
.   : milestone, 17884000,
profiling (14.957 s) : 14957000, 14957000
.   : milestone, 14957000,
tracing (15.283 s) : 15283000, 15283000
.   : milestone, 15283000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.724 s [14.724 s, 14.724 s] -
appsec 14.992 s [14.992 s, 14.992 s] 268.0 ms (1.8%)
iast 18.323 s [18.323 s, 18.323 s] 3.599 s (24.4%)
iast_GLOBAL 17.887 s [17.887 s, 17.887 s] 3.163 s (21.5%)
profiling 14.956 s [14.956 s, 14.956 s] 232.0 ms (1.6%)
tracing 14.492 s [14.492 s, 14.492 s] -232.0 ms (-1.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.509 s [15.509 s, 15.509 s] -
appsec 14.798 s [14.798 s, 14.798 s] -711.0 ms (-4.6%)
iast 17.827 s [17.827 s, 17.827 s] 2.318 s (14.9%)
iast_GLOBAL 17.884 s [17.884 s, 17.884 s] 2.375 s (15.3%)
profiling 14.957 s [14.957 s, 14.957 s] -552.0 ms (-3.6%)
tracing 15.283 s [15.283 s, 15.283 s] -226.0 ms (-1.5%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.59.0-SNAPSHOT~4c2c1fcc54, baseline=1.60.0-SNAPSHOT~e036f8ca99
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.477 ms) : 1466, 1489
.   : milestone, 1477,
appsec (3.742 ms) : 3520, 3965
.   : milestone, 3742,
iast (2.265 ms) : 2196, 2335
.   : milestone, 2265,
iast_GLOBAL (2.31 ms) : 2240, 2379
.   : milestone, 2310,
profiling (2.083 ms) : 2029, 2138
.   : milestone, 2083,
tracing (2.065 ms) : 2011, 2118
.   : milestone, 2065,
section candidate
no_agent (1.477 ms) : 1466, 1489
.   : milestone, 1477,
appsec (3.796 ms) : 3575, 4017
.   : milestone, 3796,
iast (2.258 ms) : 2190, 2327
.   : milestone, 2258,
iast_GLOBAL (2.299 ms) : 2230, 2369
.   : milestone, 2299,
profiling (2.081 ms) : 2027, 2136
.   : milestone, 2081,
tracing (2.068 ms) : 2015, 2122
.   : milestone, 2068,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.477 ms [1.466 ms, 1.489 ms] -
appsec 3.742 ms [3.52 ms, 3.965 ms] 2.265 ms (153.3%)
iast 2.265 ms [2.196 ms, 2.335 ms] 788.239 µs (53.4%)
iast_GLOBAL 2.31 ms [2.24 ms, 2.379 ms] 832.64 µs (56.4%)
profiling 2.083 ms [2.029 ms, 2.138 ms] 606.089 µs (41.0%)
tracing 2.065 ms [2.011 ms, 2.118 ms] 587.69 µs (39.8%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.477 ms [1.466 ms, 1.489 ms] -
appsec 3.796 ms [3.575 ms, 4.017 ms] 2.319 ms (157.0%)
iast 2.258 ms [2.19 ms, 2.327 ms] 780.969 µs (52.9%)
iast_GLOBAL 2.299 ms [2.23 ms, 2.369 ms] 822.038 µs (55.6%)
profiling 2.081 ms [2.027 ms, 2.136 ms] 603.913 µs (40.9%)
tracing 2.068 ms [2.015 ms, 2.122 ms] 591.087 µs (40.0%)

public void newBooleanEntry(boolean value) {
test(
() -> TagMap.Entry.newBooleanEntry("foo", value),
() -> TagMap.Entry.create("foo", value),
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I cleaned this up in #10503
Although, arguably, the clean-up should be a separate PR

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

Labels

inst: java Core Java language instrumentation inst:servlet Servlet instrumentation 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