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, DDSpanContext
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
Copy link

datadog-official bot commented Nov 24, 2025

🎯 Code Coverage
Patch Coverage: 75.20%
Total Coverage: 59.66%

View detailed report

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 4ce3220 | Docs | Datadog PR Page | Was this helpful? Give us feedback!

@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 1763407991 1764096420
git_commit_sha b6d4e4f 4ce3220
release_version 1.56.0-SNAPSHOT~b6d4e4fc4a 1.56.0-SNAPSHOT~4ce3220d9c
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1764098356 1764098356
ci_job_id 1256915159 1256915159
ci_pipeline_id 84017362 84017362
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-hva77vvk 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-hva77vvk 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 57 metrics, 8 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.56.0-SNAPSHOT~4ce3220d9c, baseline=1.56.0-SNAPSHOT~b6d4e4fc4a

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.105 s) : 0, 1105146
Total [baseline] (10.82 s) : 0, 10819788
Agent [candidate] (1.107 s) : 0, 1106893
Total [candidate] (10.843 s) : 0, 10842626
section appsec
Agent [baseline] (1.283 s) : 0, 1282889
Total [baseline] (11.048 s) : 0, 11047612
Agent [candidate] (1.289 s) : 0, 1288598
Total [candidate] (11.245 s) : 0, 11245019
section iast
Agent [baseline] (1.238 s) : 0, 1238320
Total [baseline] (10.044 s) : 0, 10044373
Agent [candidate] (1.247 s) : 0, 1247134
Total [candidate] (11.3 s) : 0, 11299860
section profiling
Agent [baseline] (1.231 s) : 0, 1231048
Total [baseline] (11.045 s) : 0, 11045098
Agent [candidate] (1.237 s) : 0, 1237461
Total [candidate] (11.192 s) : 0, 11192028
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.105 s -
Agent appsec 1.283 s 177.743 ms (16.1%)
Agent iast 1.238 s 133.173 ms (12.1%)
Agent profiling 1.231 s 125.902 ms (11.4%)
Total tracing 10.82 s -
Total appsec 11.048 s 227.824 ms (2.1%)
Total iast 10.044 s -775.414 ms (-7.2%)
Total profiling 11.045 s 225.31 ms (2.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.107 s -
Agent appsec 1.289 s 181.705 ms (16.4%)
Agent iast 1.247 s 140.24 ms (12.7%)
Agent profiling 1.237 s 130.568 ms (11.8%)
Total tracing 10.843 s -
Total appsec 11.245 s 402.393 ms (3.7%)
Total iast 11.3 s 457.234 ms (4.2%)
Total profiling 11.192 s 349.402 ms (3.2%)
gantt
    title petclinic - break down per module: candidate=1.56.0-SNAPSHOT~4ce3220d9c, baseline=1.56.0-SNAPSHOT~b6d4e4fc4a

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.457 ms) : 0, 1457
crashtracking [candidate] (1.468 ms) : 0, 1468
BytebuddyAgent [baseline] (710.018 ms) : 0, 710018
BytebuddyAgent [candidate] (711.002 ms) : 0, 711002
GlobalTracer [baseline] (249.251 ms) : 0, 249251
GlobalTracer [candidate] (250.095 ms) : 0, 250095
AppSec [baseline] (32.502 ms) : 0, 32502
AppSec [candidate] (32.436 ms) : 0, 32436
Debugger [baseline] (64.455 ms) : 0, 64455
Debugger [candidate] (64.347 ms) : 0, 64347
Remote Config [baseline] (650.102 µs) : 0, 650
Remote Config [candidate] (633.121 µs) : 0, 633
Telemetry [baseline] (8.179 ms) : 0, 8179
Telemetry [candidate] (8.208 ms) : 0, 8208
Flare Poller [baseline] (3.65 ms) : 0, 3650
Flare Poller [candidate] (3.685 ms) : 0, 3685
section appsec
crashtracking [baseline] (1.45 ms) : 0, 1450
crashtracking [candidate] (1.454 ms) : 0, 1454
BytebuddyAgent [baseline] (732.18 ms) : 0, 732180
BytebuddyAgent [candidate] (733.302 ms) : 0, 733302
GlobalTracer [baseline] (241.355 ms) : 0, 241355
GlobalTracer [candidate] (243.296 ms) : 0, 243296
AppSec [baseline] (174.338 ms) : 0, 174338
AppSec [candidate] (175.426 ms) : 0, 175426
Debugger [baseline] (60.802 ms) : 0, 60802
Debugger [candidate] (61.706 ms) : 0, 61706
Remote Config [baseline] (660.442 µs) : 0, 660
Remote Config [candidate] (677.591 µs) : 0, 678
Telemetry [baseline] (8.283 ms) : 0, 8283
Telemetry [candidate] (8.41 ms) : 0, 8410
Flare Poller [baseline] (3.882 ms) : 0, 3882
Flare Poller [candidate] (3.878 ms) : 0, 3878
IAST [baseline] (24.913 ms) : 0, 24913
IAST [candidate] (25.227 ms) : 0, 25227
section iast
crashtracking [baseline] (1.451 ms) : 0, 1451
crashtracking [candidate] (1.468 ms) : 0, 1468
BytebuddyAgent [baseline] (829.724 ms) : 0, 829724
BytebuddyAgent [candidate] (834.638 ms) : 0, 834638
GlobalTracer [baseline] (238.214 ms) : 0, 238214
GlobalTracer [candidate] (239.972 ms) : 0, 239972
AppSec [baseline] (31.905 ms) : 0, 31905
AppSec [candidate] (30.791 ms) : 0, 30791
Debugger [baseline] (60.996 ms) : 0, 60996
Debugger [candidate] (61.755 ms) : 0, 61755
Remote Config [baseline] (546.163 µs) : 0, 546
Remote Config [candidate] (555.81 µs) : 0, 556
Telemetry [baseline] (7.655 ms) : 0, 7655
Telemetry [candidate] (7.803 ms) : 0, 7803
Flare Poller [baseline] (3.456 ms) : 0, 3456
Flare Poller [candidate] (3.606 ms) : 0, 3606
IAST [baseline] (29.525 ms) : 0, 29525
IAST [candidate] (31.452 ms) : 0, 31452
section profiling
crashtracking [baseline] (1.43 ms) : 0, 1430
crashtracking [candidate] (1.45 ms) : 0, 1450
BytebuddyAgent [baseline] (732.006 ms) : 0, 732006
BytebuddyAgent [candidate] (735.332 ms) : 0, 735332
GlobalTracer [baseline] (222.237 ms) : 0, 222237
GlobalTracer [candidate] (223.899 ms) : 0, 223899
AppSec [baseline] (32.355 ms) : 0, 32355
AppSec [candidate] (32.446 ms) : 0, 32446
Debugger [baseline] (63.722 ms) : 0, 63722
Debugger [candidate] (63.345 ms) : 0, 63345
Remote Config [baseline] (672.957 µs) : 0, 673
Remote Config [candidate] (666.326 µs) : 0, 666
Telemetry [baseline] (7.862 ms) : 0, 7862
Telemetry [candidate] (8.109 ms) : 0, 8109
Flare Poller [baseline] (3.752 ms) : 0, 3752
Flare Poller [candidate] (3.779 ms) : 0, 3779
ProfilingAgent [baseline] (97.258 ms) : 0, 97258
ProfilingAgent [candidate] (98.297 ms) : 0, 98297
Profiling [baseline] (97.851 ms) : 0, 97851
Profiling [candidate] (98.903 ms) : 0, 98903
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.56.0-SNAPSHOT~4ce3220d9c, baseline=1.56.0-SNAPSHOT~b6d4e4fc4a

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.103 s) : 0, 1103208
Total [baseline] (8.849 s) : 0, 8848797
Agent [candidate] (1.107 s) : 0, 1106632
Total [candidate] (8.895 s) : 0, 8894812
section iast
Agent [baseline] (1.241 s) : 0, 1240551
Total [baseline] (9.555 s) : 0, 9555399
Agent [candidate] (1.252 s) : 0, 1251919
Total [candidate] (9.606 s) : 0, 9606401
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.103 s -
Agent iast 1.241 s 137.343 ms (12.4%)
Total tracing 8.849 s -
Total iast 9.555 s 706.602 ms (8.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.107 s -
Agent iast 1.252 s 145.288 ms (13.1%)
Total tracing 8.895 s -
Total iast 9.606 s 711.589 ms (8.0%)
gantt
    title insecure-bank - break down per module: candidate=1.56.0-SNAPSHOT~4ce3220d9c, baseline=1.56.0-SNAPSHOT~b6d4e4fc4a

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.466 ms) : 0, 1466
crashtracking [candidate] (1.454 ms) : 0, 1454
BytebuddyAgent [baseline] (708.983 ms) : 0, 708983
BytebuddyAgent [candidate] (710.779 ms) : 0, 710779
GlobalTracer [baseline] (249.113 ms) : 0, 249113
GlobalTracer [candidate] (250.443 ms) : 0, 250443
AppSec [baseline] (32.598 ms) : 0, 32598
AppSec [candidate] (32.6 ms) : 0, 32600
Debugger [baseline] (63.527 ms) : 0, 63527
Debugger [candidate] (63.776 ms) : 0, 63776
Remote Config [baseline] (637.136 µs) : 0, 637
Remote Config [candidate] (640.347 µs) : 0, 640
Telemetry [baseline] (8.258 ms) : 0, 8258
Telemetry [candidate] (8.196 ms) : 0, 8196
Flare Poller [baseline] (3.645 ms) : 0, 3645
Flare Poller [candidate] (3.684 ms) : 0, 3684
section iast
crashtracking [baseline] (1.455 ms) : 0, 1455
crashtracking [candidate] (1.482 ms) : 0, 1482
BytebuddyAgent [baseline] (832.149 ms) : 0, 832149
BytebuddyAgent [candidate] (839.329 ms) : 0, 839329
GlobalTracer [baseline] (238.521 ms) : 0, 238521
GlobalTracer [candidate] (240.458 ms) : 0, 240458
AppSec [baseline] (33.932 ms) : 0, 33932
AppSec [candidate] (34.325 ms) : 0, 34325
Debugger [baseline] (60.231 ms) : 0, 60231
Debugger [candidate] (61.029 ms) : 0, 61029
Remote Config [baseline] (547.594 µs) : 0, 548
Remote Config [candidate] (547.39 µs) : 0, 547
Telemetry [baseline] (7.664 ms) : 0, 7664
Telemetry [candidate] (7.762 ms) : 0, 7762
Flare Poller [baseline] (3.489 ms) : 0, 3489
Flare Poller [candidate] (3.538 ms) : 0, 3538
IAST [baseline] (27.683 ms) : 0, 27683
IAST [candidate] (28.13 ms) : 0, 28130
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/span-primitive-setters
git_commit_date 1763407991 1764096420
git_commit_sha b6d4e4f 4ce3220
release_version 1.56.0-SNAPSHOT~b6d4e4fc4a 1.56.0-SNAPSHOT~4ce3220d9c
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1764099057 1764099057
ci_job_id 1256915160 1256915160
ci_pipeline_id 84017362 84017362
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-qpwpn4rs 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-qpwpn4rs 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 3 performance regressions! Performance is the same for 15 metrics, 18 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_FULL:high_load worse
[+298.075µs; +610.242µs] or [+5.992%; +12.268%]
worse
[+0.665ms; +1.337ms] or [+5.547%; +11.152%]
unstable
[-138.304op/s; +21.866op/s] or [-16.854%; +2.665%]
5.428ms 12.991ms 762.375op/s 4.974ms 11.990ms 820.594op/s
scenario:load:petclinic:profiling:high_load worse
[+0.863ms; +1.685ms] or [+4.762%; +9.301%]
unsure
[+0.557ms; +1.877ms] or [+1.878%; +6.330%]
unstable
[-40.081op/s; +10.768op/s] or [-15.907%; +4.274%]
19.388ms 30.872ms 237.312op/s 18.114ms 29.655ms 251.969op/s
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.56.0-SNAPSHOT~4ce3220d9c, baseline=1.56.0-SNAPSHOT~b6d4e4fc4a
    dateFormat X
    axisFormat %s
section baseline
no_agent (18.03 ms) : 17842, 18218
.   : milestone, 18030,
appsec (18.547 ms) : 18358, 18736
.   : milestone, 18547,
code_origins (17.926 ms) : 17747, 18105
.   : milestone, 17926,
iast (17.662 ms) : 17485, 17839
.   : milestone, 17662,
profiling (18.518 ms) : 18332, 18703
.   : milestone, 18518,
tracing (17.514 ms) : 17337, 17690
.   : milestone, 17514,
section candidate
no_agent (18.239 ms) : 18054, 18424
.   : milestone, 18239,
appsec (18.442 ms) : 18257, 18627
.   : milestone, 18442,
code_origins (17.899 ms) : 17721, 18078
.   : milestone, 17899,
iast (17.676 ms) : 17501, 17851
.   : milestone, 17676,
profiling (19.669 ms) : 19474, 19864
.   : milestone, 19669,
tracing (17.627 ms) : 17453, 17801
.   : milestone, 17627,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.03 ms [17.842 ms, 18.218 ms] -
appsec 18.547 ms [18.358 ms, 18.736 ms] 517.209 µs (2.9%)
code_origins 17.926 ms [17.747 ms, 18.105 ms] -103.668 µs (-0.6%)
iast 17.662 ms [17.485 ms, 17.839 ms] -367.718 µs (-2.0%)
profiling 18.518 ms [18.332 ms, 18.703 ms] 487.931 µs (2.7%)
tracing 17.514 ms [17.337 ms, 17.69 ms] -516.13 µs (-2.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.239 ms [18.054 ms, 18.424 ms] -
appsec 18.442 ms [18.257 ms, 18.627 ms] 202.68 µs (1.1%)
code_origins 17.899 ms [17.721 ms, 18.078 ms] -339.833 µs (-1.9%)
iast 17.676 ms [17.501 ms, 17.851 ms] -563.296 µs (-3.1%)
profiling 19.669 ms [19.474 ms, 19.864 ms] 1.43 ms (7.8%)
tracing 17.627 ms [17.453 ms, 17.801 ms] -612.32 µs (-3.4%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.56.0-SNAPSHOT~4ce3220d9c, baseline=1.56.0-SNAPSHOT~b6d4e4fc4a
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.195 ms) : 1183, 1207
.   : milestone, 1195,
iast (3.347 ms) : 3297, 3398
.   : milestone, 3347,
iast_FULL (5.632 ms) : 5577, 5688
.   : milestone, 5632,
iast_GLOBAL (3.868 ms) : 3745, 3990
.   : milestone, 3868,
profiling (2.072 ms) : 2054, 2090
.   : milestone, 2072,
tracing (1.799 ms) : 1785, 1814
.   : milestone, 1799,
section candidate
no_agent (1.203 ms) : 1191, 1214
.   : milestone, 1203,
iast (3.277 ms) : 3232, 3323
.   : milestone, 3277,
iast_FULL (6.067 ms) : 6005, 6129
.   : milestone, 6067,
iast_GLOBAL (3.749 ms) : 3695, 3804
.   : milestone, 3749,
profiling (2.009 ms) : 1991, 2026
.   : milestone, 2009,
tracing (1.824 ms) : 1809, 1839
.   : milestone, 1824,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.195 ms [1.183 ms, 1.207 ms] -
iast 3.347 ms [3.297 ms, 3.398 ms] 2.152 ms (180.0%)
iast_FULL 5.632 ms [5.577 ms, 5.688 ms] 4.437 ms (371.2%)
iast_GLOBAL 3.868 ms [3.745 ms, 3.99 ms] 2.672 ms (223.6%)
profiling 2.072 ms [2.054 ms, 2.09 ms] 876.744 µs (73.4%)
tracing 1.799 ms [1.785 ms, 1.814 ms] 603.753 µs (50.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.203 ms [1.191 ms, 1.214 ms] -
iast 3.277 ms [3.232 ms, 3.323 ms] 2.075 ms (172.5%)
iast_FULL 6.067 ms [6.005 ms, 6.129 ms] 4.864 ms (404.4%)
iast_GLOBAL 3.749 ms [3.695 ms, 3.804 ms] 2.547 ms (211.7%)
profiling 2.009 ms [1.991 ms, 2.026 ms] 805.77 µs (67.0%)
tracing 1.824 ms [1.809 ms, 1.839 ms] 621.462 µs (51.7%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/span-primitive-setters
git_commit_date 1763407991 1764096420
git_commit_sha b6d4e4f 4ce3220
release_version 1.56.0-SNAPSHOT~b6d4e4fc4a 1.56.0-SNAPSHOT~4ce3220d9c
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1764098575 1764098575
ci_job_id 1256915161 1256915161
ci_pipeline_id 84017362 84017362
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-by5n7r7v 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-by5n7r7v 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.56.0-SNAPSHOT~4ce3220d9c, baseline=1.56.0-SNAPSHOT~b6d4e4fc4a
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.625 s) : 15625000, 15625000
.   : milestone, 15625000,
appsec (14.777 s) : 14777000, 14777000
.   : milestone, 14777000,
iast (18.961 s) : 18961000, 18961000
.   : milestone, 18961000,
iast_GLOBAL (17.72 s) : 17720000, 17720000
.   : milestone, 17720000,
profiling (14.824 s) : 14824000, 14824000
.   : milestone, 14824000,
tracing (14.771 s) : 14771000, 14771000
.   : milestone, 14771000,
section candidate
no_agent (14.776 s) : 14776000, 14776000
.   : milestone, 14776000,
appsec (14.854 s) : 14854000, 14854000
.   : milestone, 14854000,
iast (18.486 s) : 18486000, 18486000
.   : milestone, 18486000,
iast_GLOBAL (18.145 s) : 18145000, 18145000
.   : milestone, 18145000,
profiling (14.956 s) : 14956000, 14956000
.   : milestone, 14956000,
tracing (14.557 s) : 14557000, 14557000
.   : milestone, 14557000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.625 s [15.625 s, 15.625 s] -
appsec 14.777 s [14.777 s, 14.777 s] -848.0 ms (-5.4%)
iast 18.961 s [18.961 s, 18.961 s] 3.336 s (21.4%)
iast_GLOBAL 17.72 s [17.72 s, 17.72 s] 2.095 s (13.4%)
profiling 14.824 s [14.824 s, 14.824 s] -801.0 ms (-5.1%)
tracing 14.771 s [14.771 s, 14.771 s] -854.0 ms (-5.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.776 s [14.776 s, 14.776 s] -
appsec 14.854 s [14.854 s, 14.854 s] 78.0 ms (0.5%)
iast 18.486 s [18.486 s, 18.486 s] 3.71 s (25.1%)
iast_GLOBAL 18.145 s [18.145 s, 18.145 s] 3.369 s (22.8%)
profiling 14.956 s [14.956 s, 14.956 s] 180.0 ms (1.2%)
tracing 14.557 s [14.557 s, 14.557 s] -219.0 ms (-1.5%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.56.0-SNAPSHOT~4ce3220d9c, baseline=1.56.0-SNAPSHOT~b6d4e4fc4a
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.471 ms) : 1459, 1482
.   : milestone, 1471,
appsec (3.676 ms) : 3458, 3894
.   : milestone, 3676,
iast (2.199 ms) : 2135, 2262
.   : milestone, 2199,
iast_GLOBAL (2.242 ms) : 2179, 2305
.   : milestone, 2242,
profiling (2.062 ms) : 2010, 2114
.   : milestone, 2062,
tracing (2.015 ms) : 1965, 2064
.   : milestone, 2015,
section candidate
no_agent (1.476 ms) : 1464, 1487
.   : milestone, 1476,
appsec (3.689 ms) : 3467, 3911
.   : milestone, 3689,
iast (2.195 ms) : 2132, 2258
.   : milestone, 2195,
iast_GLOBAL (2.235 ms) : 2172, 2298
.   : milestone, 2235,
profiling (2.045 ms) : 1995, 2096
.   : milestone, 2045,
tracing (2.02 ms) : 1970, 2069
.   : milestone, 2020,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.471 ms [1.459 ms, 1.482 ms] -
appsec 3.676 ms [3.458 ms, 3.894 ms] 2.206 ms (150.0%)
iast 2.199 ms [2.135 ms, 2.262 ms] 727.989 µs (49.5%)
iast_GLOBAL 2.242 ms [2.179 ms, 2.305 ms] 771.65 µs (52.5%)
profiling 2.062 ms [2.01 ms, 2.114 ms] 591.385 µs (40.2%)
tracing 2.015 ms [1.965 ms, 2.064 ms] 544.063 µs (37.0%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.476 ms [1.464 ms, 1.487 ms] -
appsec 3.689 ms [3.467 ms, 3.911 ms] 2.213 ms (150.0%)
iast 2.195 ms [2.132 ms, 2.258 ms] 719.113 µs (48.7%)
iast_GLOBAL 2.235 ms [2.172 ms, 2.298 ms] 759.073 µs (51.4%)
profiling 2.045 ms [1.995 ms, 2.096 ms] 569.625 µs (38.6%)
tracing 2.02 ms [1.97 ms, 2.069 ms] 543.808 µs (36.8%)

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
}
}

public void setTag(final String tag, final float value) {
Copy link
Contributor

Choose a reason for hiding this comment

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

DDSpan doesn't seem to have a specialized setTag for float. We should either add one or remove it here and rely on Java's widening conversion from float to double.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Agreed, I'll do that

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!

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