Skip to content

Conversation

@dougqh
Copy link
Contributor

@dougqh dougqh commented Jan 12, 2026

What Does This Do

Introduces EntryReader as a low allocation means to traverse either a LegacyTagMap or an OptimizedTagMap
TagMap now extends Iterable<EntryReader> rather than Iterable<Entry>

Motivation

EntryReader provides a way to traverse a map with minimal allocation - avoiding the need to create specialized code that is optimal for each map type

In a future change, this capability will be used in the serializers to reduce overhead for OptimizedTagMap without introducing two pieces of code to maintain (one for each map)

Additional Notes

LegacyTagMap reuses a EntryReadingHelper which is updating each time the Iterator advances or the Entry changes in a forEach method. EntryReadingHelper uses TagValueConversions to help unbox / convert objects as needed.

OptimizedTagMap continues to pass the Entry object directly, since Entry objects are EntryReaders.

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@dougqh dougqh requested a review from a team as a code owner January 12, 2026 21:09
@dougqh dougqh requested a review from smola January 12, 2026 21:09
@github-actions
Copy link
Contributor

github-actions bot commented Jan 12, 2026

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.

@dougqh dougqh added comp: core Tracer core type: enhancement Enhancements and improvements labels Jan 12, 2026
@dougqh dougqh changed the title Dougqh/tagmap entryreader Introducing TagMap EntryReader Jan 12, 2026
@pr-commenter
Copy link

pr-commenter bot commented Jan 12, 2026

Benchmarks

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

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/tagmap-entryreader
git_commit_date 1768313291 1768313308
git_commit_sha bff8837 5fadff5
release_version 1.59.0-SNAPSHOT~bff8837e3e 1.59.0-SNAPSHOT~5fadff5141
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1768315101 1768315101
ci_job_id 1346269799 1346269799
ci_pipeline_id 90403419 90403419
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-3-6u7d0a7n 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-3-6u7d0a7n 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 56 metrics, 9 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.59.0-SNAPSHOT~5fadff5141, baseline=1.59.0-SNAPSHOT~bff8837e3e

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.087 s) : 0, 1086861
Total [baseline] (8.738 s) : 0, 8738481
Agent [candidate] (1.094 s) : 0, 1093728
Total [candidate] (8.796 s) : 0, 8796464
section iast
Agent [baseline] (1.232 s) : 0, 1231748
Total [baseline] (9.352 s) : 0, 9351881
Agent [candidate] (1.228 s) : 0, 1228436
Total [candidate] (9.385 s) : 0, 9384848
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.087 s -
Agent iast 1.232 s 144.887 ms (13.3%)
Total tracing 8.738 s -
Total iast 9.352 s 613.4 ms (7.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.094 s -
Agent iast 1.228 s 134.709 ms (12.3%)
Total tracing 8.796 s -
Total iast 9.385 s 588.384 ms (6.7%)
gantt
    title insecure-bank - break down per module: candidate=1.59.0-SNAPSHOT~5fadff5141, baseline=1.59.0-SNAPSHOT~bff8837e3e

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.183 ms) : 0, 1183
crashtracking [candidate] (1.201 ms) : 0, 1201
BytebuddyAgent [baseline] (651.925 ms) : 0, 651925
BytebuddyAgent [candidate] (657.202 ms) : 0, 657202
GlobalTracer [baseline] (284.372 ms) : 0, 284372
GlobalTracer [candidate] (285.177 ms) : 0, 285177
AppSec [baseline] (32.933 ms) : 0, 32933
AppSec [candidate] (33.039 ms) : 0, 33039
Debugger [baseline] (67.408 ms) : 0, 67408
Debugger [candidate] (67.758 ms) : 0, 67758
Remote Config [baseline] (670.099 µs) : 0, 670
Remote Config [candidate] (641.799 µs) : 0, 642
Telemetry [baseline] (8.937 ms) : 0, 8937
Telemetry [candidate] (9.072 ms) : 0, 9072
Flare Poller [baseline] (3.812 ms) : 0, 3812
Flare Poller [candidate] (3.866 ms) : 0, 3866
section iast
crashtracking [baseline] (1.198 ms) : 0, 1198
crashtracking [candidate] (1.2 ms) : 0, 1200
BytebuddyAgent [baseline] (796.683 ms) : 0, 796683
BytebuddyAgent [candidate] (794.875 ms) : 0, 794875
GlobalTracer [baseline] (258.192 ms) : 0, 258192
GlobalTracer [candidate] (256.878 ms) : 0, 256878
AppSec [baseline] (35.402 ms) : 0, 35402
AppSec [candidate] (33.612 ms) : 0, 33612
Debugger [baseline] (64.217 ms) : 0, 64217
Debugger [candidate] (66.323 ms) : 0, 66323
Remote Config [baseline] (600.245 µs) : 0, 600
Remote Config [candidate] (597.301 µs) : 0, 597
Telemetry [baseline] (8.695 ms) : 0, 8695
Telemetry [candidate] (8.678 ms) : 0, 8678
Flare Poller [baseline] (3.71 ms) : 0, 3710
Flare Poller [candidate] (3.68 ms) : 0, 3680
IAST [baseline] (27.316 ms) : 0, 27316
IAST [candidate] (26.957 ms) : 0, 26957
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.59.0-SNAPSHOT~5fadff5141, baseline=1.59.0-SNAPSHOT~bff8837e3e

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.089 s) : 0, 1088873
Total [baseline] (10.807 s) : 0, 10807041
Agent [candidate] (1.088 s) : 0, 1087836
Total [candidate] (10.763 s) : 0, 10762598
section appsec
Agent [baseline] (1.268 s) : 0, 1267821
Total [baseline] (11.014 s) : 0, 11013538
Agent [candidate] (1.267 s) : 0, 1266657
Total [candidate] (9.274 s) : 0, 9273915
section iast
Agent [baseline] (1.234 s) : 0, 1233872
Total [baseline] (11.274 s) : 0, 11274428
Agent [candidate] (1.237 s) : 0, 1236800
Total [candidate] (11.31 s) : 0, 11310288
section profiling
Agent [baseline] (1.208 s) : 0, 1207783
Total [baseline] (10.886 s) : 0, 10885615
Agent [candidate] (1.208 s) : 0, 1208269
Total [candidate] (10.931 s) : 0, 10930812
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.089 s -
Agent appsec 1.268 s 178.948 ms (16.4%)
Agent iast 1.234 s 144.999 ms (13.3%)
Agent profiling 1.208 s 118.91 ms (10.9%)
Total tracing 10.807 s -
Total appsec 11.014 s 206.497 ms (1.9%)
Total iast 11.274 s 467.387 ms (4.3%)
Total profiling 10.886 s 78.574 ms (0.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.088 s -
Agent appsec 1.267 s 178.821 ms (16.4%)
Agent iast 1.237 s 148.965 ms (13.7%)
Agent profiling 1.208 s 120.433 ms (11.1%)
Total tracing 10.763 s -
Total appsec 9.274 s -1.489 s (-13.8%)
Total iast 11.31 s 547.69 ms (5.1%)
Total profiling 10.931 s 168.214 ms (1.6%)
gantt
    title petclinic - break down per module: candidate=1.59.0-SNAPSHOT~5fadff5141, baseline=1.59.0-SNAPSHOT~bff8837e3e

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.198 ms) : 0, 1198
crashtracking [candidate] (1.188 ms) : 0, 1188
BytebuddyAgent [baseline] (654.183 ms) : 0, 654183
BytebuddyAgent [candidate] (652.758 ms) : 0, 652758
GlobalTracer [baseline] (283.26 ms) : 0, 283260
GlobalTracer [candidate] (283.582 ms) : 0, 283582
AppSec [baseline] (32.788 ms) : 0, 32788
AppSec [candidate] (32.794 ms) : 0, 32794
Debugger [baseline] (68.186 ms) : 0, 68186
Debugger [candidate] (68.436 ms) : 0, 68436
Remote Config [baseline] (653.947 µs) : 0, 654
Remote Config [candidate] (632.31 µs) : 0, 632
Telemetry [baseline] (9.034 ms) : 0, 9034
Telemetry [candidate] (8.979 ms) : 0, 8979
Flare Poller [baseline] (3.794 ms) : 0, 3794
Flare Poller [candidate] (3.819 ms) : 0, 3819
section appsec
crashtracking [baseline] (1.19 ms) : 0, 1190
crashtracking [candidate] (1.179 ms) : 0, 1179
BytebuddyAgent [baseline] (692.296 ms) : 0, 692296
BytebuddyAgent [candidate] (691.976 ms) : 0, 691976
GlobalTracer [baseline] (259.124 ms) : 0, 259124
GlobalTracer [candidate] (258.989 ms) : 0, 258989
AppSec [baseline] (174.514 ms) : 0, 174514
AppSec [candidate] (172.493 ms) : 0, 172493
Debugger [baseline] (66.78 ms) : 0, 66780
Debugger [candidate] (67.978 ms) : 0, 67978
Remote Config [baseline] (803.239 µs) : 0, 803
Remote Config [candidate] (782.913 µs) : 0, 783
Telemetry [baseline] (9.377 ms) : 0, 9377
Telemetry [candidate] (9.343 ms) : 0, 9343
Flare Poller [baseline] (3.714 ms) : 0, 3714
Flare Poller [candidate] (3.831 ms) : 0, 3831
IAST [baseline] (24.576 ms) : 0, 24576
IAST [candidate] (24.571 ms) : 0, 24571
section iast
crashtracking [baseline] (1.195 ms) : 0, 1195
crashtracking [candidate] (1.2 ms) : 0, 1200
BytebuddyAgent [baseline] (798.744 ms) : 0, 798744
BytebuddyAgent [candidate] (798.918 ms) : 0, 798918
GlobalTracer [baseline] (258.272 ms) : 0, 258272
GlobalTracer [candidate] (259.469 ms) : 0, 259469
AppSec [baseline] (34.619 ms) : 0, 34619
AppSec [candidate] (34.708 ms) : 0, 34708
Debugger [baseline] (65.554 ms) : 0, 65554
Debugger [candidate] (66.606 ms) : 0, 66606
Remote Config [baseline] (575.782 µs) : 0, 576
Remote Config [candidate] (583.522 µs) : 0, 584
Telemetry [baseline] (8.514 ms) : 0, 8514
Telemetry [candidate] (8.549 ms) : 0, 8549
Flare Poller [baseline] (3.576 ms) : 0, 3576
Flare Poller [candidate] (3.645 ms) : 0, 3645
IAST [baseline] (27.154 ms) : 0, 27154
IAST [candidate] (27.354 ms) : 0, 27354
section profiling
crashtracking [baseline] (1.217 ms) : 0, 1217
crashtracking [candidate] (1.226 ms) : 0, 1226
BytebuddyAgent [baseline] (703.308 ms) : 0, 703308
BytebuddyAgent [candidate] (702.722 ms) : 0, 702722
GlobalTracer [baseline] (221.651 ms) : 0, 221651
GlobalTracer [candidate] (221.685 ms) : 0, 221685
AppSec [baseline] (32.21 ms) : 0, 32210
AppSec [candidate] (32.084 ms) : 0, 32084
Debugger [baseline] (68.505 ms) : 0, 68505
Debugger [candidate] (68.803 ms) : 0, 68803
Remote Config [baseline] (658.846 µs) : 0, 659
Remote Config [candidate] (651.069 µs) : 0, 651
Telemetry [baseline] (9.037 ms) : 0, 9037
Telemetry [candidate] (9.027 ms) : 0, 9027
Flare Poller [baseline] (3.838 ms) : 0, 3838
Flare Poller [candidate] (3.847 ms) : 0, 3847
ProfilingAgent [baseline] (97.38 ms) : 0, 97380
ProfilingAgent [candidate] (98.237 ms) : 0, 98237
Profiling [baseline] (97.964 ms) : 0, 97964
Profiling [candidate] (98.833 ms) : 0, 98833
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/tagmap-entryreader
git_commit_date 1768313291 1768313308
git_commit_sha bff8837 5fadff5
release_version 1.59.0-SNAPSHOT~bff8837e3e 1.59.0-SNAPSHOT~5fadff5141
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1768315722 1768315722
ci_job_id 1346269800 1346269800
ci_pipeline_id 90403419 90403419
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-4-zaxx3ysh 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-4-zaxx3ysh 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 1 performance regressions! Performance is the same for 17 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:iast_GLOBAL:high_load better
[-258.057µs; -121.398µs] or [-8.656%; -4.072%]
unsure
[-573.838µs; -129.905µs] or [-6.921%; -1.567%]
unstable
[-63.326op/s; +214.451op/s] or [-5.171%; +17.512%]
2.791ms 7.940ms 1300.125op/s 2.981ms 8.292ms 1224.562op/s
scenario:load:petclinic:profiling:high_load better
[-1.867ms; -0.940ms] or [-9.616%; -4.840%]
better
[-2.102ms; -0.777ms] or [-6.759%; -2.500%]
unstable
[-7.707op/s; +40.145op/s] or [-3.251%; +16.934%]
18.013ms 29.660ms 253.281op/s 19.416ms 31.100ms 237.062op/s
scenario:load:petclinic:appsec:high_load worse
[+461.801µs; +1284.280µs] or [+2.556%; +7.110%]
same
[-229.968µs; +1274.154µs] or [-0.768%; +4.257%]
unstable
[-33.343op/s; +15.468op/s] or [-13.199%; +6.123%]
18.937ms 30.450ms 243.688op/s 18.064ms 29.928ms 252.625op/s
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.59.0-SNAPSHOT~5fadff5141, baseline=1.59.0-SNAPSHOT~bff8837e3e
    dateFormat X
    axisFormat %s
section baseline
no_agent (17.821 ms) : 17635, 18006
.   : milestone, 17821,
appsec (18.469 ms) : 18283, 18655
.   : milestone, 18469,
code_origins (17.652 ms) : 17476, 17828
.   : milestone, 17652,
iast (17.625 ms) : 17449, 17800
.   : milestone, 17625,
profiling (19.698 ms) : 19499, 19896
.   : milestone, 19698,
tracing (17.582 ms) : 17411, 17752
.   : milestone, 17582,
section candidate
no_agent (17.572 ms) : 17398, 17745
.   : milestone, 17572,
appsec (19.157 ms) : 18963, 19351
.   : milestone, 19157,
code_origins (17.964 ms) : 17786, 18142
.   : milestone, 17964,
iast (17.739 ms) : 17564, 17914
.   : milestone, 17739,
profiling (18.423 ms) : 18240, 18606
.   : milestone, 18423,
tracing (17.854 ms) : 17675, 18032
.   : milestone, 17854,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 17.821 ms [17.635 ms, 18.006 ms] -
appsec 18.469 ms [18.283 ms, 18.655 ms] 648.461 µs (3.6%)
code_origins 17.652 ms [17.476 ms, 17.828 ms] -168.752 µs (-0.9%)
iast 17.625 ms [17.449 ms, 17.8 ms] -195.978 µs (-1.1%)
profiling 19.698 ms [19.499 ms, 19.896 ms] 1.877 ms (10.5%)
tracing 17.582 ms [17.411 ms, 17.752 ms] -239.212 µs (-1.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 17.572 ms [17.398 ms, 17.745 ms] -
appsec 19.157 ms [18.963 ms, 19.351 ms] 1.585 ms (9.0%)
code_origins 17.964 ms [17.786 ms, 18.142 ms] 392.311 µs (2.2%)
iast 17.739 ms [17.564 ms, 17.914 ms] 167.545 µs (1.0%)
profiling 18.423 ms [18.24 ms, 18.606 ms] 851.126 µs (4.8%)
tracing 17.854 ms [17.675 ms, 18.032 ms] 281.971 µs (1.6%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.59.0-SNAPSHOT~5fadff5141, baseline=1.59.0-SNAPSHOT~bff8837e3e
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.191 ms) : 1179, 1203
.   : milestone, 1191,
iast (3.157 ms) : 3114, 3199
.   : milestone, 3157,
iast_FULL (5.849 ms) : 5790, 5907
.   : milestone, 5849,
iast_GLOBAL (3.748 ms) : 3691, 3805
.   : milestone, 3748,
profiling (2.064 ms) : 2045, 2084
.   : milestone, 2064,
tracing (1.783 ms) : 1769, 1798
.   : milestone, 1783,
section candidate
no_agent (1.185 ms) : 1174, 1197
.   : milestone, 1185,
iast (3.168 ms) : 3129, 3207
.   : milestone, 3168,
iast_FULL (5.837 ms) : 5779, 5896
.   : milestone, 5837,
iast_GLOBAL (3.526 ms) : 3485, 3566
.   : milestone, 3526,
profiling (2.021 ms) : 2003, 2038
.   : milestone, 2021,
tracing (1.824 ms) : 1806, 1841
.   : milestone, 1824,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.191 ms [1.179 ms, 1.203 ms] -
iast 3.157 ms [3.114 ms, 3.199 ms] 1.966 ms (165.0%)
iast_FULL 5.849 ms [5.79 ms, 5.907 ms] 4.658 ms (391.0%)
iast_GLOBAL 3.748 ms [3.691 ms, 3.805 ms] 2.557 ms (214.6%)
profiling 2.064 ms [2.045 ms, 2.084 ms] 873.079 µs (73.3%)
tracing 1.783 ms [1.769 ms, 1.798 ms] 591.972 µs (49.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.185 ms [1.174 ms, 1.197 ms] -
iast 3.168 ms [3.129 ms, 3.207 ms] 1.983 ms (167.3%)
iast_FULL 5.837 ms [5.779 ms, 5.896 ms] 4.652 ms (392.6%)
iast_GLOBAL 3.526 ms [3.485 ms, 3.566 ms] 2.341 ms (197.5%)
profiling 2.021 ms [2.003 ms, 2.038 ms] 835.409 µs (70.5%)
tracing 1.824 ms [1.806 ms, 1.841 ms] 638.703 µs (53.9%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/tagmap-entryreader
git_commit_date 1768312217 1768313308
git_commit_sha 1c3382d 5fadff5
release_version 1.59.0-SNAPSHOT~1c3382de68 1.59.0-SNAPSHOT~5fadff5141
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1768315216 1768315216
ci_job_id 1346269801 1346269801
ci_pipeline_id 90403419 90403419
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-2-9908in5y 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-2-9908in5y 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 tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.59.0-SNAPSHOT~5fadff5141, baseline=1.59.0-SNAPSHOT~1c3382de68
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.471 ms) : 1459, 1482
.   : milestone, 1471,
appsec (3.709 ms) : 3488, 3930
.   : milestone, 3709,
iast (2.204 ms) : 2139, 2269
.   : milestone, 2204,
iast_GLOBAL (2.248 ms) : 2182, 2313
.   : milestone, 2248,
profiling (2.068 ms) : 2014, 2122
.   : milestone, 2068,
tracing (2.037 ms) : 1986, 2089
.   : milestone, 2037,
section candidate
no_agent (1.465 ms) : 1454, 1477
.   : milestone, 1465,
appsec (3.704 ms) : 3486, 3923
.   : milestone, 3704,
iast (2.201 ms) : 2136, 2266
.   : milestone, 2201,
iast_GLOBAL (2.251 ms) : 2185, 2317
.   : milestone, 2251,
profiling (2.059 ms) : 2006, 2112
.   : milestone, 2059,
tracing (2.029 ms) : 1978, 2080
.   : milestone, 2029,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.471 ms [1.459 ms, 1.482 ms] -
appsec 3.709 ms [3.488 ms, 3.93 ms] 2.238 ms (152.2%)
iast 2.204 ms [2.139 ms, 2.269 ms] 733.084 µs (49.8%)
iast_GLOBAL 2.248 ms [2.182 ms, 2.313 ms] 776.797 µs (52.8%)
profiling 2.068 ms [2.014 ms, 2.122 ms] 596.825 µs (40.6%)
tracing 2.037 ms [1.986 ms, 2.089 ms] 566.681 µs (38.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.465 ms [1.454 ms, 1.477 ms] -
appsec 3.704 ms [3.486 ms, 3.923 ms] 2.239 ms (152.8%)
iast 2.201 ms [2.136 ms, 2.266 ms] 735.574 µs (50.2%)
iast_GLOBAL 2.251 ms [2.185 ms, 2.317 ms] 786.138 µs (53.7%)
profiling 2.059 ms [2.006 ms, 2.112 ms] 593.611 µs (40.5%)
tracing 2.029 ms [1.978 ms, 2.08 ms] 563.711 µs (38.5%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.59.0-SNAPSHOT~5fadff5141, baseline=1.59.0-SNAPSHOT~1c3382de68
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.035 s) : 15035000, 15035000
.   : milestone, 15035000,
appsec (14.462 s) : 14462000, 14462000
.   : milestone, 14462000,
iast (18.154 s) : 18154000, 18154000
.   : milestone, 18154000,
iast_GLOBAL (17.962 s) : 17962000, 17962000
.   : milestone, 17962000,
profiling (14.895 s) : 14895000, 14895000
.   : milestone, 14895000,
tracing (14.708 s) : 14708000, 14708000
.   : milestone, 14708000,
section candidate
no_agent (14.967 s) : 14967000, 14967000
.   : milestone, 14967000,
appsec (14.99 s) : 14990000, 14990000
.   : milestone, 14990000,
iast (18.654 s) : 18654000, 18654000
.   : milestone, 18654000,
iast_GLOBAL (18.048 s) : 18048000, 18048000
.   : milestone, 18048000,
profiling (14.758 s) : 14758000, 14758000
.   : milestone, 14758000,
tracing (14.613 s) : 14613000, 14613000
.   : milestone, 14613000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.035 s [15.035 s, 15.035 s] -
appsec 14.462 s [14.462 s, 14.462 s] -573.0 ms (-3.8%)
iast 18.154 s [18.154 s, 18.154 s] 3.119 s (20.7%)
iast_GLOBAL 17.962 s [17.962 s, 17.962 s] 2.927 s (19.5%)
profiling 14.895 s [14.895 s, 14.895 s] -140.0 ms (-0.9%)
tracing 14.708 s [14.708 s, 14.708 s] -327.0 ms (-2.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.967 s [14.967 s, 14.967 s] -
appsec 14.99 s [14.99 s, 14.99 s] 23.0 ms (0.2%)
iast 18.654 s [18.654 s, 18.654 s] 3.687 s (24.6%)
iast_GLOBAL 18.048 s [18.048 s, 18.048 s] 3.081 s (20.6%)
profiling 14.758 s [14.758 s, 14.758 s] -209.0 ms (-1.4%)
tracing 14.613 s [14.613 s, 14.613 s] -354.0 ms (-2.4%)

* <li>adaptive collision
* </ul>
*/
public interface TagMap extends Map<String, Object>, Iterable<TagMap.Entry> {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Entry now implements EntryReader, so the updates to code using TagMap are trivial

/**
* Visits each Entry in this TagMap This method is more efficient than {@link TagMap#iterator()}
*/
void forEach(Consumer<? super TagMap.Entry> consumer);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Entry now implements EntryReader
And since forEach is primarily used with a lambda and type inferencing, this is often source compatible with existing callers

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

Labels

comp: core Tracer core type: enhancement Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants