Skip to content

Conversation

@dougqh
Copy link
Contributor

@dougqh dougqh commented Nov 21, 2025

What Does This Do

Adds primitive setters to DDSpanContext

Motivation

TagMap can store primitive in its entries directly without boxing
But to take advantage of TagMap, we need to avoid auto-boxing in instrumentation
DDSpan already had primitive setters, but those call into DDSpanContext which didn't have primitive setters

Additional Notes

This code has been structured to behave optimally for both LegacyTagMap (e.g. HashMap) which boxes and OptimizedTagMap which avoids boxing

Right now, the tracer will still end up boxing in the serialization code, but this change at least moves the boxing out of the instrumentation / application critical path. Boxing during serialization will be addressed in a separate pull request.

Contributor Checklist

Jira ticket: [PROJ-IDENT]

Previous static extraction caused a test to fail because links logic relied on having a side effect on the builder instance's List<AgentSpanLink>
Adding primitive setters to DDSpanContext to take advantage of TagMap primitive storage

Using precheck of tagInterceptor.needsIntercept to avoid boxing while calling tagInterceptor.interceptTag
@dougqh dougqh requested a review from a team as a code owner November 21, 2025 21:21
@dougqh dougqh added the type: enhancement Enhancements and improvements label Nov 21, 2025
@dougqh dougqh requested a review from ygree November 21, 2025 21:21
@dougqh dougqh added comp: core Tracer core tag: performance Performance related changes labels Nov 21, 2025
@datadog-official

This comment has been minimized.

@pr-commenter
Copy link

pr-commenter bot commented Nov 24, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/span-primitive-setters
git_commit_date 1765312339 1765313790
git_commit_sha 6836076 e9bfa9f
release_version 1.57.0-SNAPSHOT~6836076eba 1.56.0-SNAPSHOT~e9bfa9f204
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1765315712 1765315712
ci_job_id 1281564951 1281564951
ci_pipeline_id 85753667 85753667
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-9shlv95z 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-9shlv95z 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 61 metrics, 4 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.56.0-SNAPSHOT~e9bfa9f204, baseline=1.57.0-SNAPSHOT~6836076eba

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.079 s) : 0, 1078531
Total [baseline] (8.752 s) : 0, 8752057
Agent [candidate] (1.093 s) : 0, 1092572
Total [candidate] (8.801 s) : 0, 8801071
section iast
Agent [baseline] (1.222 s) : 0, 1222181
Total [baseline] (9.5 s) : 0, 9499866
Agent [candidate] (1.221 s) : 0, 1221417
Total [candidate] (9.47 s) : 0, 9469977
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.079 s -
Agent iast 1.222 s 143.65 ms (13.3%)
Total tracing 8.752 s -
Total iast 9.5 s 747.808 ms (8.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.093 s -
Agent iast 1.221 s 128.845 ms (11.8%)
Total tracing 8.801 s -
Total iast 9.47 s 668.906 ms (7.6%)
gantt
    title insecure-bank - break down per module: candidate=1.56.0-SNAPSHOT~e9bfa9f204, baseline=1.57.0-SNAPSHOT~6836076eba

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.187 ms) : 0, 1187
crashtracking [candidate] (1.189 ms) : 0, 1189
BytebuddyAgent [baseline] (647.562 ms) : 0, 647562
BytebuddyAgent [candidate] (656.37 ms) : 0, 656370
GlobalTracer [baseline] (281.074 ms) : 0, 281074
GlobalTracer [candidate] (285.475 ms) : 0, 285475
AppSec [baseline] (32.341 ms) : 0, 32341
AppSec [candidate] (32.751 ms) : 0, 32751
Debugger [baseline] (67.457 ms) : 0, 67457
Debugger [candidate] (67.658 ms) : 0, 67658
Remote Config [baseline] (633.972 µs) : 0, 634
Remote Config [candidate] (653.389 µs) : 0, 653
Telemetry [baseline] (9.044 ms) : 0, 9044
Telemetry [candidate] (9.013 ms) : 0, 9013
Flare Poller [baseline] (3.644 ms) : 0, 3644
Flare Poller [candidate] (3.72 ms) : 0, 3720
section iast
crashtracking [baseline] (1.196 ms) : 0, 1196
crashtracking [candidate] (1.187 ms) : 0, 1187
BytebuddyAgent [baseline] (790.804 ms) : 0, 790804
BytebuddyAgent [candidate] (789.814 ms) : 0, 789814
GlobalTracer [baseline] (255.714 ms) : 0, 255714
GlobalTracer [candidate] (255.757 ms) : 0, 255757
AppSec [baseline] (34.515 ms) : 0, 34515
AppSec [candidate] (35.302 ms) : 0, 35302
Debugger [baseline] (65.211 ms) : 0, 65211
Debugger [candidate] (64.59 ms) : 0, 64590
Remote Config [baseline] (532.356 µs) : 0, 532
Remote Config [candidate] (530.975 µs) : 0, 531
Telemetry [baseline] (8.361 ms) : 0, 8361
Telemetry [candidate] (8.416 ms) : 0, 8416
Flare Poller [baseline] (3.434 ms) : 0, 3434
Flare Poller [candidate] (3.45 ms) : 0, 3450
IAST [baseline] (26.904 ms) : 0, 26904
IAST [candidate] (26.97 ms) : 0, 26970
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.56.0-SNAPSHOT~e9bfa9f204, baseline=1.57.0-SNAPSHOT~6836076eba

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.079 s) : 0, 1079403
Total [baseline] (10.895 s) : 0, 10894919
Agent [candidate] (1.09 s) : 0, 1090357
Total [candidate] (10.891 s) : 0, 10891194
section appsec
Agent [baseline] (1.263 s) : 0, 1262795
Total [baseline] (11.112 s) : 0, 11111552
Agent [candidate] (1.271 s) : 0, 1271482
Total [candidate] (11.093 s) : 0, 11093427
section iast
Agent [baseline] (1.224 s) : 0, 1223699
Total [baseline] (11.205 s) : 0, 11204604
Agent [candidate] (1.224 s) : 0, 1224154
Total [candidate] (11.203 s) : 0, 11202700
section profiling
Agent [baseline] (1.222 s) : 0, 1222123
Total [baseline] (11.141 s) : 0, 11141054
Agent [candidate] (1.209 s) : 0, 1208972
Total [candidate] (11.052 s) : 0, 11051575
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.079 s -
Agent appsec 1.263 s 183.392 ms (17.0%)
Agent iast 1.224 s 144.296 ms (13.4%)
Agent profiling 1.222 s 142.721 ms (13.2%)
Total tracing 10.895 s -
Total appsec 11.112 s 216.633 ms (2.0%)
Total iast 11.205 s 309.685 ms (2.8%)
Total profiling 11.141 s 246.135 ms (2.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.09 s -
Agent appsec 1.271 s 181.125 ms (16.6%)
Agent iast 1.224 s 133.797 ms (12.3%)
Agent profiling 1.209 s 118.615 ms (10.9%)
Total tracing 10.891 s -
Total appsec 11.093 s 202.233 ms (1.9%)
Total iast 11.203 s 311.506 ms (2.9%)
Total profiling 11.052 s 160.382 ms (1.5%)
gantt
    title petclinic - break down per module: candidate=1.56.0-SNAPSHOT~e9bfa9f204, baseline=1.57.0-SNAPSHOT~6836076eba

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.199 ms) : 0, 1199
crashtracking [candidate] (1.207 ms) : 0, 1207
BytebuddyAgent [baseline] (647.817 ms) : 0, 647817
BytebuddyAgent [candidate] (654.47 ms) : 0, 654470
GlobalTracer [baseline] (281.044 ms) : 0, 281044
GlobalTracer [candidate] (284.028 ms) : 0, 284028
AppSec [baseline] (32.398 ms) : 0, 32398
AppSec [candidate] (32.648 ms) : 0, 32648
Debugger [baseline] (68.027 ms) : 0, 68027
Debugger [candidate] (68.807 ms) : 0, 68807
Remote Config [baseline] (658.103 µs) : 0, 658
Remote Config [candidate] (645.327 µs) : 0, 645
Telemetry [baseline] (9.007 ms) : 0, 9007
Telemetry [candidate] (9.126 ms) : 0, 9126
Flare Poller [baseline] (3.711 ms) : 0, 3711
Flare Poller [candidate] (3.781 ms) : 0, 3781
section appsec
crashtracking [baseline] (1.189 ms) : 0, 1189
crashtracking [candidate] (1.208 ms) : 0, 1208
BytebuddyAgent [baseline] (687.801 ms) : 0, 687801
BytebuddyAgent [candidate] (694.085 ms) : 0, 694085
GlobalTracer [baseline] (258.885 ms) : 0, 258885
GlobalTracer [candidate] (260.342 ms) : 0, 260342
AppSec [baseline] (174.705 ms) : 0, 174705
AppSec [candidate] (174.417 ms) : 0, 174417
Debugger [baseline] (66.318 ms) : 0, 66318
Debugger [candidate] (67.357 ms) : 0, 67357
Remote Config [baseline] (728.679 µs) : 0, 729
Remote Config [candidate] (725.17 µs) : 0, 725
Telemetry [baseline] (9.06 ms) : 0, 9060
Telemetry [candidate] (8.968 ms) : 0, 8968
Flare Poller [baseline] (3.856 ms) : 0, 3856
Flare Poller [candidate] (3.92 ms) : 0, 3920
IAST [baseline] (24.683 ms) : 0, 24683
IAST [candidate] (24.788 ms) : 0, 24788
section iast
crashtracking [baseline] (1.206 ms) : 0, 1206
crashtracking [candidate] (1.216 ms) : 0, 1216
BytebuddyAgent [baseline] (790.858 ms) : 0, 790858
BytebuddyAgent [candidate] (790.496 ms) : 0, 790496
GlobalTracer [baseline] (255.996 ms) : 0, 255996
GlobalTracer [candidate] (255.575 ms) : 0, 255575
AppSec [baseline] (35.222 ms) : 0, 35222
AppSec [candidate] (35.547 ms) : 0, 35547
Debugger [baseline] (65.726 ms) : 0, 65726
Debugger [candidate] (66.299 ms) : 0, 66299
Remote Config [baseline] (544.977 µs) : 0, 545
Remote Config [candidate] (535.21 µs) : 0, 535
Telemetry [baseline] (8.373 ms) : 0, 8373
Telemetry [candidate] (8.481 ms) : 0, 8481
Flare Poller [baseline] (3.467 ms) : 0, 3467
Flare Poller [candidate] (3.515 ms) : 0, 3515
IAST [baseline] (26.866 ms) : 0, 26866
IAST [candidate] (27.093 ms) : 0, 27093
section profiling
ProfilingAgent [baseline] (98.808 ms) : 0, 98808
ProfilingAgent [candidate] (97.887 ms) : 0, 97887
crashtracking [baseline] (1.216 ms) : 0, 1216
crashtracking [candidate] (1.204 ms) : 0, 1204
BytebuddyAgent [baseline] (714.339 ms) : 0, 714339
BytebuddyAgent [candidate] (704.597 ms) : 0, 704597
GlobalTracer [baseline] (221.814 ms) : 0, 221814
GlobalTracer [candidate] (221.554 ms) : 0, 221554
AppSec [baseline] (32.402 ms) : 0, 32402
AppSec [candidate] (32.499 ms) : 0, 32499
Debugger [baseline] (69.459 ms) : 0, 69459
Debugger [candidate] (67.942 ms) : 0, 67942
Remote Config [baseline] (645.451 µs) : 0, 645
Remote Config [candidate] (610.578 µs) : 0, 611
Telemetry [baseline] (9.049 ms) : 0, 9049
Telemetry [candidate] (8.989 ms) : 0, 8989
Flare Poller [baseline] (3.781 ms) : 0, 3781
Flare Poller [candidate] (3.807 ms) : 0, 3807
Profiling [baseline] (99.408 ms) : 0, 99408
Profiling [candidate] (98.466 ms) : 0, 98466
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/span-primitive-setters
git_commit_date 1765312339 1765313790
git_commit_sha 6836076 e9bfa9f
release_version 1.57.0-SNAPSHOT~6836076eba 1.56.0-SNAPSHOT~e9bfa9f204
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1765316156 1765316156
ci_job_id 1281564954 1281564954
ci_pipeline_id 85753667 85753667
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-mdzp934k 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-mdzp934k 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 0 performance regressions! Performance is the same for 16 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 better
[-184.502µs; -63.610µs] or [-6.921%; -2.386%]
unsure
[-476.504µs; -73.476µs] or [-6.170%; -0.951%]
unstable
[-123.425op/s; +188.112op/s] or [-9.100%; +13.869%]
2.542ms 7.448ms 1388.719op/s 2.666ms 7.723ms 1356.375op/s
scenario:load:insecure-bank:iast_FULL:high_load better
[-451.405µs; -195.108µs] or [-8.393%; -3.628%]
better
[-984.980µs; -398.748µs] or [-7.665%; -3.103%]
unstable
[-35.576op/s; +133.076op/s] or [-4.680%; +17.507%]
5.055ms 12.158ms 808.875op/s 5.378ms 12.850ms 760.125op/s
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.56.0-SNAPSHOT~e9bfa9f204, baseline=1.57.0-SNAPSHOT~6836076eba
    dateFormat X
    axisFormat %s
section baseline
no_agent (18.096 ms) : 17915, 18277
.   : milestone, 18096,
appsec (18.582 ms) : 18392, 18772
.   : milestone, 18582,
code_origins (17.811 ms) : 17632, 17991
.   : milestone, 17811,
iast (17.571 ms) : 17394, 17747
.   : milestone, 17571,
profiling (18.78 ms) : 18594, 18967
.   : milestone, 18780,
tracing (17.965 ms) : 17787, 18143
.   : milestone, 17965,
section candidate
no_agent (18.129 ms) : 17939, 18319
.   : milestone, 18129,
appsec (18.697 ms) : 18511, 18883
.   : milestone, 18697,
code_origins (17.765 ms) : 17588, 17941
.   : milestone, 17765,
iast (17.741 ms) : 17564, 17917
.   : milestone, 17741,
profiling (18.456 ms) : 18272, 18640
.   : milestone, 18456,
tracing (17.679 ms) : 17506, 17853
.   : milestone, 17679,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.096 ms [17.915 ms, 18.277 ms] -
appsec 18.582 ms [18.392 ms, 18.772 ms] 486.442 µs (2.7%)
code_origins 17.811 ms [17.632 ms, 17.991 ms] -284.471 µs (-1.6%)
iast 17.571 ms [17.394 ms, 17.747 ms] -525.215 µs (-2.9%)
profiling 18.78 ms [18.594 ms, 18.967 ms] 684.431 µs (3.8%)
tracing 17.965 ms [17.787 ms, 18.143 ms] -130.749 µs (-0.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.129 ms [17.939 ms, 18.319 ms] -
appsec 18.697 ms [18.511 ms, 18.883 ms] 568.295 µs (3.1%)
code_origins 17.765 ms [17.588 ms, 17.941 ms] -364.163 µs (-2.0%)
iast 17.741 ms [17.564 ms, 17.917 ms] -387.987 µs (-2.1%)
profiling 18.456 ms [18.272 ms, 18.64 ms] 326.918 µs (1.8%)
tracing 17.679 ms [17.506 ms, 17.853 ms] -449.279 µs (-2.5%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.56.0-SNAPSHOT~e9bfa9f204, baseline=1.57.0-SNAPSHOT~6836076eba
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.278 ms) : 1265, 1291
.   : milestone, 1278,
iast (3.376 ms) : 3336, 3416
.   : milestone, 3376,
iast_FULL (6.086 ms) : 6024, 6148
.   : milestone, 6086,
iast_GLOBAL (3.598 ms) : 3544, 3651
.   : milestone, 3598,
profiling (2.107 ms) : 2089, 2126
.   : milestone, 2107,
tracing (1.814 ms) : 1799, 1829
.   : milestone, 1814,
section candidate
no_agent (1.204 ms) : 1191, 1216
.   : milestone, 1204,
iast (3.296 ms) : 3246, 3345
.   : milestone, 3296,
iast_FULL (5.715 ms) : 5658, 5772
.   : milestone, 5715,
iast_GLOBAL (3.558 ms) : 3509, 3607
.   : milestone, 3558,
profiling (1.932 ms) : 1916, 1948
.   : milestone, 1932,
tracing (1.797 ms) : 1782, 1812
.   : milestone, 1797,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.278 ms [1.265 ms, 1.291 ms] -
iast 3.376 ms [3.336 ms, 3.416 ms] 2.098 ms (164.1%)
iast_FULL 6.086 ms [6.024 ms, 6.148 ms] 4.808 ms (376.2%)
iast_GLOBAL 3.598 ms [3.544 ms, 3.651 ms] 2.32 ms (181.5%)
profiling 2.107 ms [2.089 ms, 2.126 ms] 829.12 µs (64.9%)
tracing 1.814 ms [1.799 ms, 1.829 ms] 536.185 µs (42.0%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.204 ms [1.191 ms, 1.216 ms] -
iast 3.296 ms [3.246 ms, 3.345 ms] 2.092 ms (173.8%)
iast_FULL 5.715 ms [5.658 ms, 5.772 ms] 4.511 ms (374.7%)
iast_GLOBAL 3.558 ms [3.509 ms, 3.607 ms] 2.354 ms (195.5%)
profiling 1.932 ms [1.916 ms, 1.948 ms] 728.027 µs (60.5%)
tracing 1.797 ms [1.782 ms, 1.812 ms] 593.33 µs (49.3%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/span-primitive-setters
git_commit_date 1765312339 1765313790
git_commit_sha 6836076 e9bfa9f
release_version 1.57.0-SNAPSHOT~6836076eba 1.56.0-SNAPSHOT~e9bfa9f204
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1765315787 1765315787
ci_job_id 1281564958 1281564958
ci_pipeline_id 85753667 85753667
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-iposn6zm 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-iposn6zm 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.56.0-SNAPSHOT~e9bfa9f204, baseline=1.57.0-SNAPSHOT~6836076eba
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.478 ms) : 1466, 1489
.   : milestone, 1478,
appsec (3.673 ms) : 3457, 3889
.   : milestone, 3673,
iast (2.206 ms) : 2141, 2270
.   : milestone, 2206,
iast_GLOBAL (2.257 ms) : 2192, 2321
.   : milestone, 2257,
profiling (2.092 ms) : 2038, 2147
.   : milestone, 2092,
tracing (2.049 ms) : 1997, 2100
.   : milestone, 2049,
section candidate
no_agent (1.473 ms) : 1462, 1484
.   : milestone, 1473,
appsec (3.616 ms) : 3403, 3829
.   : milestone, 3616,
iast (2.21 ms) : 2145, 2275
.   : milestone, 2210,
iast_GLOBAL (2.253 ms) : 2188, 2318
.   : milestone, 2253,
profiling (2.063 ms) : 2010, 2116
.   : milestone, 2063,
tracing (2.044 ms) : 1993, 2095
.   : milestone, 2044,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.478 ms [1.466 ms, 1.489 ms] -
appsec 3.673 ms [3.457 ms, 3.889 ms] 2.196 ms (148.6%)
iast 2.206 ms [2.141 ms, 2.27 ms] 728.092 µs (49.3%)
iast_GLOBAL 2.257 ms [2.192 ms, 2.321 ms] 779.056 µs (52.7%)
profiling 2.092 ms [2.038 ms, 2.147 ms] 614.628 µs (41.6%)
tracing 2.049 ms [1.997 ms, 2.1 ms] 571.04 µs (38.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.473 ms [1.462 ms, 1.484 ms] -
appsec 3.616 ms [3.403 ms, 3.829 ms] 2.143 ms (145.5%)
iast 2.21 ms [2.145 ms, 2.275 ms] 736.945 µs (50.0%)
iast_GLOBAL 2.253 ms [2.188 ms, 2.318 ms] 779.592 µs (52.9%)
profiling 2.063 ms [2.01 ms, 2.116 ms] 589.711 µs (40.0%)
tracing 2.044 ms [1.993 ms, 2.095 ms] 571.198 µs (38.8%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.56.0-SNAPSHOT~e9bfa9f204, baseline=1.57.0-SNAPSHOT~6836076eba
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.544 s) : 15544000, 15544000
.   : milestone, 15544000,
appsec (14.479 s) : 14479000, 14479000
.   : milestone, 14479000,
iast (18.151 s) : 18151000, 18151000
.   : milestone, 18151000,
iast_GLOBAL (17.882 s) : 17882000, 17882000
.   : milestone, 17882000,
profiling (14.749 s) : 14749000, 14749000
.   : milestone, 14749000,
tracing (14.573 s) : 14573000, 14573000
.   : milestone, 14573000,
section candidate
no_agent (15.304 s) : 15304000, 15304000
.   : milestone, 15304000,
appsec (14.607 s) : 14607000, 14607000
.   : milestone, 14607000,
iast (18.034 s) : 18034000, 18034000
.   : milestone, 18034000,
iast_GLOBAL (17.898 s) : 17898000, 17898000
.   : milestone, 17898000,
profiling (15.171 s) : 15171000, 15171000
.   : milestone, 15171000,
tracing (14.659 s) : 14659000, 14659000
.   : milestone, 14659000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.544 s [15.544 s, 15.544 s] -
appsec 14.479 s [14.479 s, 14.479 s] -1.065 s (-6.9%)
iast 18.151 s [18.151 s, 18.151 s] 2.607 s (16.8%)
iast_GLOBAL 17.882 s [17.882 s, 17.882 s] 2.338 s (15.0%)
profiling 14.749 s [14.749 s, 14.749 s] -795.0 ms (-5.1%)
tracing 14.573 s [14.573 s, 14.573 s] -971.0 ms (-6.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.304 s [15.304 s, 15.304 s] -
appsec 14.607 s [14.607 s, 14.607 s] -697.0 ms (-4.6%)
iast 18.034 s [18.034 s, 18.034 s] 2.73 s (17.8%)
iast_GLOBAL 17.898 s [17.898 s, 17.898 s] 2.594 s (16.9%)
profiling 15.171 s [15.171 s, 15.171 s] -133.0 ms (-0.9%)
tracing 14.659 s [14.659 s, 14.659 s] -645.0 ms (-4.2%)

To simplify the code, I pulled CoreTracer.getTagInterceptor() into a member variable of DDSpanContext

Unfortunately, that caused Mock call checks to fail, so needed to update the PendingTraceBufferTest
Copy link
Contributor

@ygree ygree left a comment

Choose a reason for hiding this comment

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

Looks good!

@dougqh dougqh requested a review from a team as a code owner December 9, 2025 13:55
@dougqh dougqh requested review from cecile75 and removed request for a team December 9, 2025 13:55
@dougqh dougqh enabled auto-merge (squash) December 9, 2025 20:56
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.

3 participants