Skip to content

Conversation

mtoffl01
Copy link
Contributor

@mtoffl01 mtoffl01 commented Aug 15, 2025

What Does This Do

If the value provided to the booleanValueOf method cannot be converted to a boolean, throw a InvalidBooleanValueException. Catch this exception in ConfigProvider, and return false to maintain backward compatibility.

Motivation

This change is part of the Enhanced Configuration Telemetry initiative.

The previous booleanValueOf logic would just return false if an invalid value was provided, obscuring from the ConfigProvider that an invalid value was provided. Throwing an exception instead will improve the control flow in ConfigProvider.get to allow us to more accurately report real values and identify the chosen, valid value
For more context, see: https://github.com/DataDog/dd-trace-java/pull/9327/files#diff-0d563029c90e2adb7f10f281111b5cd2cb02ca73515f104ec6dbd6c951c4c752R219-R260

The choice to use a custom exception and to return false was made in order to maintain backwards compatibility; we did not want to break environments that were already using this "forced false" behavior.

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@datadog-datadog-prod-us1
Copy link
Contributor

datadog-datadog-prod-us1 bot commented Aug 15, 2025

🎯 Code Coverage
Patch Coverage: 100.00%
Total Coverage: 57.33% (-0.02%)

View detailed report

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

@pr-commenter
Copy link

pr-commenter bot commented Aug 15, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mtoff/configconvert-boolean-exception
git_commit_date 1755709777 1755710284
git_commit_sha def5c6a ebfd052
release_version 1.53.0-SNAPSHOT~def5c6a361 1.53.0-SNAPSHOT~ebfd052ede
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1755711952 1755711952
ci_job_id 1090334466 1090334466
ci_pipeline_id 74282758 74282758
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-ijhf348k 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-ijhf348k 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 47 metrics, 12 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.53.0-SNAPSHOT~ebfd052ede, baseline=1.53.0-SNAPSHOT~def5c6a361

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.046 s) : 0, 1045990
Total [baseline] (8.621 s) : 0, 8621311
Agent [candidate] (1.069 s) : 0, 1068574
Total [candidate] (8.665 s) : 0, 8665166
section iast
Agent [baseline] (1.193 s) : 0, 1193307
Total [baseline] (9.393 s) : 0, 9393215
Agent [candidate] (1.183 s) : 0, 1182704
Total [candidate] (9.395 s) : 0, 9395092
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.046 s -
Agent iast 1.193 s 147.317 ms (14.1%)
Total tracing 8.621 s -
Total iast 9.393 s 771.904 ms (9.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.069 s -
Agent iast 1.183 s 114.129 ms (10.7%)
Total tracing 8.665 s -
Total iast 9.395 s 729.927 ms (8.4%)
gantt
    title insecure-bank - break down per module: candidate=1.53.0-SNAPSHOT~ebfd052ede, baseline=1.53.0-SNAPSHOT~def5c6a361

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.459 ms) : 0, 1459
crashtracking [candidate] (1.492 ms) : 0, 1492
BytebuddyAgent [baseline] (733.681 ms) : 0, 733681
BytebuddyAgent [candidate] (749.219 ms) : 0, 749219
GlobalTracer [baseline] (243.234 ms) : 0, 243234
GlobalTracer [candidate] (246.556 ms) : 0, 246556
AppSec [baseline] (30.322 ms) : 0, 30322
AppSec [candidate] (30.682 ms) : 0, 30682
Debugger [baseline] (6.115 ms) : 0, 6115
Debugger [candidate] (6.122 ms) : 0, 6122
Remote Config [baseline] (684.859 µs) : 0, 685
Remote Config [candidate] (690.09 µs) : 0, 690
Telemetry [baseline] (9.395 ms) : 0, 9395
Telemetry [candidate] (12.455 ms) : 0, 12455
section iast
crashtracking [baseline] (1.476 ms) : 0, 1476
crashtracking [candidate] (1.458 ms) : 0, 1458
BytebuddyAgent [baseline] (859.948 ms) : 0, 859948
BytebuddyAgent [candidate] (852.897 ms) : 0, 852897
GlobalTracer [baseline] (236.383 ms) : 0, 236383
GlobalTracer [candidate] (233.688 ms) : 0, 233688
AppSec [baseline] (30.055 ms) : 0, 30055
AppSec [candidate] (26.385 ms) : 0, 26385
Debugger [baseline] (6.704 ms) : 0, 6704
Debugger [candidate] (7.594 ms) : 0, 7594
Remote Config [baseline] (622.376 µs) : 0, 622
Remote Config [candidate] (610.472 µs) : 0, 610
Telemetry [baseline] (8.563 ms) : 0, 8563
Telemetry [candidate] (8.553 ms) : 0, 8553
IAST [baseline] (28.367 ms) : 0, 28367
IAST [candidate] (30.469 ms) : 0, 30469
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.53.0-SNAPSHOT~ebfd052ede, baseline=1.53.0-SNAPSHOT~def5c6a361

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.065 s) : 0, 1065200
Total [baseline] (10.8 s) : 0, 10800311
Agent [candidate] (1.045 s) : 0, 1045136
Total [candidate] (10.691 s) : 0, 10691298
section appsec
Agent [baseline] (1.231 s) : 0, 1231126
Total [baseline] (10.763 s) : 0, 10762542
Agent [candidate] (1.222 s) : 0, 1222412
Total [candidate] (10.742 s) : 0, 10741730
section iast
Agent [baseline] (1.191 s) : 0, 1190578
Total [baseline] (11.016 s) : 0, 11015670
Agent [candidate] (1.186 s) : 0, 1186124
Total [candidate] (10.952 s) : 0, 10952414
section profiling
Agent [baseline] (1.214 s) : 0, 1213954
Total [baseline] (11.037 s) : 0, 11036778
Agent [candidate] (1.201 s) : 0, 1201164
Total [candidate] (11.014 s) : 0, 11014148
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.065 s -
Agent appsec 1.231 s 165.925 ms (15.6%)
Agent iast 1.191 s 125.377 ms (11.8%)
Agent profiling 1.214 s 148.754 ms (14.0%)
Total tracing 10.8 s -
Total appsec 10.763 s -37.769 ms (-0.3%)
Total iast 11.016 s 215.359 ms (2.0%)
Total profiling 11.037 s 236.467 ms (2.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.045 s -
Agent appsec 1.222 s 177.275 ms (17.0%)
Agent iast 1.186 s 140.988 ms (13.5%)
Agent profiling 1.201 s 156.028 ms (14.9%)
Total tracing 10.691 s -
Total appsec 10.742 s 50.432 ms (0.5%)
Total iast 10.952 s 261.116 ms (2.4%)
Total profiling 11.014 s 322.849 ms (3.0%)
gantt
    title petclinic - break down per module: candidate=1.53.0-SNAPSHOT~ebfd052ede, baseline=1.53.0-SNAPSHOT~def5c6a361

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.496 ms) : 0, 1496
crashtracking [candidate] (1.466 ms) : 0, 1466
BytebuddyAgent [baseline] (743.344 ms) : 0, 743344
BytebuddyAgent [candidate] (732.418 ms) : 0, 732418
GlobalTracer [baseline] (246.674 ms) : 0, 246674
GlobalTracer [candidate] (242.507 ms) : 0, 242507
AppSec [baseline] (30.819 ms) : 0, 30819
AppSec [candidate] (30.124 ms) : 0, 30124
Debugger [baseline] (6.16 ms) : 0, 6160
Debugger [candidate] (6.034 ms) : 0, 6034
Remote Config [baseline] (695.292 µs) : 0, 695
Remote Config [candidate] (664.633 µs) : 0, 665
Telemetry [baseline] (14.602 ms) : 0, 14602
Telemetry [candidate] (10.805 ms) : 0, 10805
section appsec
crashtracking [baseline] (1.488 ms) : 0, 1488
crashtracking [candidate] (1.446 ms) : 0, 1446
BytebuddyAgent [baseline] (760.781 ms) : 0, 760781
BytebuddyAgent [candidate] (754.615 ms) : 0, 754615
GlobalTracer [baseline] (237.057 ms) : 0, 237057
GlobalTracer [candidate] (235.624 ms) : 0, 235624
AppSec [baseline] (170.469 ms) : 0, 170469
AppSec [candidate] (169.224 ms) : 0, 169224
Debugger [baseline] (6.563 ms) : 0, 6563
Debugger [candidate] (6.475 ms) : 0, 6475
Remote Config [baseline] (628.302 µs) : 0, 628
Remote Config [candidate] (624.69 µs) : 0, 625
Telemetry [baseline] (9.129 ms) : 0, 9129
Telemetry [candidate] (10.001 ms) : 0, 10001
IAST [baseline] (23.753 ms) : 0, 23753
IAST [candidate] (23.329 ms) : 0, 23329
section iast
crashtracking [baseline] (1.468 ms) : 0, 1468
crashtracking [candidate] (1.461 ms) : 0, 1461
BytebuddyAgent [baseline] (859.273 ms) : 0, 859273
BytebuddyAgent [candidate] (857.727 ms) : 0, 857727
GlobalTracer [baseline] (235.776 ms) : 0, 235776
GlobalTracer [candidate] (232.973 ms) : 0, 232973
AppSec [baseline] (26.365 ms) : 0, 26365
AppSec [candidate] (26.134 ms) : 0, 26134
Debugger [baseline] (6.707 ms) : 0, 6707
Debugger [candidate] (9.208 ms) : 0, 9208
Remote Config [baseline] (604.646 µs) : 0, 605
Remote Config [candidate] (592.09 µs) : 0, 592
Telemetry [baseline] (8.349 ms) : 0, 8349
Telemetry [candidate] (8.26 ms) : 0, 8260
IAST [baseline] (30.843 ms) : 0, 30843
IAST [candidate] (28.517 ms) : 0, 28517
section profiling
crashtracking [baseline] (1.445 ms) : 0, 1445
crashtracking [candidate] (1.414 ms) : 0, 1414
BytebuddyAgent [baseline] (772.623 ms) : 0, 772623
BytebuddyAgent [candidate] (763.318 ms) : 0, 763318
GlobalTracer [baseline] (225.351 ms) : 0, 225351
GlobalTracer [candidate] (224.037 ms) : 0, 224037
AppSec [baseline] (30.653 ms) : 0, 30653
AppSec [candidate] (30.274 ms) : 0, 30274
Debugger [baseline] (6.423 ms) : 0, 6423
Debugger [candidate] (6.379 ms) : 0, 6379
Remote Config [baseline] (738.226 µs) : 0, 738
Remote Config [candidate] (699.625 µs) : 0, 700
Telemetry [baseline] (16.694 ms) : 0, 16694
Telemetry [candidate] (16.602 ms) : 0, 16602
ProfilingAgent [baseline] (109.879 ms) : 0, 109879
ProfilingAgent [candidate] (108.691 ms) : 0, 108691
Profiling [baseline] (110.53 ms) : 0, 110530
Profiling [candidate] (109.355 ms) : 0, 109355
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mtoff/configconvert-boolean-exception
git_commit_date 1755709777 1755710284
git_commit_sha def5c6a ebfd052
release_version 1.53.0-SNAPSHOT~def5c6a361 1.53.0-SNAPSHOT~ebfd052ede
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1755711702 1755711702
ci_job_id 1090334468 1090334468
ci_pipeline_id 74282758 74282758
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-o0l9z9c5 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-o0l9z9c5 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 2 performance regressions! Performance is the same for 8 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:insecure-bank:iast_GLOBAL:high_load better
[-599.482µs; -226.748µs] or [-5.844%; -2.210%]
unstable
[-35.437op/s; +73.125op/s] or [-7.824%; +16.146%]
9.845ms 471.750op/s 10.258ms 452.906op/s
scenario:load:petclinic:tracing:high_load worse
[+1.002ms; +1.828ms] or [+2.280%; +4.160%]
unstable
[-10.845op/s; +4.220op/s] or [-10.189%; +3.965%]
45.349ms 103.125op/s 43.934ms 106.438op/s
scenario:load:petclinic:profiling:high_load worse
[+1.439ms; +2.553ms] or [+2.959%; +5.250%]
unstable
[-11.143op/s; +3.493op/s] or [-11.578%; +3.629%]
50.633ms 92.425op/s 48.636ms 96.250op/s
scenario:load:petclinic:appsec:high_load better
[-2.772ms; -1.839ms] or [-5.670%; -3.761%]
unstable
[-2.552op/s; +11.977op/s] or [-2.666%; +12.512%]
46.586ms 100.438op/s 48.891ms 95.725op/s
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.53.0-SNAPSHOT~ebfd052ede, baseline=1.53.0-SNAPSHOT~def5c6a361
    dateFormat X
    axisFormat %s
section baseline
no_agent (36.679 ms) : 36382, 36976
.   : milestone, 36679,
appsec (48.891 ms) : 48437, 49345
.   : milestone, 48891,
code_origins (45.838 ms) : 45459, 46217
.   : milestone, 45838,
iast (46.813 ms) : 46406, 47220
.   : milestone, 46813,
profiling (48.636 ms) : 48125, 49147
.   : milestone, 48636,
tracing (43.934 ms) : 43560, 44309
.   : milestone, 43934,
section candidate
no_agent (35.877 ms) : 35598, 36157
.   : milestone, 35877,
appsec (46.586 ms) : 46173, 46999
.   : milestone, 46586,
code_origins (45.543 ms) : 45138, 45948
.   : milestone, 45543,
iast (45.744 ms) : 45346, 46142
.   : milestone, 45744,
profiling (50.633 ms) : 50108, 51157
.   : milestone, 50633,
tracing (45.349 ms) : 44957, 45742
.   : milestone, 45349,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 36.679 ms [36.382 ms, 36.976 ms] -
appsec 48.891 ms [48.437 ms, 49.345 ms] 12.212 ms (33.3%)
code_origins 45.838 ms [45.459 ms, 46.217 ms] 9.159 ms (25.0%)
iast 46.813 ms [46.406 ms, 47.22 ms] 10.134 ms (27.6%)
profiling 48.636 ms [48.125 ms, 49.147 ms] 11.957 ms (32.6%)
tracing 43.934 ms [43.56 ms, 44.309 ms] 7.255 ms (19.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 35.877 ms [35.598 ms, 36.157 ms] -
appsec 46.586 ms [46.173 ms, 46.999 ms] 10.709 ms (29.8%)
code_origins 45.543 ms [45.138 ms, 45.948 ms] 9.666 ms (26.9%)
iast 45.744 ms [45.346 ms, 46.142 ms] 9.866 ms (27.5%)
profiling 50.633 ms [50.108 ms, 51.157 ms] 14.755 ms (41.1%)
tracing 45.349 ms [44.957 ms, 45.742 ms] 9.472 ms (26.4%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.53.0-SNAPSHOT~ebfd052ede, baseline=1.53.0-SNAPSHOT~def5c6a361
    dateFormat X
    axisFormat %s
section baseline
no_agent (4.37 ms) : 4311, 4429
.   : milestone, 4370,
iast (9.323 ms) : 9168, 9479
.   : milestone, 9323,
iast_FULL (13.903 ms) : 13622, 14184
.   : milestone, 13903,
iast_GLOBAL (10.258 ms) : 10081, 10436
.   : milestone, 10258,
profiling (8.756 ms) : 8621, 8891
.   : milestone, 8756,
tracing (7.749 ms) : 7632, 7867
.   : milestone, 7749,
section candidate
no_agent (4.416 ms) : 4356, 4476
.   : milestone, 4416,
iast (9.488 ms) : 9330, 9645
.   : milestone, 9488,
iast_FULL (14.182 ms) : 13896, 14467
.   : milestone, 14182,
iast_GLOBAL (9.845 ms) : 9676, 10014
.   : milestone, 9845,
profiling (8.728 ms) : 8585, 8871
.   : milestone, 8728,
tracing (7.743 ms) : 7632, 7855
.   : milestone, 7743,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.37 ms [4.311 ms, 4.429 ms] -
iast 9.323 ms [9.168 ms, 9.479 ms] 4.953 ms (113.3%)
iast_FULL 13.903 ms [13.622 ms, 14.184 ms] 9.533 ms (218.1%)
iast_GLOBAL 10.258 ms [10.081 ms, 10.436 ms] 5.888 ms (134.7%)
profiling 8.756 ms [8.621 ms, 8.891 ms] 4.386 ms (100.4%)
tracing 7.749 ms [7.632 ms, 7.867 ms] 3.379 ms (77.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.416 ms [4.356 ms, 4.476 ms] -
iast 9.488 ms [9.33 ms, 9.645 ms] 5.072 ms (114.9%)
iast_FULL 14.182 ms [13.896 ms, 14.467 ms] 9.766 ms (221.2%)
iast_GLOBAL 9.845 ms [9.676 ms, 10.014 ms] 5.43 ms (123.0%)
profiling 8.728 ms [8.585 ms, 8.871 ms] 4.312 ms (97.7%)
tracing 7.743 ms [7.632 ms, 7.855 ms] 3.327 ms (75.4%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mtoff/configconvert-boolean-exception
git_commit_date 1755709777 1755710284
git_commit_sha def5c6a ebfd052
release_version 1.53.0-SNAPSHOT~def5c6a361 1.53.0-SNAPSHOT~ebfd052ede
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1755712176 1755712176
ci_job_id 1090334470 1090334470
ci_pipeline_id 74282758 74282758
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-2-y4kbu33n 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-2-y4kbu33n 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.53.0-SNAPSHOT~ebfd052ede, baseline=1.53.0-SNAPSHOT~def5c6a361
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.868 s) : 14868000, 14868000
.   : milestone, 14868000,
appsec (14.762 s) : 14762000, 14762000
.   : milestone, 14762000,
iast (18.419 s) : 18419000, 18419000
.   : milestone, 18419000,
iast_GLOBAL (18.274 s) : 18274000, 18274000
.   : milestone, 18274000,
profiling (15.844 s) : 15844000, 15844000
.   : milestone, 15844000,
tracing (15.028 s) : 15028000, 15028000
.   : milestone, 15028000,
section candidate
no_agent (15.508 s) : 15508000, 15508000
.   : milestone, 15508000,
appsec (15.022 s) : 15022000, 15022000
.   : milestone, 15022000,
iast (18.265 s) : 18265000, 18265000
.   : milestone, 18265000,
iast_GLOBAL (18.313 s) : 18313000, 18313000
.   : milestone, 18313000,
profiling (15.1 s) : 15100000, 15100000
.   : milestone, 15100000,
tracing (15.106 s) : 15106000, 15106000
.   : milestone, 15106000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.868 s [14.868 s, 14.868 s] -
appsec 14.762 s [14.762 s, 14.762 s] -106.0 ms (-0.7%)
iast 18.419 s [18.419 s, 18.419 s] 3.551 s (23.9%)
iast_GLOBAL 18.274 s [18.274 s, 18.274 s] 3.406 s (22.9%)
profiling 15.844 s [15.844 s, 15.844 s] 976.0 ms (6.6%)
tracing 15.028 s [15.028 s, 15.028 s] 160.0 ms (1.1%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.508 s [15.508 s, 15.508 s] -
appsec 15.022 s [15.022 s, 15.022 s] -486.0 ms (-3.1%)
iast 18.265 s [18.265 s, 18.265 s] 2.757 s (17.8%)
iast_GLOBAL 18.313 s [18.313 s, 18.313 s] 2.805 s (18.1%)
profiling 15.1 s [15.1 s, 15.1 s] -408.0 ms (-2.6%)
tracing 15.106 s [15.106 s, 15.106 s] -402.0 ms (-2.6%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.53.0-SNAPSHOT~ebfd052ede, baseline=1.53.0-SNAPSHOT~def5c6a361
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.467 ms) : 1455, 1478
.   : milestone, 1467,
appsec (3.566 ms) : 3354, 3777
.   : milestone, 3566,
iast (2.195 ms) : 2133, 2258
.   : milestone, 2195,
iast_GLOBAL (2.235 ms) : 2172, 2299
.   : milestone, 2235,
profiling (2.054 ms) : 2001, 2106
.   : milestone, 2054,
tracing (2.011 ms) : 1962, 2061
.   : milestone, 2011,
section candidate
no_agent (1.473 ms) : 1461, 1485
.   : milestone, 1473,
appsec (3.65 ms) : 3432, 3868
.   : milestone, 3650,
iast (2.195 ms) : 2131, 2258
.   : milestone, 2195,
iast_GLOBAL (2.23 ms) : 2167, 2293
.   : milestone, 2230,
profiling (2.025 ms) : 1975, 2074
.   : milestone, 2025,
tracing (2.012 ms) : 1963, 2061
.   : milestone, 2012,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.467 ms [1.455 ms, 1.478 ms] -
appsec 3.566 ms [3.354 ms, 3.777 ms] 2.099 ms (143.1%)
iast 2.195 ms [2.133 ms, 2.258 ms] 728.399 µs (49.7%)
iast_GLOBAL 2.235 ms [2.172 ms, 2.299 ms] 768.624 µs (52.4%)
profiling 2.054 ms [2.001 ms, 2.106 ms] 586.842 µs (40.0%)
tracing 2.011 ms [1.962 ms, 2.061 ms] 544.39 µs (37.1%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.473 ms [1.461 ms, 1.485 ms] -
appsec 3.65 ms [3.432 ms, 3.868 ms] 2.177 ms (147.8%)
iast 2.195 ms [2.131 ms, 2.258 ms] 721.604 µs (49.0%)
iast_GLOBAL 2.23 ms [2.167 ms, 2.293 ms] 757.088 µs (51.4%)
profiling 2.025 ms [1.975 ms, 2.074 ms] 551.488 µs (37.4%)
tracing 2.012 ms [1.963 ms, 2.061 ms] 538.965 µs (36.6%)

@@ -657,7 +657,7 @@ class ConfigTest extends DDSpecification {
config.agentHost == " "
config.agentPort == 8126
config.agentUrl == "http:// :8126"
config.prioritySamplingEnabled == false
config.prioritySamplingEnabled == true
Copy link
Contributor

Choose a reason for hiding this comment

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

any reason why this particular config was changed?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes. The test tests, "default when configured incorrectly". The default value of prioritySamplingEnabled is true. However, the old test logic used to pass because, before my changes, booleanValueOf would return false if a nonparseable value was provided to the config (e.g, "3" when we expect the config to be of type boolean). So actually, my changes fixed this condition.

Copy link
Contributor

@mcculls mcculls Aug 19, 2025

Choose a reason for hiding this comment

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

Thanks, we may want to consider calling this out in the release notes as technically it is a change in behaviour (even though the change here is making handling of nonparseable booleans more consistent with other languages)

Copy link
Contributor

@mcculls mcculls left a comment

Choose a reason for hiding this comment

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

Some unintended changes to address, but other than that LGTM

…strap/instrumentation/decorator/BaseDecorator.java

Co-authored-by: Stuart McCulloch <[email protected]>
@mtoffl01 mtoffl01 added type: enhancement Enhancements and improvements comp: core Tracer core labels Aug 20, 2025
@mtoffl01 mtoffl01 marked this pull request as ready for review August 20, 2025 15:10
@mtoffl01 mtoffl01 requested review from a team as code owners August 20, 2025 15:10
@mtoffl01 mtoffl01 requested a review from smola August 20, 2025 15:10
@mtoffl01 mtoffl01 changed the title Throw IllegalArgumentException in ConfigConverter.booleanValueOf [DO NOT MERGE] Throw IllegalArgumentException in ConfigConverter.booleanValueOf Aug 20, 2025
@mtoffl01 mtoffl01 added the tag: do not merge Do not merge changes label Aug 20, 2025
Copy link
Contributor

github-actions bot commented Aug 20, 2025

Hi! 👋 Thanks for your pull request! 🎉

To help us review it, please make sure to:

  • Remove the tag from the pull request title

If you need help, please check our contributing guidelines.

@mtoffl01 mtoffl01 changed the title [DO NOT MERGE] Throw IllegalArgumentException in ConfigConverter.booleanValueOf Throw IllegalArgumentException in ConfigConverter.booleanValueOf Aug 20, 2025
@mtoffl01 mtoffl01 removed the tag: do not merge Do not merge changes label Aug 20, 2025
@mtoffl01 mtoffl01 changed the title Throw IllegalArgumentException in ConfigConverter.booleanValueOf Throw InvalidBooleanValueException in ConfigConverter.booleanValueOf Aug 20, 2025
@mtoffl01 mtoffl01 merged commit dd6e5d6 into master Aug 20, 2025
503 of 505 checks passed
@mtoffl01 mtoffl01 deleted the mtoff/configconvert-boolean-exception branch August 20, 2025 19:57
@github-actions github-actions bot added this to the 1.53.0 milestone Aug 20, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Sep 4, 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.52.1` -> `1.53.0` |

---

### Release Notes

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

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

### Components

#### Application Security Management (WAF)

- 🐛 Fix NullPointerException log in AppSec
([#&#8203;9355](DataDog/dd-trace-java#9355) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Add Forwarded header as a source to client IP resolution
([#&#8203;9310](DataDog/dd-trace-java#9310) -
[@&#8203;jandro996](https://github.com/jandro996))

#### Build & Tooling

- 📖 Update CODEOWNERS
([#&#8203;9294](DataDog/dd-trace-java#9294) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Add dependency on Maven Central deployment to OCI publish
jobs
([#&#8203;9204](DataDog/dd-trace-java#9204) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))

#### Continuous Integration Visibility

- ✨ Upload code coverage reports to Datadog
([#&#8203;9425](DataDog/dd-trace-java#9425) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨⚡ Do not follow symlinks by default when building
repository index
([#&#8203;9318](DataDog/dd-trace-java#9318) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Improve tag propagation between test event levels
([#&#8203;9278](DataDog/dd-trace-java#9278) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))

#### Data Streams Monitoring

- ✨ Create container hash tags propagation
([#&#8203;9282](DataDog/dd-trace-java#9282) -
[@&#8203;ygree](https://github.com/ygree))

#### Database Monitoring

- 🐛 Prevent crash in SQL Server's JDBC when tracing execute methods
with generated keys
([#&#8203;9321](DataDog/dd-trace-java#9321) -
[@&#8203;na-ji](https://github.com/na-ji))
- ✨ Create container hash tags propagation
([#&#8203;9282](DataDog/dd-trace-java#9282) -
[@&#8203;ygree](https://github.com/ygree))

#### GraalVM native-image

- 🐛 Update GraalVM config to reflect TempLocationManager's new
package
([#&#8203;9337](DataDog/dd-trace-java#9337) -
[@&#8203;luneo7](https://github.com/luneo7) - thanks for the
contribution!)

#### Metrics

- 🐛 Add reflect config for CSS and graalvm
([#&#8203;9449](DataDog/dd-trace-java#9449) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Align CSS health metrics
([#&#8203;9444](DataDog/dd-trace-java#9444) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Aggregate peer tags for consumer span kind
([#&#8203;9442](DataDog/dd-trace-java#9442) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Implement health metrics for client stats
([#&#8203;9377](DataDog/dd-trace-java#9377) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add peer tags, span kind and trace root flag to MetricKey
bucket
([#&#8203;9178](DataDog/dd-trace-java#9178) -
[@&#8203;bric3](https://github.com/bric3))

#### Profiling

- ✨ Create a profile flare reporter (requires tracing or CI vis
to be enabled)
([#&#8203;9433](DataDog/dd-trace-java#9433) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 🐛 Properly fall-back on UDS profiling URL
([#&#8203;9401](DataDog/dd-trace-java#9401) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- 🐛 Properly handle trace agent IPv6 URL in profiling
([#&#8203;9334](DataDog/dd-trace-java#9334) -
[@&#8203;jbachorik](https://github.com/jbachorik))

#### Realtime User Monitoring

- 🐛 Avoid multiple injections on dispatch on jboss
([#&#8203;9392](DataDog/dd-trace-java#9392) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Support async servlet for RUM injection
([#&#8203;9333](DataDog/dd-trace-java#9333) -
[@&#8203;amarziali](https://github.com/amarziali))
- 🐛 Improve RUM injection matching and avoid truncating responses
([#&#8203;9323](DataDog/dd-trace-java#9323) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Add telemetry for the RUM injector
([#&#8203;9267](DataDog/dd-trace-java#9267) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- ✨ Make rum injector stream/writer more resilient to errors
([#&#8203;9184](DataDog/dd-trace-java#9184) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Telemetry

- 🐛 Remediate error logs
([#&#8203;9459](DataDog/dd-trace-java#9459) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Report config\_id for Hands Off Config files
([#&#8203;9299](DataDog/dd-trace-java#9299) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨ Adding Config Inversion Telemetry component
([#&#8203;9244](DataDog/dd-trace-java#9244) -
[@&#8203;mhlidd](https://github.com/mhlidd))

#### Trace context propagation

- 🧹 Migrate instrumentations to Context API
([#&#8203;9384](DataDog/dd-trace-java#9384),
[#&#8203;9378](DataDog/dd-trace-java#9378),
[#&#8203;9358](DataDog/dd-trace-java#9358) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨🔍 Add baggage propagation telemetry
([#&#8203;9289](DataDog/dd-trace-java#9289) -
[@&#8203;rachelyangdog](https://github.com/rachelyangdog))
- 🧹 Improve Instrumenter API to use Context instead of Span
([#&#8203;9211](DataDog/dd-trace-java#9211) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Tracer core

- 💡:test\_tube: Enable process level tags for java 21 applications
([#&#8203;9458](DataDog/dd-trace-java#9458) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Move base and peer service adder before span is published
([#&#8203;9408](DataDog/dd-trace-java#9408) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add ErrorPriorities level for manual instrumentation
([#&#8203;9387](DataDog/dd-trace-java#9387) -
[@&#8203;cecile75](https://github.com/cecile75))
- ✨ Throw InvalidBooleanValueException in
ConfigConverter.booleanValueOf
([#&#8203;9370](DataDog/dd-trace-java#9370) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- 🐛 Avoid NPE on featureDiscovery creation
([#&#8203;9353](DataDog/dd-trace-java#9353) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Stable Config improvements
([#&#8203;9259](DataDog/dd-trace-java#9259) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))

### Instrumentations

#### gRPC instrumentation

- 🐛 Changing GRPC instrumentation codes from `status.code` to
`grpc.status.code`
([#&#8203;9367](DataDog/dd-trace-java#9367) -
[@&#8203;mhlidd](https://github.com/mhlidd))

#### JDBC instrumentation

- 🐛 Prevent crash in SQL Server's JDBC when tracing execute methods
with generated keys
([#&#8203;9321](DataDog/dd-trace-java#9321) -
[@&#8203;na-ji](https://github.com/na-ji))

#### Kotlin instrumentation

- 🐛 Take defensive copy of original scope stack when restoring on
different thread
([#&#8203;9403](DataDog/dd-trace-java#9403) -
[@&#8203;mcculls](https://github.com/mcculls))

#### OpenTelemetry instrumentation

- 🐛 Fix using SpanAttribute annotation on multiple parameters
([#&#8203;9412](DataDog/dd-trace-java#9412) -
[@&#8203;cecile75](https://github.com/cecile75))

</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: e23ec866cef91afc6b5226d5f0dc7da538d947e8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: core Tracer core type: enhancement Enhancements and improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants