Skip to content

Conversation

PerfectSlayer
Copy link
Contributor

@PerfectSlayer PerfectSlayer commented Sep 18, 2025

What Does This Do

This PR prepares for the "Prepare to Make Final Mean Final" changes where mutating final field will be forbidden.

Motivation

Adding forbidden API should avoid using this API in the future, decreasing the migration work.

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@datadog-datadog-prod-us1
Copy link
Contributor

datadog-datadog-prod-us1 bot commented Sep 18, 2025

🎯 Code Coverage
Patch Coverage: 100.00%
Total Coverage: 59.65% (-0.15%)

View detailed report

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 5ad4f5e | Docs | Was this helpful? Give us feedback!

@pr-commenter
Copy link

pr-commenter bot commented Sep 18, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bbujon/jep500
git_commit_date 1758193224 1758207193
git_commit_sha f44ec39 5ad4f5e
release_version 1.54.0-SNAPSHOT~f44ec39f9b 1.54.0-SNAPSHOT~5ad4f5ee26
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1758208892 1758208892
ci_job_id 1136367829 1136367829
ci_pipeline_id 76879855 76879855
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-kdj8r5h5 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-kdj8r5h5 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 51 metrics, 8 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.54.0-SNAPSHOT~5ad4f5ee26, baseline=1.54.0-SNAPSHOT~f44ec39f9b

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.063 s) : 0, 1063084
Total [baseline] (10.762 s) : 0, 10762083
Agent [candidate] (1.063 s) : 0, 1062562
Total [candidate] (10.722 s) : 0, 10722117
section appsec
Agent [baseline] (1.237 s) : 0, 1237268
Total [baseline] (11.059 s) : 0, 11058951
Agent [candidate] (1.236 s) : 0, 1236141
Total [candidate] (11.173 s) : 0, 11172725
section iast
Agent [baseline] (1.193 s) : 0, 1193338
Total [baseline] (11.109 s) : 0, 11109324
Agent [candidate] (1.192 s) : 0, 1191837
Total [candidate] (11.127 s) : 0, 11127084
section profiling
Agent [baseline] (1.209 s) : 0, 1209122
Total [baseline] (10.872 s) : 0, 10871556
Agent [candidate] (1.218 s) : 0, 1218252
Total [candidate] (10.986 s) : 0, 10986105
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.063 s -
Agent appsec 1.237 s 174.184 ms (16.4%)
Agent iast 1.193 s 130.254 ms (12.3%)
Agent profiling 1.209 s 146.038 ms (13.7%)
Total tracing 10.762 s -
Total appsec 11.059 s 296.868 ms (2.8%)
Total iast 11.109 s 347.241 ms (3.2%)
Total profiling 10.872 s 109.474 ms (1.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.063 s -
Agent appsec 1.236 s 173.579 ms (16.3%)
Agent iast 1.192 s 129.275 ms (12.2%)
Agent profiling 1.218 s 155.691 ms (14.7%)
Total tracing 10.722 s -
Total appsec 11.173 s 450.608 ms (4.2%)
Total iast 11.127 s 404.967 ms (3.8%)
Total profiling 10.986 s 263.988 ms (2.5%)
gantt
    title petclinic - break down per module: candidate=1.54.0-SNAPSHOT~5ad4f5ee26, baseline=1.54.0-SNAPSHOT~f44ec39f9b

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.461 ms) : 0, 1461
crashtracking [candidate] (1.448 ms) : 0, 1448
BytebuddyAgent [baseline] (733.593 ms) : 0, 733593
BytebuddyAgent [candidate] (732.927 ms) : 0, 732927
GlobalTracer [baseline] (253.002 ms) : 0, 253002
GlobalTracer [candidate] (253.034 ms) : 0, 253034
AppSec [baseline] (30.642 ms) : 0, 30642
AppSec [candidate] (30.668 ms) : 0, 30668
Debugger [baseline] (6.395 ms) : 0, 6395
Debugger [candidate] (6.402 ms) : 0, 6402
Remote Config [baseline] (703.518 µs) : 0, 704
Remote Config [candidate] (698.111 µs) : 0, 698
Telemetry [baseline] (16.164 ms) : 0, 16164
Telemetry [candidate] (16.256 ms) : 0, 16256
section appsec
crashtracking [baseline] (1.47 ms) : 0, 1470
crashtracking [candidate] (1.465 ms) : 0, 1465
BytebuddyAgent [baseline] (757.339 ms) : 0, 757339
BytebuddyAgent [candidate] (756.566 ms) : 0, 756566
GlobalTracer [baseline] (246.383 ms) : 0, 246383
GlobalTracer [candidate] (246.126 ms) : 0, 246126
AppSec [baseline] (171.848 ms) : 0, 171848
AppSec [candidate] (171.869 ms) : 0, 171869
Debugger [baseline] (5.967 ms) : 0, 5967
Debugger [candidate] (5.981 ms) : 0, 5981
Remote Config [baseline] (621.098 µs) : 0, 621
Remote Config [candidate] (628.112 µs) : 0, 628
Telemetry [baseline] (8.533 ms) : 0, 8533
Telemetry [candidate] (8.565 ms) : 0, 8565
IAST [baseline] (23.857 ms) : 0, 23857
IAST [candidate] (23.676 ms) : 0, 23676
section iast
crashtracking [baseline] (1.459 ms) : 0, 1459
crashtracking [candidate] (1.475 ms) : 0, 1475
BytebuddyAgent [baseline] (854.177 ms) : 0, 854177
BytebuddyAgent [candidate] (852.863 ms) : 0, 852863
GlobalTracer [baseline] (246.532 ms) : 0, 246532
GlobalTracer [candidate] (245.704 ms) : 0, 245704
AppSec [baseline] (25.49 ms) : 0, 25490
AppSec [candidate] (26.388 ms) : 0, 26388
Debugger [baseline] (6.029 ms) : 0, 6029
Debugger [candidate] (6.022 ms) : 0, 6022
Remote Config [baseline] (605.091 µs) : 0, 605
Remote Config [candidate] (592.174 µs) : 0, 592
Telemetry [baseline] (8.229 ms) : 0, 8229
Telemetry [candidate] (8.205 ms) : 0, 8205
IAST [baseline] (29.795 ms) : 0, 29795
IAST [candidate] (29.425 ms) : 0, 29425
section profiling
crashtracking [baseline] (1.446 ms) : 0, 1446
crashtracking [candidate] (1.464 ms) : 0, 1464
BytebuddyAgent [baseline] (760.916 ms) : 0, 760916
BytebuddyAgent [candidate] (766.723 ms) : 0, 766723
GlobalTracer [baseline] (232.547 ms) : 0, 232547
GlobalTracer [candidate] (234.668 ms) : 0, 234668
AppSec [baseline] (32.735 ms) : 0, 32735
AppSec [candidate] (30.688 ms) : 0, 30688
Debugger [baseline] (10.619 ms) : 0, 10619
Debugger [candidate] (12.329 ms) : 0, 12329
Remote Config [baseline] (2.316 ms) : 0, 2316
Remote Config [candidate] (729.696 µs) : 0, 730
Telemetry [baseline] (8.726 ms) : 0, 8726
Telemetry [candidate] (11.167 ms) : 0, 11167
ProfilingAgent [baseline] (108.603 ms) : 0, 108603
ProfilingAgent [candidate] (108.77 ms) : 0, 108770
Profiling [baseline] (109.227 ms) : 0, 109227
Profiling [candidate] (109.415 ms) : 0, 109415
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.54.0-SNAPSHOT~5ad4f5ee26, baseline=1.54.0-SNAPSHOT~f44ec39f9b

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.077 s) : 0, 1076971
Total [baseline] (8.727 s) : 0, 8727156
Agent [candidate] (1.064 s) : 0, 1064023
Total [candidate] (8.655 s) : 0, 8654568
section iast
Agent [baseline] (1.19 s) : 0, 1190498
Total [baseline] (9.321 s) : 0, 9320957
Agent [candidate] (1.188 s) : 0, 1188096
Total [candidate] (9.332 s) : 0, 9331754
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.077 s -
Agent iast 1.19 s 113.527 ms (10.5%)
Total tracing 8.727 s -
Total iast 9.321 s 593.801 ms (6.8%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.064 s -
Agent iast 1.188 s 124.073 ms (11.7%)
Total tracing 8.655 s -
Total iast 9.332 s 677.186 ms (7.8%)
gantt
    title insecure-bank - break down per module: candidate=1.54.0-SNAPSHOT~5ad4f5ee26, baseline=1.54.0-SNAPSHOT~f44ec39f9b

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.483 ms) : 0, 1483
crashtracking [candidate] (1.45 ms) : 0, 1450
BytebuddyAgent [baseline] (743.085 ms) : 0, 743085
BytebuddyAgent [candidate] (733.421 ms) : 0, 733421
GlobalTracer [baseline] (256.184 ms) : 0, 256184
GlobalTracer [candidate] (253.857 ms) : 0, 253857
AppSec [baseline] (31.224 ms) : 0, 31224
AppSec [candidate] (30.76 ms) : 0, 30760
Debugger [baseline] (6.511 ms) : 0, 6511
Debugger [candidate] (6.471 ms) : 0, 6471
Remote Config [baseline] (717.43 µs) : 0, 717
Remote Config [candidate] (700.324 µs) : 0, 700
Telemetry [baseline] (16.503 ms) : 0, 16503
Telemetry [candidate] (16.395 ms) : 0, 16395
section iast
crashtracking [baseline] (1.456 ms) : 0, 1456
crashtracking [candidate] (1.45 ms) : 0, 1450
BytebuddyAgent [baseline] (851.802 ms) : 0, 851802
BytebuddyAgent [candidate] (850.38 ms) : 0, 850380
GlobalTracer [baseline] (247.6 ms) : 0, 247600
GlobalTracer [candidate] (246.439 ms) : 0, 246439
AppSec [baseline] (25.532 ms) : 0, 25532
AppSec [candidate] (24.625 ms) : 0, 24625
Debugger [baseline] (6.086 ms) : 0, 6086
Debugger [candidate] (6.075 ms) : 0, 6075
Remote Config [baseline] (597.698 µs) : 0, 598
Remote Config [candidate] (592.426 µs) : 0, 592
Telemetry [baseline] (8.265 ms) : 0, 8265
Telemetry [candidate] (8.239 ms) : 0, 8239
IAST [baseline] (28.145 ms) : 0, 28145
IAST [candidate] (29.39 ms) : 0, 29390
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bbujon/jep500
git_commit_date 1758193224 1758207193
git_commit_sha f44ec39 5ad4f5e
release_version 1.54.0-SNAPSHOT~f44ec39f9b 1.54.0-SNAPSHOT~5ad4f5ee26
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1758208550 1758208550
ci_job_id 1136367833 1136367833
ci_pipeline_id 76879855 76879855
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-cpy20skj 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-cpy20skj 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 2 performance improvements and 0 performance regressions! Performance is the same for 10 metrics, 12 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:no_agent:high_load better
[-1.429ms; -0.787ms] or [-3.774%; -2.079%]
unstable
[-4.738op/s; +12.163op/s] or [-3.836%; +9.849%]
36.745ms 127.213op/s 37.853ms 123.500op/s
scenario:load:petclinic:appsec:high_load better
[-2.737ms; -1.794ms] or [-5.328%; -3.492%]
unstable
[-2.457op/s; +10.807op/s] or [-2.697%; +11.863%]
49.110ms 95.275op/s 51.375ms 91.100op/s
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.54.0-SNAPSHOT~5ad4f5ee26, baseline=1.54.0-SNAPSHOT~f44ec39f9b
    dateFormat X
    axisFormat %s
section baseline
no_agent (37.853 ms) : 37552, 38155
.   : milestone, 37853,
appsec (51.375 ms) : 50923, 51828
.   : milestone, 51375,
code_origins (46.561 ms) : 46167, 46954
.   : milestone, 46561,
iast (44.223 ms) : 43846, 44599
.   : milestone, 44223,
profiling (49.547 ms) : 49075, 50018
.   : milestone, 49547,
tracing (45.432 ms) : 45052, 45813
.   : milestone, 45432,
section candidate
no_agent (36.745 ms) : 36450, 37041
.   : milestone, 36745,
appsec (49.11 ms) : 48687, 49533
.   : milestone, 49110,
code_origins (46.452 ms) : 46034, 46870
.   : milestone, 46452,
iast (44.669 ms) : 44284, 45055
.   : milestone, 44669,
profiling (48.752 ms) : 48296, 49208
.   : milestone, 48752,
tracing (45.502 ms) : 45118, 45885
.   : milestone, 45502,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 37.853 ms [37.552 ms, 38.155 ms] -
appsec 51.375 ms [50.923 ms, 51.828 ms] 13.522 ms (35.7%)
code_origins 46.561 ms [46.167 ms, 46.954 ms] 8.707 ms (23.0%)
iast 44.223 ms [43.846 ms, 44.599 ms] 6.369 ms (16.8%)
profiling 49.547 ms [49.075 ms, 50.018 ms] 11.694 ms (30.9%)
tracing 45.432 ms [45.052 ms, 45.813 ms] 7.579 ms (20.0%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 36.745 ms [36.45 ms, 37.041 ms] -
appsec 49.11 ms [48.687 ms, 49.533 ms] 12.364 ms (33.6%)
code_origins 46.452 ms [46.034 ms, 46.87 ms] 9.706 ms (26.4%)
iast 44.669 ms [44.284 ms, 45.055 ms] 7.924 ms (21.6%)
profiling 48.752 ms [48.296 ms, 49.208 ms] 12.007 ms (32.7%)
tracing 45.502 ms [45.118 ms, 45.885 ms] 8.756 ms (23.8%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.54.0-SNAPSHOT~5ad4f5ee26, baseline=1.54.0-SNAPSHOT~f44ec39f9b
    dateFormat X
    axisFormat %s
section baseline
no_agent (4.445 ms) : 4394, 4495
.   : milestone, 4445,
iast (9.594 ms) : 9424, 9763
.   : milestone, 9594,
iast_FULL (14.127 ms) : 13842, 14412
.   : milestone, 14127,
iast_GLOBAL (10.452 ms) : 10271, 10634
.   : milestone, 10452,
profiling (9.018 ms) : 8877, 9160
.   : milestone, 9018,
tracing (7.813 ms) : 7694, 7931
.   : milestone, 7813,
section candidate
no_agent (4.419 ms) : 4369, 4469
.   : milestone, 4419,
iast (9.369 ms) : 9217, 9520
.   : milestone, 9369,
iast_FULL (14.162 ms) : 13880, 14444
.   : milestone, 14162,
iast_GLOBAL (10.489 ms) : 10301, 10677
.   : milestone, 10489,
profiling (8.713 ms) : 8578, 8848
.   : milestone, 8713,
tracing (7.728 ms) : 7620, 7836
.   : milestone, 7728,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.445 ms [4.394 ms, 4.495 ms] -
iast 9.594 ms [9.424 ms, 9.763 ms] 5.149 ms (115.8%)
iast_FULL 14.127 ms [13.842 ms, 14.412 ms] 9.682 ms (217.8%)
iast_GLOBAL 10.452 ms [10.271 ms, 10.634 ms] 6.008 ms (135.2%)
profiling 9.018 ms [8.877 ms, 9.16 ms] 4.574 ms (102.9%)
tracing 7.813 ms [7.694 ms, 7.931 ms] 3.368 ms (75.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.419 ms [4.369 ms, 4.469 ms] -
iast 9.369 ms [9.217 ms, 9.52 ms] 4.95 ms (112.0%)
iast_FULL 14.162 ms [13.88 ms, 14.444 ms] 9.743 ms (220.5%)
iast_GLOBAL 10.489 ms [10.301 ms, 10.677 ms] 6.07 ms (137.4%)
profiling 8.713 ms [8.578 ms, 8.848 ms] 4.294 ms (97.2%)
tracing 7.728 ms [7.62 ms, 7.836 ms] 3.309 ms (74.9%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bbujon/jep500
git_commit_date 1758193224 1758207193
git_commit_sha f44ec39 5ad4f5e
release_version 1.54.0-SNAPSHOT~f44ec39f9b 1.54.0-SNAPSHOT~5ad4f5ee26
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1758209103 1758209103
ci_job_id 1136367836 1136367836
ci_pipeline_id 76879855 76879855
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-1-r8qq103u 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-1-r8qq103u 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 10 metrics, 2 unstable metrics.

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.54.0-SNAPSHOT~5ad4f5ee26, baseline=1.54.0-SNAPSHOT~f44ec39f9b
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.479 ms) : 1468, 1491
.   : milestone, 1479,
appsec (3.764 ms) : 3544, 3983
.   : milestone, 3764,
iast (2.209 ms) : 2146, 2272
.   : milestone, 2209,
iast_GLOBAL (2.252 ms) : 2189, 2316
.   : milestone, 2252,
profiling (2.081 ms) : 2029, 2133
.   : milestone, 2081,
tracing (2.036 ms) : 1986, 2085
.   : milestone, 2036,
section candidate
no_agent (1.476 ms) : 1465, 1488
.   : milestone, 1476,
appsec (3.67 ms) : 3456, 3885
.   : milestone, 3670,
iast (2.216 ms) : 2153, 2280
.   : milestone, 2216,
iast_GLOBAL (2.249 ms) : 2186, 2313
.   : milestone, 2249,
profiling (2.499 ms) : 2331, 2667
.   : milestone, 2499,
tracing (2.037 ms) : 1987, 2086
.   : milestone, 2037,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.479 ms [1.468 ms, 1.491 ms] -
appsec 3.764 ms [3.544 ms, 3.983 ms] 2.284 ms (154.4%)
iast 2.209 ms [2.146 ms, 2.272 ms] 729.306 µs (49.3%)
iast_GLOBAL 2.252 ms [2.189 ms, 2.316 ms] 772.577 µs (52.2%)
profiling 2.081 ms [2.029 ms, 2.133 ms] 601.582 µs (40.7%)
tracing 2.036 ms [1.986 ms, 2.085 ms] 556.366 µs (37.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.476 ms [1.465 ms, 1.488 ms] -
appsec 3.67 ms [3.456 ms, 3.885 ms] 2.194 ms (148.7%)
iast 2.216 ms [2.153 ms, 2.28 ms] 740.246 µs (50.1%)
iast_GLOBAL 2.249 ms [2.186 ms, 2.313 ms] 773.221 µs (52.4%)
profiling 2.499 ms [2.331 ms, 2.667 ms] 1.023 ms (69.3%)
tracing 2.037 ms [1.987 ms, 2.086 ms] 560.405 µs (38.0%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.54.0-SNAPSHOT~5ad4f5ee26, baseline=1.54.0-SNAPSHOT~f44ec39f9b
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.619 s) : 15619000, 15619000
.   : milestone, 15619000,
appsec (14.812 s) : 14812000, 14812000
.   : milestone, 14812000,
iast (18.123 s) : 18123000, 18123000
.   : milestone, 18123000,
iast_GLOBAL (18.053 s) : 18053000, 18053000
.   : milestone, 18053000,
profiling (15.412 s) : 15412000, 15412000
.   : milestone, 15412000,
tracing (15.174 s) : 15174000, 15174000
.   : milestone, 15174000,
section candidate
no_agent (15.033 s) : 15033000, 15033000
.   : milestone, 15033000,
appsec (15.064 s) : 15064000, 15064000
.   : milestone, 15064000,
iast (18.733 s) : 18733000, 18733000
.   : milestone, 18733000,
iast_GLOBAL (17.899 s) : 17899000, 17899000
.   : milestone, 17899000,
profiling (15.36 s) : 15360000, 15360000
.   : milestone, 15360000,
tracing (14.84 s) : 14840000, 14840000
.   : milestone, 14840000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.619 s [15.619 s, 15.619 s] -
appsec 14.812 s [14.812 s, 14.812 s] -807.0 ms (-5.2%)
iast 18.123 s [18.123 s, 18.123 s] 2.504 s (16.0%)
iast_GLOBAL 18.053 s [18.053 s, 18.053 s] 2.434 s (15.6%)
profiling 15.412 s [15.412 s, 15.412 s] -207.0 ms (-1.3%)
tracing 15.174 s [15.174 s, 15.174 s] -445.0 ms (-2.8%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.033 s [15.033 s, 15.033 s] -
appsec 15.064 s [15.064 s, 15.064 s] 31.0 ms (0.2%)
iast 18.733 s [18.733 s, 18.733 s] 3.7 s (24.6%)
iast_GLOBAL 17.899 s [17.899 s, 17.899 s] 2.866 s (19.1%)
profiling 15.36 s [15.36 s, 15.36 s] 327.0 ms (2.2%)
tracing 14.84 s [14.84 s, 14.84 s] -193.0 ms (-1.3%)

@PerfectSlayer PerfectSlayer added the tag: no release notes Changes to exclude from release notes label Sep 18, 2025
@PerfectSlayer PerfectSlayer marked this pull request as ready for review September 18, 2025 14:57
@PerfectSlayer PerfectSlayer requested review from a team as code owners September 18, 2025 14:57
@nikita-tkachenko-datadog
Copy link
Contributor

Will we be forbidding setAccessible(...) calls as well? (such as the one done in datadog.trace.util.MethodHandles#privateFieldSetter(java.lang.Class<?>, java.lang.String))

Comment on lines +34 to +43
java.lang.reflect.Field#set(java.lang.Object,java.lang.Object)
java.lang.reflect.Field#setBoolean(java.lang.Object,boolean)
java.lang.reflect.Field#setByte(java.lang.Object,byte)
java.lang.reflect.Field#setChar(java.lang.Object,char)
java.lang.reflect.Field#setShort(java.lang.Object,short)
java.lang.reflect.Field#setInt(java.lang.Object,int)
java.lang.reflect.Field#setLong(java.lang.Object,long)
java.lang.reflect.Field#setFloat(java.lang.Object,float)
java.lang.reflect.Field#setDouble(java.lang.Object,double)
java.lang.invoke.MethodHandles.Lookup#unreflectSetter(java.lang.reflect.Field)
Copy link
Contributor

Choose a reason for hiding this comment

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

question: Doesn't that affect other cases where the field is not final ?

In which case the comments near SuppressForbidden should be more precise, i.e. the field is public ?

Copy link
Contributor Author

@PerfectSlayer PerfectSlayer Sep 18, 2025

Choose a reason for hiding this comment

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

Doesn't that affect other cases where the field is not final ?

No it won't. You're right, I will update the message to add more context and precision.
I will also review the current usage to document wether it is called on a final field or not.

In which case the comments near SuppressForbidden should be more precise, i.e. the field is public ?

It is not much about field visibility (private, packaged, protected, public) but more about field immutability (final or not) but I will add more context 👍

@PerfectSlayer
Copy link
Contributor Author

We won't. Quick quote from my doc about the topic:

But the following will still working:

  • java.lang.reflect.AccessibleObject#setAccessible(boolean) will work to change the accessibility flag and Field.get() / unreflect() / unreflectGetter() will still allow access to private fields value and method calls.

@PerfectSlayer PerfectSlayer marked this pull request as draft September 19, 2025 09:37
@PerfectSlayer
Copy link
Contributor Author

Going back to draft to carefully evaluate and document each calls.
I also envisioned some fixes for some of the calls already.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tag: no release notes Changes to exclude from release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants