Skip to content

Conversation

@mcculls
Copy link
Contributor

@mcculls mcculls commented May 21, 2025

Motivation

This avoids potential class-loading delegation issues when using other products in dd-java-agent

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@mcculls mcculls added type: enhancement Enhancements and improvements inst: java Core Java language instrumentation labels May 21, 2025
@pr-commenter
Copy link

pr-commenter bot commented May 21, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/classloader-delegation-instrumentation-independent-of-tracing
git_commit_date 1747843428 1747862031
git_commit_sha 58089f3 9670fbf
release_version 1.50.0-SNAPSHOT~58089f324f 1.50.0-SNAPSHOT~9670fbf555
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1747864527 1747864527
ci_job_id 949218892 949218892
ci_pipeline_id 65800006 65800006
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-xfgrdzbb-project-304-concurrent-0-mk8gi6s5 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-xfgrdzbb-project-304-concurrent-0-mk8gi6s5 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None
variant iast iast

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 58 metrics, 13 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.50.0-SNAPSHOT~9670fbf555, baseline=1.50.0-SNAPSHOT~58089f324f

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.02 s) : 0, 1019908
Total [baseline] (10.507 s) : 0, 10507350
Agent [candidate] (1.024 s) : 0, 1024101
Total [candidate] (10.465 s) : 0, 10465353
section appsec
Agent [baseline] (1.162 s) : 0, 1162124
Total [baseline] (10.729 s) : 0, 10728547
Agent [candidate] (1.17 s) : 0, 1170170
Total [candidate] (10.704 s) : 0, 10704118
section iast
Agent [baseline] (1.152 s) : 0, 1152103
Total [baseline] (10.872 s) : 0, 10871856
Agent [candidate] (1.158 s) : 0, 1158480
Total [candidate] (10.997 s) : 0, 10996980
section profiling
Agent [baseline] (1.265 s) : 0, 1265157
Total [baseline] (10.844 s) : 0, 10844042
Agent [candidate] (1.274 s) : 0, 1274043
Total [candidate] (10.885 s) : 0, 10885162
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.02 s -
Agent appsec 1.162 s 142.216 ms (13.9%)
Agent iast 1.152 s 132.195 ms (13.0%)
Agent profiling 1.265 s 245.249 ms (24.0%)
Total tracing 10.507 s -
Total appsec 10.729 s 221.197 ms (2.1%)
Total iast 10.872 s 364.506 ms (3.5%)
Total profiling 10.844 s 336.692 ms (3.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.024 s -
Agent appsec 1.17 s 146.069 ms (14.3%)
Agent iast 1.158 s 134.378 ms (13.1%)
Agent profiling 1.274 s 249.941 ms (24.4%)
Total tracing 10.465 s -
Total appsec 10.704 s 238.765 ms (2.3%)
Total iast 10.997 s 531.627 ms (5.1%)
Total profiling 10.885 s 419.809 ms (4.0%)
gantt
    title petclinic - break down per module: candidate=1.50.0-SNAPSHOT~9670fbf555, baseline=1.50.0-SNAPSHOT~58089f324f

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (683.853 ms) : 0, 683853
BytebuddyAgent [candidate] (685.772 ms) : 0, 685772
GlobalTracer [baseline] (240.489 ms) : 0, 240489
GlobalTracer [candidate] (241.115 ms) : 0, 241115
AppSec [baseline] (55.061 ms) : 0, 55061
AppSec [candidate] (55.427 ms) : 0, 55427
Debugger [baseline] (6.975 ms) : 0, 6975
Debugger [candidate] (6.889 ms) : 0, 6889
Remote Config [baseline] (710.338 µs) : 0, 710
Remote Config [candidate] (716.498 µs) : 0, 716
Telemetry [baseline] (9.177 ms) : 0, 9177
Telemetry [candidate] (10.508 ms) : 0, 10508
section appsec
BytebuddyAgent [baseline] (701.179 ms) : 0, 701179
BytebuddyAgent [candidate] (706.678 ms) : 0, 706678
GlobalTracer [baseline] (236.94 ms) : 0, 236940
GlobalTracer [candidate] (238.23 ms) : 0, 238230
IAST [baseline] (21.804 ms) : 0, 21804
IAST [candidate] (21.819 ms) : 0, 21819
AppSec [baseline] (175.15 ms) : 0, 175150
AppSec [candidate] (176.206 ms) : 0, 176206
Debugger [baseline] (6.35 ms) : 0, 6350
Debugger [candidate] (5.962 ms) : 0, 5962
Remote Config [baseline] (634.447 µs) : 0, 634
Remote Config [candidate] (645.589 µs) : 0, 646
Telemetry [baseline] (7.398 ms) : 0, 7398
Telemetry [candidate] (7.838 ms) : 0, 7838
section iast
BytebuddyAgent [baseline] (804.238 ms) : 0, 804238
BytebuddyAgent [candidate] (808.551 ms) : 0, 808551
GlobalTracer [baseline] (230.953 ms) : 0, 230953
GlobalTracer [candidate] (232.626 ms) : 0, 232626
IAST [baseline] (27.552 ms) : 0, 27552
IAST [candidate] (29.367 ms) : 0, 29367
AppSec [baseline] (51.345 ms) : 0, 51345
AppSec [candidate] (49.577 ms) : 0, 49577
Debugger [baseline] (5.928 ms) : 0, 5928
Debugger [candidate] (5.991 ms) : 0, 5991
Remote Config [baseline] (604.067 µs) : 0, 604
Remote Config [candidate] (613.596 µs) : 0, 614
Telemetry [baseline] (7.868 ms) : 0, 7868
Telemetry [candidate] (7.975 ms) : 0, 7975
section profiling
BytebuddyAgent [baseline] (673.656 ms) : 0, 673656
BytebuddyAgent [candidate] (679.291 ms) : 0, 679291
GlobalTracer [baseline] (360.532 ms) : 0, 360532
GlobalTracer [candidate] (361.657 ms) : 0, 361657
AppSec [baseline] (61.869 ms) : 0, 61869
AppSec [candidate] (62.454 ms) : 0, 62454
Debugger [baseline] (6.261 ms) : 0, 6261
Debugger [candidate] (6.327 ms) : 0, 6327
Remote Config [baseline] (657.25 µs) : 0, 657
Remote Config [candidate] (672.019 µs) : 0, 672
Telemetry [baseline] (8.22 ms) : 0, 8220
Telemetry [candidate] (8.32 ms) : 0, 8320
ProfilingAgent [baseline] (102.992 ms) : 0, 102992
ProfilingAgent [candidate] (104.016 ms) : 0, 104016
Profiling [baseline] (103.016 ms) : 0, 103016
Profiling [candidate] (104.04 ms) : 0, 104040
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.50.0-SNAPSHOT~9670fbf555, baseline=1.50.0-SNAPSHOT~58089f324f

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.019 s) : 0, 1019330
Total [baseline] (8.646 s) : 0, 8646069
Agent [candidate] (1.021 s) : 0, 1021174
Total [candidate] (8.631 s) : 0, 8630974
section iast
Agent [baseline] (1.15 s) : 0, 1149643
Total [baseline] (9.218 s) : 0, 9217725
Agent [candidate] (1.164 s) : 0, 1164334
Total [candidate] (9.248 s) : 0, 9248042
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.15 s) : 0, 1149653
Total [baseline] (9.211 s) : 0, 9211128
Agent [candidate] (1.149 s) : 0, 1149184
Total [candidate] (9.152 s) : 0, 9152459
section iast_TELEMETRY_OFF
Agent [baseline] (1.147 s) : 0, 1147270
Total [baseline] (9.212 s) : 0, 9212084
Agent [candidate] (1.152 s) : 0, 1152404
Total [candidate] (9.266 s) : 0, 9266328
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.019 s -
Agent iast 1.15 s 130.313 ms (12.8%)
Agent iast_HARDCODED_SECRET_DISABLED 1.15 s 130.324 ms (12.8%)
Agent iast_TELEMETRY_OFF 1.147 s 127.94 ms (12.6%)
Total tracing 8.646 s -
Total iast 9.218 s 571.656 ms (6.6%)
Total iast_HARDCODED_SECRET_DISABLED 9.211 s 565.059 ms (6.5%)
Total iast_TELEMETRY_OFF 9.212 s 566.016 ms (6.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.021 s -
Agent iast 1.164 s 143.16 ms (14.0%)
Agent iast_HARDCODED_SECRET_DISABLED 1.149 s 128.01 ms (12.5%)
Agent iast_TELEMETRY_OFF 1.152 s 131.23 ms (12.9%)
Total tracing 8.631 s -
Total iast 9.248 s 617.068 ms (7.1%)
Total iast_HARDCODED_SECRET_DISABLED 9.152 s 521.485 ms (6.0%)
Total iast_TELEMETRY_OFF 9.266 s 635.353 ms (7.4%)
gantt
    title insecure-bank - break down per module: candidate=1.50.0-SNAPSHOT~9670fbf555, baseline=1.50.0-SNAPSHOT~58089f324f

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (682.658 ms) : 0, 682658
BytebuddyAgent [candidate] (681.918 ms) : 0, 681918
GlobalTracer [baseline] (239.909 ms) : 0, 239909
GlobalTracer [candidate] (240.155 ms) : 0, 240155
AppSec [baseline] (54.347 ms) : 0, 54347
AppSec [candidate] (54.51 ms) : 0, 54510
Debugger [baseline] (6.883 ms) : 0, 6883
Debugger [candidate] (10.51 ms) : 0, 10510
Remote Config [baseline] (719.68 µs) : 0, 720
Remote Config [candidate] (712.746 µs) : 0, 713
Telemetry [baseline] (11.362 ms) : 0, 11362
Telemetry [candidate] (9.807 ms) : 0, 9807
section iast
BytebuddyAgent [baseline] (802.918 ms) : 0, 802918
BytebuddyAgent [candidate] (812.956 ms) : 0, 812956
GlobalTracer [baseline] (230.236 ms) : 0, 230236
GlobalTracer [candidate] (233.249 ms) : 0, 233249
IAST [baseline] (28.944 ms) : 0, 28944
IAST [candidate] (27.365 ms) : 0, 27365
AppSec [baseline] (48.743 ms) : 0, 48743
AppSec [candidate] (50.075 ms) : 0, 50075
Debugger [baseline] (5.933 ms) : 0, 5933
Debugger [candidate] (6.052 ms) : 0, 6052
Remote Config [baseline] (605.547 µs) : 0, 606
Remote Config [candidate] (593.992 µs) : 0, 594
Telemetry [baseline] (7.91 ms) : 0, 7910
Telemetry [candidate] (7.974 ms) : 0, 7974
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (801.766 ms) : 0, 801766
BytebuddyAgent [candidate] (801.601 ms) : 0, 801601
GlobalTracer [baseline] (230.828 ms) : 0, 230828
GlobalTracer [candidate] (230.725 ms) : 0, 230725
IAST [baseline] (27.756 ms) : 0, 27756
IAST [candidate] (28.74 ms) : 0, 28740
AppSec [baseline] (51.323 ms) : 0, 51323
AppSec [candidate] (49.46 ms) : 0, 49460
Debugger [baseline] (5.89 ms) : 0, 5890
Debugger [candidate] (5.905 ms) : 0, 5905
Remote Config [baseline] (587.94 µs) : 0, 588
Remote Config [candidate] (594.268 µs) : 0, 594
Telemetry [baseline] (7.923 ms) : 0, 7923
Telemetry [candidate] (7.894 ms) : 0, 7894
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (799.293 ms) : 0, 799293
BytebuddyAgent [candidate] (804.385 ms) : 0, 804385
GlobalTracer [baseline] (230.73 ms) : 0, 230730
GlobalTracer [candidate] (231.839 ms) : 0, 231839
IAST [baseline] (22.481 ms) : 0, 22481
IAST [candidate] (23.294 ms) : 0, 23294
AppSec [baseline] (56.787 ms) : 0, 56787
AppSec [candidate] (54.864 ms) : 0, 54864
Debugger [baseline] (5.997 ms) : 0, 5997
Debugger [candidate] (5.958 ms) : 0, 5958
Remote Config [baseline] (597.113 µs) : 0, 597
Remote Config [candidate] (612.122 µs) : 0, 612
Telemetry [baseline] (7.78 ms) : 0, 7780
Telemetry [candidate] (7.808 ms) : 0, 7808
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-05-21T21:25:45 2025-05-21T21:33:30
git_branch master mcculls/classloader-delegation-instrumentation-independent-of-tracing
git_commit_date 1747843428 1747862031
git_commit_sha 58089f3 9670fbf
release_version 1.50.0-SNAPSHOT~58089f324f 1.50.0-SNAPSHOT~9670fbf555
start_time 2025-05-21T21:25:30 2025-05-21T21:33:16
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1747863611 1747863611
ci_job_id 949218893 949218893
ci_pipeline_id 65800006 65800006
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-qzhj-cns-project-304-concurrent-0-8ri23pjx 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-qzhj-cns-project-304-concurrent-0-8ri23pjx 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant iast iast

Summary

Found 0 performance improvements and 1 performance regressions! Performance is the same for 11 metrics, 18 unstable metrics.

scenario Δ mean http_req_duration Δ mean throughput candidate mean http_req_duration candidate mean throughput baseline mean http_req_duration baseline mean throughput
scenario:load:petclinic:profiling worse
[+31.139µs; +83.801µs] or [+2.034%; +5.474%]
unstable
[-627.312op/s; +399.392op/s] or [-20.388%; +12.980%]
1.588ms 2962.963op/s 1.531ms 3076.923op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~9670fbf555, baseline=1.50.0-SNAPSHOT~58089f324f
    dateFormat X
    axisFormat %s
section baseline
no_agent (393.878 µs) : 374, 414
.   : milestone, 394,
iast (527.108 µs) : 504, 550
.   : milestone, 527,
iast_FULL (738.291 µs) : 716, 760
.   : milestone, 738,
iast_GLOBAL (567.056 µs) : 545, 589
.   : milestone, 567,
iast_HARDCODED_SECRET_DISABLED (531.683 µs) : 509, 555
.   : milestone, 532,
iast_INACTIVE (468.129 µs) : 446, 491
.   : milestone, 468,
iast_TELEMETRY_OFF (504.919 µs) : 482, 528
.   : milestone, 505,
tracing (465.364 µs) : 443, 488
.   : milestone, 465,
section candidate
no_agent (390.676 µs) : 370, 411
.   : milestone, 391,
iast (524.266 µs) : 501, 547
.   : milestone, 524,
iast_FULL (739.815 µs) : 718, 762
.   : milestone, 740,
iast_GLOBAL (574.224 µs) : 552, 597
.   : milestone, 574,
iast_HARDCODED_SECRET_DISABLED (515.336 µs) : 493, 538
.   : milestone, 515,
iast_INACTIVE (463.804 µs) : 443, 485
.   : milestone, 464,
iast_TELEMETRY_OFF (526.493 µs) : 503, 550
.   : milestone, 526,
tracing (467.673 µs) : 445, 490
.   : milestone, 468,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 393.878 µs [373.846 µs, 413.91 µs] -
iast 527.108 µs [503.818 µs, 550.398 µs] 133.23 µs (33.8%)
iast_FULL 738.291 µs [716.178 µs, 760.404 µs] 344.413 µs (87.4%)
iast_GLOBAL 567.056 µs [544.981 µs, 589.131 µs] 173.178 µs (44.0%)
iast_HARDCODED_SECRET_DISABLED 531.683 µs [508.813 µs, 554.553 µs] 137.805 µs (35.0%)
iast_INACTIVE 468.129 µs [445.61 µs, 490.648 µs] 74.251 µs (18.9%)
iast_TELEMETRY_OFF 504.919 µs [482.147 µs, 527.692 µs] 111.041 µs (28.2%)
tracing 465.364 µs [442.897 µs, 487.832 µs] 71.486 µs (18.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 390.676 µs [369.974 µs, 411.377 µs] -
iast 524.266 µs [501.307 µs, 547.225 µs] 133.59 µs (34.2%)
iast_FULL 739.815 µs [717.837 µs, 761.793 µs] 349.139 µs (89.4%)
iast_GLOBAL 574.224 µs [551.92 µs, 596.529 µs] 183.549 µs (47.0%)
iast_HARDCODED_SECRET_DISABLED 515.336 µs [492.996 µs, 537.676 µs] 124.66 µs (31.9%)
iast_INACTIVE 463.804 µs [442.804 µs, 484.804 µs] 73.129 µs (18.7%)
iast_TELEMETRY_OFF 526.493 µs [502.948 µs, 550.037 µs] 135.817 µs (34.8%)
tracing 467.673 µs [444.958 µs, 490.388 µs] 76.997 µs (19.7%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~9670fbf555, baseline=1.50.0-SNAPSHOT~58089f324f
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.369 ms) : 1349, 1389
.   : milestone, 1369,
appsec (1.738 ms) : 1714, 1762
.   : milestone, 1738,
appsec_no_iast (1.739 ms) : 1716, 1762
.   : milestone, 1739,
code_origins (1.671 ms) : 1645, 1698
.   : milestone, 1671,
iast (1.52 ms) : 1497, 1544
.   : milestone, 1520,
profiling (1.531 ms) : 1508, 1554
.   : milestone, 1531,
tracing (1.497 ms) : 1472, 1521
.   : milestone, 1497,
section candidate
no_agent (1.367 ms) : 1347, 1387
.   : milestone, 1367,
appsec (1.749 ms) : 1725, 1773
.   : milestone, 1749,
appsec_no_iast (1.752 ms) : 1729, 1775
.   : milestone, 1752,
code_origins (1.663 ms) : 1636, 1690
.   : milestone, 1663,
iast (1.528 ms) : 1504, 1551
.   : milestone, 1528,
profiling (1.588 ms) : 1563, 1614
.   : milestone, 1588,
tracing (1.509 ms) : 1484, 1534
.   : milestone, 1509,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.369 ms [1.349 ms, 1.389 ms] -
appsec 1.738 ms [1.714 ms, 1.762 ms] 369.102 µs (27.0%)
appsec_no_iast 1.739 ms [1.716 ms, 1.762 ms] 369.87 µs (27.0%)
code_origins 1.671 ms [1.645 ms, 1.698 ms] 302.28 µs (22.1%)
iast 1.52 ms [1.497 ms, 1.544 ms] 151.295 µs (11.1%)
profiling 1.531 ms [1.508 ms, 1.554 ms] 161.959 µs (11.8%)
tracing 1.497 ms [1.472 ms, 1.521 ms] 127.66 µs (9.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.367 ms [1.347 ms, 1.387 ms] -
appsec 1.749 ms [1.725 ms, 1.773 ms] 381.915 µs (27.9%)
appsec_no_iast 1.752 ms [1.729 ms, 1.775 ms] 385.068 µs (28.2%)
code_origins 1.663 ms [1.636 ms, 1.69 ms] 295.437 µs (21.6%)
iast 1.528 ms [1.504 ms, 1.551 ms] 160.323 µs (11.7%)
profiling 1.588 ms [1.563 ms, 1.614 ms] 221.278 µs (16.2%)
tracing 1.509 ms [1.484 ms, 1.534 ms] 141.676 µs (10.4%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/classloader-delegation-instrumentation-independent-of-tracing
git_commit_date 1747843428 1747862031
git_commit_sha 58089f3 9670fbf
release_version 1.50.0-SNAPSHOT~58089f324f 1.50.0-SNAPSHOT~9670fbf555
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1747864020 1747864020
ci_job_id 949218894 949218894
ci_pipeline_id 65800006 65800006
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-vhwr7gmc-project-304-concurrent-0-2iwpc7sh 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-vhwr7gmc-project-304-concurrent-0-2iwpc7sh 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant appsec appsec

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics.

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.50.0-SNAPSHOT~9670fbf555, baseline=1.50.0-SNAPSHOT~58089f324f
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.481 ms) : 1470, 1493
.   : milestone, 1481,
appsec (2.413 ms) : 2364, 2462
.   : milestone, 2413,
iast (2.198 ms) : 2136, 2259
.   : milestone, 2198,
iast_GLOBAL (2.232 ms) : 2170, 2294
.   : milestone, 2232,
profiling (2.033 ms) : 1985, 2082
.   : milestone, 2033,
tracing (2.028 ms) : 1980, 2076
.   : milestone, 2028,
section candidate
no_agent (1.48 ms) : 1468, 1491
.   : milestone, 1480,
appsec (2.417 ms) : 2368, 2465
.   : milestone, 2417,
iast (2.202 ms) : 2139, 2264
.   : milestone, 2202,
iast_GLOBAL (2.232 ms) : 2170, 2293
.   : milestone, 2232,
profiling (2.035 ms) : 1986, 2084
.   : milestone, 2035,
tracing (2.041 ms) : 1992, 2089
.   : milestone, 2041,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.481 ms [1.47 ms, 1.493 ms] -
appsec 2.413 ms [2.364 ms, 2.462 ms] 931.354 µs (62.9%)
iast 2.198 ms [2.136 ms, 2.259 ms] 716.32 µs (48.4%)
iast_GLOBAL 2.232 ms [2.17 ms, 2.294 ms] 750.812 µs (50.7%)
profiling 2.033 ms [1.985 ms, 2.082 ms] 551.762 µs (37.2%)
tracing 2.028 ms [1.98 ms, 2.076 ms] 546.324 µs (36.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.48 ms [1.468 ms, 1.491 ms] -
appsec 2.417 ms [2.368 ms, 2.465 ms] 936.877 µs (63.3%)
iast 2.202 ms [2.139 ms, 2.264 ms] 721.756 µs (48.8%)
iast_GLOBAL 2.232 ms [2.17 ms, 2.293 ms] 751.675 µs (50.8%)
profiling 2.035 ms [1.986 ms, 2.084 ms] 554.778 µs (37.5%)
tracing 2.041 ms [1.992 ms, 2.089 ms] 560.645 µs (37.9%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.50.0-SNAPSHOT~9670fbf555, baseline=1.50.0-SNAPSHOT~58089f324f
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.451 s) : 15451000, 15451000
.   : milestone, 15451000,
appsec (15.017 s) : 15017000, 15017000
.   : milestone, 15017000,
iast (18.334 s) : 18334000, 18334000
.   : milestone, 18334000,
iast_GLOBAL (18.073 s) : 18073000, 18073000
.   : milestone, 18073000,
profiling (14.946 s) : 14946000, 14946000
.   : milestone, 14946000,
tracing (14.863 s) : 14863000, 14863000
.   : milestone, 14863000,
section candidate
no_agent (15.458 s) : 15458000, 15458000
.   : milestone, 15458000,
appsec (14.796 s) : 14796000, 14796000
.   : milestone, 14796000,
iast (19.105 s) : 19105000, 19105000
.   : milestone, 19105000,
iast_GLOBAL (18.265 s) : 18265000, 18265000
.   : milestone, 18265000,
profiling (15.132 s) : 15132000, 15132000
.   : milestone, 15132000,
tracing (14.953 s) : 14953000, 14953000
.   : milestone, 14953000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.451 s [15.451 s, 15.451 s] -
appsec 15.017 s [15.017 s, 15.017 s] -434.0 ms (-2.8%)
iast 18.334 s [18.334 s, 18.334 s] 2.883 s (18.7%)
iast_GLOBAL 18.073 s [18.073 s, 18.073 s] 2.622 s (17.0%)
profiling 14.946 s [14.946 s, 14.946 s] -505.0 ms (-3.3%)
tracing 14.863 s [14.863 s, 14.863 s] -588.0 ms (-3.8%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.458 s [15.458 s, 15.458 s] -
appsec 14.796 s [14.796 s, 14.796 s] -662.0 ms (-4.3%)
iast 19.105 s [19.105 s, 19.105 s] 3.647 s (23.6%)
iast_GLOBAL 18.265 s [18.265 s, 18.265 s] 2.807 s (18.2%)
profiling 15.132 s [15.132 s, 15.132 s] -326.0 ms (-2.1%)
tracing 14.953 s [14.953 s, 14.953 s] -505.0 ms (-3.3%)

…CE_ENABLED=false

This avoids potential class-loading delegation issues when using other products in dd-java-agent
@mcculls mcculls force-pushed the mcculls/classloader-delegation-instrumentation-independent-of-tracing branch from 54f795e to 9670fbf Compare May 21, 2025 21:13
@mcculls mcculls marked this pull request as ready for review May 21, 2025 22:35
@mcculls mcculls requested a review from a team as a code owner May 21, 2025 22:35
@mcculls mcculls enabled auto-merge (squash) May 21, 2025 22:35
@mcculls mcculls merged commit 43d6612 into master May 22, 2025
591 of 592 checks passed
@mcculls mcculls deleted the mcculls/classloader-delegation-instrumentation-independent-of-tracing branch May 22, 2025 06:53
@github-actions github-actions bot added this to the 1.50.0 milestone May 22, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jun 20, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.49.0` -> `1.50.0` |

---

### Release Notes

<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>

###
[`v1.50.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.50.0):
1.50.0

### Deprecation Notice

> \[!NOTE]
> `DD_RUNTIME_ID_ENABLED` has been deprecated and will be removed in
future releases. Please use `DD_RUNTIME_METRICS_RUNTIME_ID_ENABLED`
instead.

### Components

#### Application Security Management (WAF)

- 🐛 Add String length truncation limit to ObjectIntrospector and
update truncation metrics
([#&#8203;8825](DataDog/dd-trace-java#8825) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Adapt standalone ASM to support API Security
([#&#8203;8804](DataDog/dd-trace-java#8804) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Add appsec.waf.input\_truncated metric
([#&#8203;8791](DataDog/dd-trace-java#8791) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extended appsec request body collection
([#&#8203;8748](DataDog/dd-trace-java#8748) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extended appsec request/response headers collection
([#&#8203;8724](DataDog/dd-trace-java#8724) -
[@&#8203;jandro996](https://github.com/jandro996))

#### Build & Tooling

- ✨ Add artifacts to public s3 bucket
([#&#8203;8947](DataDog/dd-trace-java#8947) -
[@&#8203;randomanderson](https://github.com/randomanderson))

#### Continuous Integration Visibility

- ✨ Improve PR information building
([#&#8203;8908](DataDog/dd-trace-java#8908) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Truncate span stack traces when Test Optimization is
enabled
([#&#8203;8903](DataDog/dd-trace-java#8903) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Ensure auto-detected service name is the same for every process
in the same build
([#&#8203;8902](DataDog/dd-trace-java#8902) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Use tag as fallback in api requests if no branch is available
([#&#8203;8876](DataDog/dd-trace-java#8876) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Add support for JUnit 5.13-RC1
([#&#8203;8865](DataDog/dd-trace-java#8865),
[#&#8203;8871](DataDog/dd-trace-java#8871) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement attempt to fix v3 and v4 and bump capability
version
([#&#8203;8824](DataDog/dd-trace-java#8824) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🧹 Align retry logic for all test framework instrumentations
([#&#8203;8803](DataDog/dd-trace-java#8803) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🐛 Always build ci workspace without trailing separator
([#&#8203;8788](DataDog/dd-trace-java#8788) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Add commit discrepancies telemetry when building repository
git information
([#&#8203;8763](DataDog/dd-trace-java#8763) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))

#### Data Streams Monitoring

- 💡 Surface process tags in dsm payloads and use them for base hash
calculation
([#&#8203;8836](DataDog/dd-trace-java#8836) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Dynamic Instrumentation

- ✨ Optimized allocations for collection filter functions
([#&#8203;8896](DataDog/dd-trace-java#8896) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix SymDB upload size check
([#&#8203;8887](DataDog/dd-trace-java#8887) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Add support for Set in filter function
([#&#8203;8873](DataDog/dd-trace-java#8873) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Add support for isDefined in log template
([#&#8203;8859](DataDog/dd-trace-java#8859) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix Max captured frames for Exception Replay
([#&#8203;8856](DataDog/dd-trace-java#8856) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Remove static inherited fields collection
([#&#8203;8832](DataDog/dd-trace-java#8832) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 💡 Add process tags to dynamic instrumentation intake payload
([#&#8203;8779](DataDog/dd-trace-java#8779) -
[@&#8203;amarziali](https://github.com/amarziali))

#### GraalVM native-image

- ✨ Add support for GraalVM Native GC metrics
([#&#8203;8913](DataDog/dd-trace-java#8913) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Add JMXFetch support for GraalVM Native
([#&#8203;8569](DataDog/dd-trace-java#8569) -
[@&#8203;ygree](https://github.com/ygree))

#### JMX fetch

- ✨ Add support for GraalVM Native GC metrics
([#&#8203;8913](DataDog/dd-trace-java#8913) -
[@&#8203;ygree](https://github.com/ygree))

#### Library Injection

- ✨ Deny oracle db jvm based tools
([#&#8203;8909](DataDog/dd-trace-java#8909) -
[@&#8203;bric3](https://github.com/bric3))

#### OpenTracing

- 🐛 Fix OT packaging for exception replay
([#&#8203;8912](DataDog/dd-trace-java#8912) -
[@&#8203;jpbempel](https://github.com/jpbempel))

#### Profiling

- ✨ Bump ddprof to 1.27.0
([#&#8203;8893](DataDog/dd-trace-java#8893) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- Properly handle the adaptive sampling interval overflow by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#213
- Fix [#&#8203;200](DataDog/dd-trace-java#200)
Crash related to aligned\_alloc and free in context by
[@&#8203;yanglong1010](https://github.com/yanglong1010) in
DataDog/java-profiler#208
- Explicitly initialize empty context page by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#210
- Re-connect crash recursion protection with VM stackwalker by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#214
- ✨ Enable ZSTD compression for profiling
([#&#8203;8862](DataDog/dd-trace-java#8862) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- ✨ Extend JPS re-implementation to J9 family
([#&#8203;8813](DataDog/dd-trace-java#8813) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 💡 Collect process tags for profiling upload requests
([#&#8203;8780](DataDog/dd-trace-java#8780) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Telemetry

- 💡 Surface process tags on telemetry payloads
([#&#8203;8837](DataDog/dd-trace-java#8837) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Trace context propagation

- ✨ Migrating all HttpClient Instrumentations to Inject Full
Context
([#&#8203;8826](DataDog/dd-trace-java#8826) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Migrating all HttpServer Instrumentations to Extract full
Context
([#&#8203;8820](DataDog/dd-trace-java#8820) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Add context API support OTel propagators
([#&#8203;8770](DataDog/dd-trace-java#8770) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Tracer core

- ✨⚡ Skip JAXB generated classes classloader
([#&#8203;9003](DataDog/dd-trace-java#9003) -
[@&#8203;bric3](https://github.com/bric3))
- ✨ Add DD\_RUNTIME\_METRICS\_RUNTIME\_ID\_ENABLED alias for
runtime id generation
([#&#8203;8981](DataDog/dd-trace-java#8981) -
[@&#8203;amarziali](https://github.com/amarziali))
- 🐛 Use resolved address for peer.hostname when available without
hitting the cache
([#&#8203;8915](DataDog/dd-trace-java#8915) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Surface server name process tag for tomcat
([#&#8203;8894](DataDog/dd-trace-java#8894) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Surface websphere cell and server name on process tags
([#&#8203;8880](DataDog/dd-trace-java#8880) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Added special lightweight pre-main class that skips
installation on incompatible JVMs.
([#&#8203;8855](DataDog/dd-trace-java#8855) -
[@&#8203;AlexeyKuznetsov-DD](https://github.com/AlexeyKuznetsov-DD))
- 💡 Add entrypoint type to process tags
([#&#8203;8839](DataDog/dd-trace-java#8839) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Extend JPS re-implementation to J9 family
([#&#8203;8813](DataDog/dd-trace-java#8813) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- ✨ Notify listeners when the scope top changes after switching
scope stacks
([#&#8203;8797](DataDog/dd-trace-java#8797) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Read hsperfdata for Java PIDs if jvmstat is unavailable
([#&#8203;8792](DataDog/dd-trace-java#8792) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 🐛 Turn JDK socket support on by default
([#&#8203;8752](DataDog/dd-trace-java#8752) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- ✨ Simplify context propagation
([#&#8203;8719](DataDog/dd-trace-java#8719) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Add JSON parsing support
([#&#8203;8579](DataDog/dd-trace-java#8579) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Tracer internal logging

- ✨ Fix printing format of span identifiers
([#&#8203;8897](DataDog/dd-trace-java#8897) -
[@&#8203;vandonr](https://github.com/vandonr))

#### Tracer public API

- 💡 Track the source of installation
([#&#8203;8956](DataDog/dd-trace-java#8956) -
[@&#8203;mabdinur](https://github.com/mabdinur))
- ✨ Enforce size limit on application\_monitoring.yaml files
([#&#8203;8789](DataDog/dd-trace-java#8789) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨ Enabling baggage cache to support limits and non-ascii
characters
([#&#8203;8713](DataDog/dd-trace-java#8713) -
[@&#8203;mhlidd](https://github.com/mhlidd))

### Instrumentations

#### AWS Lambda instrumentation

- ✨ Pass Lambda Request ID to Extension
([#&#8203;8814](DataDog/dd-trace-java#8814) -
[@&#8203;nhulston](https://github.com/nhulston))

#### Core Java language instrumentation

- ✨ Ensure ClassloadingInstrumentation is always applied even
with `DD_TRACE_ENABLED=false`
([#&#8203;8863](DataDog/dd-trace-java#8863) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Eclipse Vert.x instrumentation

- 🐛 Do not override route with / in vertx instrumentation
([#&#8203;8881](DataDog/dd-trace-java#8881) -
[@&#8203;vandonr](https://github.com/vandonr))

#### IBM Liberty

- 🐛 Fix error mark on http status for IBM liberty
([#&#8203;8822](DataDog/dd-trace-java#8822) -
[@&#8203;amarziali](https://github.com/amarziali))

#### JDBC instrumentation

- 🐛 Do not prepend DBM <> APM trace comment in SQLCommenter if there
is a pg plan hint
([#&#8203;8864](DataDog/dd-trace-java#8864) -
[@&#8203;edengorevoy](https://github.com/edengorevoy))

#### JMS instrumentation

- ✨ Add jms as an extra integration name where there is JMS
involved
([#&#8203;8933](DataDog/dd-trace-java#8933) -
[@&#8203;vandonr](https://github.com/vandonr))

#### Kotlin instrumentation

- ✨ Enable kotlin\_coroutine integration by default
([#&#8203;8848](DataDog/dd-trace-java#8848) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🧹 Rework Kotlin coroutines instrumentation around coroutine
context
([#&#8203;8774](DataDog/dd-trace-java#8774) -
[@&#8203;mcculls](https://github.com/mcculls))

#### OpenTelemetry instrumentation

- 🐛 Support WithSpan inheritContext attribute
([#&#8203;8858](DataDog/dd-trace-java#8858) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add context API support OTel propagators
([#&#8203;8770](DataDog/dd-trace-java#8770) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Play Framework instrumentation

- 🐛 Fix the Play Framework's span resource name priority so that the
client JAX-RS 404 cannot override it
([#&#8203;8591](DataDog/dd-trace-java#8591) -
[@&#8203;ygree](https://github.com/ygree))

#### Quarkus Instrumentation

- 🐛 Ignore quarkus jaxrs stubs and cdi wrapper proxies
([#&#8203;8891](DataDog/dd-trace-java#8891) -
[@&#8203;amarziali](https://github.com/amarziali))

#### ServiceTalk

- ✨ Improve ServiceTalk Captured Context API Instrumentation
for v0.42.56+
([#&#8203;8821](DataDog/dd-trace-java#8821) -
[@&#8203;ygree](https://github.com/ygree))

#### Spring instrumentation

- ✨ Supporting Baggage for Instrumentations used in Weblog
Tests
([#&#8203;8773](DataDog/dd-trace-java#8773) -
[@&#8203;mhlidd](https://github.com/mhlidd))

#### WebSocket Instrumentation

- 💡 Trace websocket for spring webflux reactive handlers
([#&#8203;8831](DataDog/dd-trace-java#8831) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡:test\_tube: WebSocket support for Netty
([#&#8203;8632](DataDog/dd-trace-java#8632) -
[@&#8203;ValentinZakharov](https://github.com/ValentinZakharov))

#### Zio Instrumentation

- 🧹 Cleanup Zio fiber instrumentation to avoid repeated activation
of continuation
([#&#8203;8798](DataDog/dd-trace-java#8798) -
[@&#8203;mcculls](https://github.com/mcculls))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am
every weekday" in timezone Australia/Melbourne, Automerge - At any time
(no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Never, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://github.com/renovatebot/renovate).

GitOrigin-RevId: 9207366cdb6a1bd098082305d354a0a3c4622d7a
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 type: enhancement Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants