Skip to content

Extract Spring json body response schemas - #8938

Merged
sezen-datadog merged 5 commits into
masterfrom
sezen.leblay/APPSEC-57259-extract-schema-spring
Jun 26, 2025
Merged

Extract Spring json body response schemas #8938
sezen-datadog merged 5 commits into
masterfrom
sezen.leblay/APPSEC-57259-extract-schema-spring

Conversation

@sezen-datadog

@sezen-datadogsezen-datadog commented Jun 6, 2025

Copy link
Copy Markdown
Contributor

What Does This Do

Adds response body extraction for Spring JSON endpoints to enable automatic API schema discovery and protection by the Web Application Firewall (WAF).

Motivation

Additional Notes

Contributor Checklist

Jira ticket: APPSEC-57259

@sezen-datadog
sezen-datadogforce-pushed the sezen.leblay/APPSEC-57259-extract-schema-spring branch from f3bdd40 to 7c044fdCompareJune 6, 2025 12:27
@pr-commenter

pr-commenterBot commented Jun 6, 2025

Copy link
Copy Markdown

Benchmarks

Startup

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmastersezen.leblay/APPSEC-57259-extract-schema-spring
git_commit_date17509319821750937736
git_commit_sha0f9b46c7df3be0
release_version1.51.0-SNAPSHOT~0f9b46c7521.51.0-SNAPSHOT~7df3be0728
See matching parameters
BaselineCandidate
applicationinsecure-bankinsecure-bank
ci_job_date17509394731750939473
ci_job_id999888410999888410
ci_pipeline_id6884131668841316
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_versionLinux runner-keqzgwjt-project-304-concurrent-2-ln3489me 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/LinuxLinux runner-keqzgwjt-project-304-concurrent-2-ln3489me 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
moduleAgentAgent
parentNoneNone

Summary

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

Startup time reports for petclinic
gantt
title petclinic - global startup overhead: candidate=1.51.0-SNAPSHOT~7df3be0728, baseline=1.51.0-SNAPSHOT~0f9b46c752
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (995.662 ms) : 0, 995662
Total [baseline] (10.619 s) : 0, 10618747
Agent [candidate] (1.006 s) : 0, 1005788
Total [candidate] (10.618 s) : 0, 10617581
section appsec
Agent [baseline] (1.178 s) : 0, 1178264
Total [baseline] (10.696 s) : 0, 10695848
Agent [candidate] (1.175 s) : 0, 1174699
Total [candidate] (10.709 s) : 0, 10709361
section iast
Agent [baseline] (1.14 s) : 0, 1140154
Total [baseline] (10.857 s) : 0, 10856502
Agent [candidate] (1.13 s) : 0, 1130042
Total [candidate] (10.784 s) : 0, 10784431
section profiling
Agent [baseline] (1.243 s) : 0, 1242801
Total [baseline] (10.943 s) : 0, 10943341
Agent [candidate] (1.241 s) : 0, 1241064
Total [candidate] (10.949 s) : 0, 10948787
Loading
  • baseline results
ModuleVariantDurationΔ tracing
Agenttracing995.662 ms-
Agentappsec1.178 s182.602 ms (18.3%)
Agentiast1.14 s144.492 ms (14.5%)
Agentprofiling1.243 s247.139 ms (24.8%)
Totaltracing10.619 s-
Totalappsec10.696 s77.101 ms (0.7%)
Totaliast10.857 s237.755 ms (2.2%)
Totalprofiling10.943 s324.595 ms (3.1%)
  • candidate results
ModuleVariantDurationΔ tracing
Agenttracing1.006 s-
Agentappsec1.175 s168.912 ms (16.8%)
Agentiast1.13 s124.254 ms (12.4%)
Agentprofiling1.241 s235.276 ms (23.4%)
Totaltracing10.618 s-
Totalappsec10.709 s91.78 ms (0.9%)
Totaliast10.784 s166.85 ms (1.6%)
Totalprofiling10.949 s331.205 ms (3.1%)
gantt
title petclinic - break down per module: candidate=1.51.0-SNAPSHOT~7df3be0728, baseline=1.51.0-SNAPSHOT~0f9b46c752
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (687.38 ms) : 0, 687380
BytebuddyAgent [candidate] (694.212 ms) : 0, 694212
GlobalTracer [baseline] (242.394 ms) : 0, 242394
GlobalTracer [candidate] (244.773 ms) : 0, 244773
AppSec [baseline] (30.141 ms) : 0, 30141
AppSec [candidate] (30.747 ms) : 0, 30747
Debugger [baseline] (6.043 ms) : 0, 6043
Debugger [candidate] (6.089 ms) : 0, 6089
Remote Config [baseline] (670.599 µs) : 0, 671
Remote Config [candidate] (667.848 µs) : 0, 668
Telemetry [baseline] (8.221 ms) : 0, 8221
Telemetry [candidate] (8.29 ms) : 0, 8290
section appsec
BytebuddyAgent [baseline] (714.33 ms) : 0, 714330
BytebuddyAgent [candidate] (710.767 ms) : 0, 710767
GlobalTracer [baseline] (236.678 ms) : 0, 236678
GlobalTracer [candidate] (236.066 ms) : 0, 236066
IAST [baseline] (22.021 ms) : 0, 22021
IAST [candidate] (22.035 ms) : 0, 22035
AppSec [baseline] (169.857 ms) : 0, 169857
AppSec [candidate] (170.43 ms) : 0, 170430
Debugger [baseline] (5.804 ms) : 0, 5804
Debugger [candidate] (5.822 ms) : 0, 5822
Remote Config [baseline] (608.368 µs) : 0, 608
Remote Config [candidate] (605.92 µs) : 0, 606
Telemetry [baseline] (8.103 ms) : 0, 8103
Telemetry [candidate] (8.144 ms) : 0, 8144
section iast
BytebuddyAgent [baseline] (814.666 ms) : 0, 814666
BytebuddyAgent [candidate] (807.459 ms) : 0, 807459
GlobalTracer [baseline] (234.407 ms) : 0, 234407
GlobalTracer [candidate] (231.891 ms) : 0, 231891
IAST [baseline] (25.679 ms) : 0, 25679
IAST [candidate] (27.709 ms) : 0, 27709
AppSec [baseline] (29.46 ms) : 0, 29460
AppSec [candidate] (27.815 ms) : 0, 27815
Debugger [baseline] (5.757 ms) : 0, 5757
Debugger [candidate] (5.858 ms) : 0, 5858
Remote Config [baseline] (578.935 µs) : 0, 579
Remote Config [candidate] (583.253 µs) : 0, 583
Telemetry [baseline] (7.951 ms) : 0, 7951
Telemetry [candidate] (7.984 ms) : 0, 7984
section profiling
BytebuddyAgent [baseline] (677.417 ms) : 0, 677417
BytebuddyAgent [candidate] (677.253 ms) : 0, 677253
GlobalTracer [baseline] (360.942 ms) : 0, 360942
GlobalTracer [candidate] (359.905 ms) : 0, 359905
AppSec [baseline] (31.662 ms) : 0, 31662
AppSec [candidate] (32.193 ms) : 0, 32193
Debugger [baseline] (11.816 ms) : 0, 11816
Debugger [candidate] (11.335 ms) : 0, 11335
Remote Config [baseline] (671.387 µs) : 0, 671
Remote Config [candidate] (666.139 µs) : 0, 666
Telemetry [baseline] (8.859 ms) : 0, 8859
Telemetry [candidate] (8.7 ms) : 0, 8700
ProfilingAgent [baseline] (102.947 ms) : 0, 102947
ProfilingAgent [candidate] (102.646 ms) : 0, 102646
Profiling [baseline] (102.973 ms) : 0, 102973
Profiling [candidate] (102.671 ms) : 0, 102671
Loading
Startup time reports for insecure-bank
gantt
title insecure-bank - global startup overhead: candidate=1.51.0-SNAPSHOT~7df3be0728, baseline=1.51.0-SNAPSHOT~0f9b46c752
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (995.941 ms) : 0, 995941
Total [baseline] (8.515 s) : 0, 8515288
Agent [candidate] (1.005 s) : 0, 1004845
Total [candidate] (8.565 s) : 0, 8564655
section iast
Agent [baseline] (1.138 s) : 0, 1138374
Total [baseline] (9.257 s) : 0, 9257321
Agent [candidate] (1.128 s) : 0, 1128326
Total [candidate] (9.225 s) : 0, 9224812
Loading
  • baseline results
ModuleVariantDurationΔ tracing
Agenttracing995.941 ms-
Agentiast1.138 s142.433 ms (14.3%)
Totaltracing8.515 s-
Totaliast9.257 s742.033 ms (8.7%)
  • candidate results
ModuleVariantDurationΔ tracing
Agenttracing1.005 s-
Agentiast1.128 s123.481 ms (12.3%)
Totaltracing8.565 s-
Totaliast9.225 s660.157 ms (7.7%)
gantt
title insecure-bank - break down per module: candidate=1.51.0-SNAPSHOT~7df3be0728, baseline=1.51.0-SNAPSHOT~0f9b46c752
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (687.518 ms) : 0, 687518
BytebuddyAgent [candidate] (695.44 ms) : 0, 695440
GlobalTracer [baseline] (242.387 ms) : 0, 242387
GlobalTracer [candidate] (242.99 ms) : 0, 242990
AppSec [baseline] (30.285 ms) : 0, 30285
AppSec [candidate] (30.549 ms) : 0, 30549
Debugger [baseline] (6.05 ms) : 0, 6050
Debugger [candidate] (6.011 ms) : 0, 6011
Remote Config [baseline] (670.394 µs) : 0, 670
Remote Config [candidate] (664.81 µs) : 0, 665
Telemetry [baseline] (8.196 ms) : 0, 8196
Telemetry [candidate] (8.222 ms) : 0, 8222
section iast
BytebuddyAgent [baseline] (814.54 ms) : 0, 814540
BytebuddyAgent [candidate] (805.549 ms) : 0, 805549
GlobalTracer [baseline] (233.228 ms) : 0, 233228
GlobalTracer [candidate] (232.615 ms) : 0, 232615
IAST [baseline] (27.907 ms) : 0, 27907
IAST [candidate] (28.472 ms) : 0, 28472
AppSec [baseline] (27.538 ms) : 0, 27538
AppSec [candidate] (26.643 ms) : 0, 26643
Debugger [baseline] (5.816 ms) : 0, 5816
Debugger [candidate] (5.792 ms) : 0, 5792
Remote Config [baseline] (579.265 µs) : 0, 579
Remote Config [candidate] (583.482 µs) : 0, 583
Telemetry [baseline] (7.921 ms) : 0, 7921
Telemetry [candidate] (7.979 ms) : 0, 7979
Loading

Load

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmastersezen.leblay/APPSEC-57259-extract-schema-spring
git_commit_date17509319821750937736
git_commit_sha0f9b46c7df3be0
release_version1.51.0-SNAPSHOT~0f9b46c7521.51.0-SNAPSHOT~7df3be0728
See matching parameters
BaselineCandidate
applicationinsecure-bankinsecure-bank
ci_job_date17509392291750939229
ci_job_id999888411999888411
ci_pipeline_id6884131668841316
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_versionLinux runner-a1vxyzsw-project-304-concurrent-1-b3er8tke 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/LinuxLinux runner-a1vxyzsw-project-304-concurrent-1-b3er8tke 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

Summary

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

scenarioΔ mean http_req_durationΔ mean throughputcandidate mean http_req_durationcandidate mean throughputbaseline mean http_req_durationbaseline mean throughput
scenario:load:insecure-bank:profiling:high_loadbetter
[-725.685µs; -420.696µs] or [-7.965%; -4.617%]
unstable
[-32.359op/s; +99.859op/s] or [-6.353%; +19.605%]
8.538ms543.094op/s9.111ms509.344op/s
scenario:load:petclinic:no_agent:high_loadworse
[+1.627ms; +2.263ms] or [+4.518%; +6.287%]
unstable
[-16.993op/s; +0.430op/s] or [-12.922%; +0.327%]
37.943ms123.225op/s35.999ms131.506op/s
scenario:load:petclinic:iast:high_loadworse
[+0.898ms; +1.738ms] or [+2.042%; +3.955%]
unstable
[-10.982op/s; +4.807op/s] or [-10.314%; +4.515%]
45.272ms103.388op/s43.955ms106.475op/s
scenario:load:petclinic:tracing:high_loadworse
[+1.819ms; +2.629ms] or [+4.222%; +6.103%]
unstable
[-13.331op/s; +2.681op/s] or [-12.269%; +2.467%]
45.302ms103.325op/s43.078ms108.650op/s
scenario:load:petclinic:profiling:high_loadworse
[+1.334ms; +2.277ms] or [+2.852%; +4.867%]
unstable
[-11.370op/s; +4.020op/s] or [-11.367%; +4.019%]
48.582ms96.350op/s46.777ms100.025op/s
scenario:load:petclinic:appsec:high_loadbetter
[-2.950ms; -2.039ms] or [-5.987%; -4.139%]
unstable
[-3.011op/s; +10.630op/s] or [-3.128%; +11.042%]
46.770ms100.075op/s49.265ms96.266op/s
Request duration reports for petclinic
gantt
title petclinic - request duration [CI 0.99] : candidate=1.51.0-SNAPSHOT~7df3be0728, baseline=1.51.0-SNAPSHOT~0f9b46c752
dateFormat X
axisFormat %s
section baseline
no_agent (35.999 ms) : 35709, 36288
. : milestone, 35999,
appsec (49.265 ms) : 48829, 49700
. : milestone, 49265,
code_origins (44.304 ms) : 43939, 44670
. : milestone, 44304,
iast (43.955 ms) : 43565, 44344
. : milestone, 43955,
profiling (46.777 ms) : 46361, 47193
. : milestone, 46777,
tracing (43.078 ms) : 42716, 43440
. : milestone, 43078,
section candidate
no_agent (37.943 ms) : 37642, 38245
. : milestone, 37943,
appsec (46.77 ms) : 46360, 47181
. : milestone, 46770,
code_origins (45.556 ms) : 45169, 45942
. : milestone, 45556,
iast (45.272 ms) : 44881, 45664
. : milestone, 45272,
profiling (48.582 ms) : 48123, 49041
. : milestone, 48582,
tracing (45.302 ms) : 44912, 45692
. : milestone, 45302,
Loading
  • baseline results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent35.999 ms [35.709 ms, 36.288 ms]-
appsec49.265 ms [48.829 ms, 49.7 ms]13.266 ms (36.9%)
code_origins44.304 ms [43.939 ms, 44.67 ms]8.306 ms (23.1%)
iast43.955 ms [43.565 ms, 44.344 ms]7.956 ms (22.1%)
profiling46.777 ms [46.361 ms, 47.193 ms]10.778 ms (29.9%)
tracing43.078 ms [42.716 ms, 43.44 ms]7.08 ms (19.7%)
  • candidate results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent37.943 ms [37.642 ms, 38.245 ms]-
appsec46.77 ms [46.36 ms, 47.181 ms]8.827 ms (23.3%)
code_origins45.556 ms [45.169 ms, 45.942 ms]7.612 ms (20.1%)
iast45.272 ms [44.881 ms, 45.664 ms]7.329 ms (19.3%)
profiling48.582 ms [48.123 ms, 49.041 ms]10.639 ms (28.0%)
tracing45.302 ms [44.912 ms, 45.692 ms]7.359 ms (19.4%)
Request duration reports for insecure-bank
gantt
title insecure-bank - request duration [CI 0.99] : candidate=1.51.0-SNAPSHOT~7df3be0728, baseline=1.51.0-SNAPSHOT~0f9b46c752
dateFormat X
axisFormat %s
section baseline
no_agent (4.435 ms) : 4385, 4486
. : milestone, 4435,
iast (9.376 ms) : 9209, 9542
. : milestone, 9376,
iast_FULL (14.306 ms) : 14019, 14593
. : milestone, 14306,
iast_GLOBAL (10.229 ms) : 10049, 10409
. : milestone, 10229,
profiling (9.111 ms) : 8961, 9262
. : milestone, 9111,
tracing (7.613 ms) : 7498, 7728
. : milestone, 7613,
section candidate
no_agent (4.353 ms) : 4301, 4405
. : milestone, 4353,
iast (9.178 ms) : 9021, 9334
. : milestone, 9178,
iast_FULL (13.99 ms) : 13713, 14268
. : milestone, 13990,
iast_GLOBAL (10.45 ms) : 10266, 10634
. : milestone, 10450,
profiling (8.538 ms) : 8406, 8670
. : milestone, 8538,
tracing (7.75 ms) : 7642, 7859
. : milestone, 7750,
Loading
  • baseline results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent4.435 ms [4.385 ms, 4.486 ms]-
iast9.376 ms [9.209 ms, 9.542 ms]4.94 ms (111.4%)
iast_FULL14.306 ms [14.019 ms, 14.593 ms]9.871 ms (222.5%)
iast_GLOBAL10.229 ms [10.049 ms, 10.409 ms]5.794 ms (130.6%)
profiling9.111 ms [8.961 ms, 9.262 ms]4.676 ms (105.4%)
tracing7.613 ms [7.498 ms, 7.728 ms]3.177 ms (71.6%)
  • candidate results
VariantRequest duration [CI 0.99]Δ no_agent
no_agent4.353 ms [4.301 ms, 4.405 ms]-
iast9.178 ms [9.021 ms, 9.334 ms]4.825 ms (110.8%)
iast_FULL13.99 ms [13.713 ms, 14.268 ms]9.638 ms (221.4%)
iast_GLOBAL10.45 ms [10.266 ms, 10.634 ms]6.097 ms (140.1%)
profiling8.538 ms [8.406 ms, 8.67 ms]4.186 ms (96.2%)
tracing7.75 ms [7.642 ms, 7.859 ms]3.398 ms (78.1%)

Dacapo

Parameters

BaselineCandidate
baseline_or_candidatebaselinecandidate
git_branchmastersezen.leblay/APPSEC-57259-extract-schema-spring
git_commit_date17509319821750937736
git_commit_sha0f9b46c7df3be0
release_version1.51.0-SNAPSHOT~0f9b46c7521.51.0-SNAPSHOT~7df3be0728
See matching parameters
BaselineCandidate
applicationbiojavabiojava
ci_job_date17509397411750939741
ci_job_id999888412999888412
ci_pipeline_id6884131668841316
cpu_modelIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHzIntel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_versionLinux runner-keqzgwjt-project-304-concurrent-3-vunfmi8v 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/LinuxLinux runner-keqzgwjt-project-304-concurrent-3-vunfmi8v 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

Summary

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

Execution time for tomcat
gantt
title tomcat - execution time [CI 0.99] : candidate=1.51.0-SNAPSHOT~7df3be0728, baseline=1.51.0-SNAPSHOT~0f9b46c752
dateFormat X
axisFormat %s
section baseline
no_agent (1.481 ms) : 1470, 1493
. : milestone, 1481,
appsec (2.394 ms) : 2346, 2442
. : milestone, 2394,
iast (2.185 ms) : 2124, 2246
. : milestone, 2185,
iast_GLOBAL (2.226 ms) : 2165, 2287
. : milestone, 2226,
profiling (2.043 ms) : 1993, 2093
. : milestone, 2043,
tracing (2.011 ms) : 1963, 2058
. : milestone, 2011,
section candidate
no_agent (1.486 ms) : 1474, 1498
. : milestone, 1486,
appsec (2.39 ms) : 2342, 2438
. : milestone, 2390,
iast (2.185 ms) : 2124, 2246
. : milestone, 2185,
iast_GLOBAL (2.229 ms) : 2168, 2290
. : milestone, 2229,
profiling (2.457 ms) : 2287, 2627
. : milestone, 2457,
tracing (2.016 ms) : 1968, 2063
. : milestone, 2016,
Loading
  • baseline results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent1.481 ms [1.47 ms, 1.493 ms]-
appsec2.394 ms [2.346 ms, 2.442 ms]912.455 µs (61.6%)
iast2.185 ms [2.124 ms, 2.246 ms]703.877 µs (47.5%)
iast_GLOBAL2.226 ms [2.165 ms, 2.287 ms]744.875 µs (50.3%)
profiling2.043 ms [1.993 ms, 2.093 ms]561.789 µs (37.9%)
tracing2.011 ms [1.963 ms, 2.058 ms]529.403 µs (35.7%)
  • candidate results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent1.486 ms [1.474 ms, 1.498 ms]-
appsec2.39 ms [2.342 ms, 2.438 ms]904.273 µs (60.9%)
iast2.185 ms [2.124 ms, 2.246 ms]699.306 µs (47.1%)
iast_GLOBAL2.229 ms [2.168 ms, 2.29 ms]742.904 µs (50.0%)
profiling2.457 ms [2.287 ms, 2.627 ms]971.151 µs (65.4%)
tracing2.016 ms [1.968 ms, 2.063 ms]529.7 µs (35.6%)
Execution time for biojava
gantt
title biojava - execution time [CI 0.99] : candidate=1.51.0-SNAPSHOT~7df3be0728, baseline=1.51.0-SNAPSHOT~0f9b46c752
dateFormat X
axisFormat %s
section baseline
no_agent (15.457 s) : 15457000, 15457000
. : milestone, 15457000,
appsec (14.697 s) : 14697000, 14697000
. : milestone, 14697000,
iast (18.184 s) : 18184000, 18184000
. : milestone, 18184000,
iast_GLOBAL (17.853 s) : 17853000, 17853000
. : milestone, 17853000,
profiling (15.113 s) : 15113000, 15113000
. : milestone, 15113000,
tracing (14.62 s) : 14620000, 14620000
. : milestone, 14620000,
section candidate
no_agent (15.304 s) : 15304000, 15304000
. : milestone, 15304000,
appsec (15.083 s) : 15083000, 15083000
. : milestone, 15083000,
iast (18.774 s) : 18774000, 18774000
. : milestone, 18774000,
iast_GLOBAL (18.201 s) : 18201000, 18201000
. : milestone, 18201000,
profiling (15.218 s) : 15218000, 15218000
. : milestone, 15218000,
tracing (14.827 s) : 14827000, 14827000
. : milestone, 14827000,
Loading
  • baseline results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent15.457 s [15.457 s, 15.457 s]-
appsec14.697 s [14.697 s, 14.697 s]-760.0 ms (-4.9%)
iast18.184 s [18.184 s, 18.184 s]2.727 s (17.6%)
iast_GLOBAL17.853 s [17.853 s, 17.853 s]2.396 s (15.5%)
profiling15.113 s [15.113 s, 15.113 s]-344.0 ms (-2.2%)
tracing14.62 s [14.62 s, 14.62 s]-837.0 ms (-5.4%)
  • candidate results
VariantExecution Time [CI 0.99]Δ no_agent
no_agent15.304 s [15.304 s, 15.304 s]-
appsec15.083 s [15.083 s, 15.083 s]-221.0 ms (-1.4%)
iast18.774 s [18.774 s, 18.774 s]3.47 s (22.7%)
iast_GLOBAL18.201 s [18.201 s, 18.201 s]2.897 s (18.9%)
profiling15.218 s [15.218 s, 15.218 s]-86.0 ms (-0.6%)
tracing14.827 s [14.827 s, 14.827 s]-477.0 ms (-3.1%)

Comment threadinternal-api/src/main/java/datadog/trace/api/gateway/Events.java Outdated
@sezen-datadog
sezen-datadogforce-pushed the sezen.leblay/APPSEC-57259-extract-schema-spring branch 2 times, most recently from ade8110 to 5aa9177CompareJune 10, 2025 12:54
@sezen-datadog
sezen-datadog changed the base branch from master to malvarez/vertx-response-extractionJune 10, 2025 12:55
@sezen-datadog
sezen-datadogforce-pushed the sezen.leblay/APPSEC-57259-extract-schema-spring branch 4 times, most recently from c65407e to 9ac9a16CompareJune 13, 2025 09:29
@manuel-alvarez-alvarez
manuel-alvarez-alvarezforce-pushed the malvarez/vertx-response-extraction branch 3 times, most recently from 414f1ea to e6d0da9CompareJune 17, 2025 17:04
Base automatically changed from malvarez/vertx-response-extraction to malvarez/http-route-playJune 17, 2025 17:22
@manuel-alvarez-alvarez
manuel-alvarez-alvarezforce-pushed the malvarez/http-route-play branch 3 times, most recently from aac9883 to ad5e01dCompareJune 23, 2025 10:35
@jandro996

Copy link
Copy Markdown
Member

We need to change the base branch to malvarez/vertx-response-extraction, since it includes all the shared tooling for response schema collection.

This way, we can focus this PR exclusively on adding support for Spring Boot.

@jandro996jandro996 added type: feature Enhancements and improvements inst: spring Spring instrumentation labels Jun 23, 2025
Base automatically changed from malvarez/http-route-play to masterJune 24, 2025 07:55
@sezen-datadog
sezen-datadogforce-pushed the sezen.leblay/APPSEC-57259-extract-schema-spring branch from 9ac9a16 to c9c027fCompareJune 24, 2025 08:45
@sezen-datadog
sezen-datadogforce-pushed the sezen.leblay/APPSEC-57259-extract-schema-spring branch 2 times, most recently from 2db1d8d to a9356dbCompareJune 24, 2025 09:59
@sezen-datadog
sezen-datadog changed the base branch from master to malvarez/vertx-response-extractionJune 24, 2025 10:00
@manuel-alvarez-alvarez
manuel-alvarez-alvarezforce-pushed the malvarez/vertx-response-extraction branch 3 times, most recently from ac7c355 to bd96ea3CompareJune 25, 2025 07:15
Base automatically changed from malvarez/vertx-response-extraction to masterJune 25, 2025 08:25
@sezen-datadog
sezen-datadog marked this pull request as ready for review June 25, 2025 09:43
@sezen-datadog
sezen-datadog requested review from a team as code ownersJune 25, 2025 09:43
@jandro996jandro996 changed the title HTTP response schema collection and data classificationExtract Spring json body response schemas Jun 25, 2025
@jandro996

Copy link
Copy Markdown
Member

I've updated the Title and the Description to follow the same pattern that we used for the other response schema collection PRs. Feel free to to improve them if you feel that it's necessary :)

Signed-off-by: sezen.leblay <sezen.leblay@datadoghq.com>
@sezen-datadog
sezen-datadogforce-pushed the sezen.leblay/APPSEC-57259-extract-schema-spring branch from 46012bb to 57fd21cCompareJune 25, 2025 11:29
Signed-off-by: sezen.leblay <sezen.leblay@datadoghq.com>
@manuel-alvarez-alvarezmanuel-alvarez-alvarez added the comp: asm waf Application Security Management (WAF) label Jun 26, 2025
@sezen-datadog
sezen-datadog enabled auto-merge (squash) June 26, 2025 10:47
@sezen-datadog
sezen-datadog merged commit 928d44f into masterJun 26, 2025
@sezen-datadog
sezen-datadog deleted the sezen.leblay/APPSEC-57259-extract-schema-spring branch June 26, 2025 14:12
@github-actionsgithub-actionsBot added this to the 1.51.0 milestone Jun 26, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jul 10, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[com.google.errorprone:error_prone_annotations](https://errorprone.info)
([source](https://github.com/google/error-prone)) | dependencies |
misk/gradle/libs.versions.toml | gradle | minor | `2.39.0` -> `2.40.0` |
|
[org.apache.commons:commons-lang3](https://commons.apache.org/proper/commons-lang/)
([source](https://gitbox.apache.org/repos/asf/commons-lang.git)) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`3.17.0` -> `3.18.0` |
|
[org.jetbrains.kotlinx.binary-compatibility-validator](https://github.com/Kotlin/binary-compatibility-validator)
| plugin | misk/gradle/libs.versions.toml | gradle | patch | `0.18.0` ->
`0.18.1` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.50.1` -> `1.51.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.77` -> `2.31.78` |
| [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.77` -> `2.31.78` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.77` -> `2.31.78` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.77` -> `2.31.78` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.77` -> `2.31.78` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.77` -> `2.31.78` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.77` -> `2.31.78` |
---
### Release Notes
<details>
<summary>google/error-prone
(com.google.errorprone:error_prone_annotations)</summary>
###
[`v2.40.0`](https://github.com/google/error-prone/releases/tag/v2.40.0):
Error Prone 2.40.0
Changes:
- Bug fixes and improvements
- Releases (including snapshots) have migrated from [OSSRH to the
Central Publisher
Portal](https://central.sonatype.org/pages/ossrh-eol/#process-to-migrate)
Full changelog:
google/error-prone@v2.39.0...v2.40.0
</details>
<details>
<summary>Kotlin/binary-compatibility-validator
(org.jetbrains.kotlinx.binary-compatibility-validator)</summary>
###
[`v0.18.1`](https://github.com/Kotlin/binary-compatibility-validator/releases/tag/0.18.1)
[Compare
Source](Kotlin/binary-compatibility-validator@0.18.0...0.18.1)
#### What's Changed
- Fixed a bug preventing use of cross-compilation support during KLIB
dump validation
\[[#&#8203;304](https://github.com/Kotlin/binary-compatibility-validator/issues/304)]\[[#&#8203;306](https://github.com/Kotlin/binary-compatibility-validator/issues/306)]
</details>
<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>
###
[`v1.51.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.51.0):
1.51.0
### Components
#### Application Security Management (IAST)
- 🐛 Fix verify error when ctor params are used after a call site
([#&#8203;9083](DataDog/dd-trace-java#9083) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- 🐛 Limit the maximum size of the location path in IAST
vulnerabilities
([#&#8203;9028](DataDog/dd-trace-java#9028) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Fix IAST gRPC handler with null superclass
([#&#8203;8984](DataDog/dd-trace-java#8984) -
[@&#8203;smola](https://github.com/smola))
- ✨ Optimize IAST Vulnerability Detection
([#&#8203;8885](DataDog/dd-trace-java#8885) -
[@&#8203;jandro996](https://github.com/jandro996))
#### Application Security Management (WAF)
- ✨ Upgrade libddwaf-java to 15.0.0
([#&#8203;9022](DataDog/dd-trace-java#9022) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
- ✨ Extract RestEasy json body response schemas
([#&#8203;9015](DataDog/dd-trace-java#9015) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extract Jersey json body response schemas
([#&#8203;9014](DataDog/dd-trace-java#9014) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extract Ratpack json body response schemas
([#&#8203;9013](DataDog/dd-trace-java#9013) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Enable API Security by default and make it lazy loading
([#&#8203;9009](DataDog/dd-trace-java#9009) -
[@&#8203;smola](https://github.com/smola))
- ✨ Extract Vert.x json body response schemas
([#&#8203;9001](DataDog/dd-trace-java#9001) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Extract Play json body response schemas
([#&#8203;8995](DataDog/dd-trace-java#8995) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- 🐛 Fix Jackson nodes introspection for request/response schema
extraction
([#&#8203;8980](DataDog/dd-trace-java#8980) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Extract Spring json body response schemas
([#&#8203;8938](DataDog/dd-trace-java#8938) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
- ✨ Default obfuscation regexp update
([#&#8203;8937](DataDog/dd-trace-java#8937) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
#### Build & Tooling
- ✨ Cancel GitLab running pipeline on new PR push
([#&#8203;9023](DataDog/dd-trace-java#9023) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Migrate publishing to Maven Central Portal
([#&#8203;8807](DataDog/dd-trace-java#8807) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
#### Continuous Integration Visibility
- 🐛 Fix Test Optimization to work with JDK 24
([#&#8203;9114](DataDog/dd-trace-java#9114) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add repo root as safe directory on git client creation
([#&#8203;9033](DataDog/dd-trace-java#9033) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Add PR number tag and improve PR information building
([#&#8203;8990](DataDog/dd-trace-java#8990) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Update impacted tests logic
([#&#8203;8923](DataDog/dd-trace-java#8923) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
#### Data Streams Monitoring
- 🧹 Clean up DSM context injection
([#&#8203;8776](DataDog/dd-trace-java#8776) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
#### Database Monitoring
- 🐛 Set trace\_injected in try block
([#&#8203;9025](DataDog/dd-trace-java#9025) -
[@&#8203;natashadada](https://github.com/natashadada))
#### Dynamic Instrumentation
- 🐛 Add source file tracking enable option
([#&#8203;9115](DataDog/dd-trace-java#9115) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add java.util.Date support
([#&#8203;9111](DataDog/dd-trace-java#9111) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Update file probe format
([#&#8203;9047](DataDog/dd-trace-java#9047) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ add safe local var hoisting
([#&#8203;9034](DataDog/dd-trace-java#9034) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🧹 Add new config for debugger upload interval
([#&#8203;8959](DataDog/dd-trace-java#8959) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Enable Code Origin with Dynamic instrumentation
([#&#8203;8940](DataDog/dd-trace-java#8940) -
[@&#8203;jpbempel](https://github.com/jpbempel))
#### ML Observability (LLMObs)
- 💡 LLM Observability SDK
([#&#8203;8781](DataDog/dd-trace-java#8781) -
[@&#8203;gary-huang](https://github.com/gary-huang),
[@&#8203;nayeem-kamal](https://github.com/nayeem-kamal))
#### Metrics
- 🐛 Ensure client stat reporter is started when the agent is not
available at bootstrap
([#&#8203;9082](DataDog/dd-trace-java#9082) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Create metric: appsec.waf.config\_errors
([#&#8203;8394](DataDog/dd-trace-java#8394) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
#### Platform components
- ✨ Introduce environment component
([#&#8203;9071](DataDog/dd-trace-java#9071) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
#### Profiling
- 🐛 Remove annoying warning for smap event parsing
([#&#8203;9119](DataDog/dd-trace-java#9119) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- 🐛 Fix ByteCountingInputStream when reading past EOF
([#&#8203;8988](DataDog/dd-trace-java#8988) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
#### Realtime User Monitoring
- ✨ Add RUM SDK injection for servlet based web servers
([#&#8203;9110](DataDog/dd-trace-java#9110) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer)
[@&#8203;amarziali](https://github.com/amarziali))
#### Telemetry
- ✨ Update the config origin metric to match what it's mapping
([#&#8203;9045](DataDog/dd-trace-java#9045) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
#### Testing
- ✨ Add testing for latest stable version (JDK 24)
([#&#8203;8875](DataDog/dd-trace-java#8875) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
#### Trace context propagation
- 🐛 Fix bug with dropping baggage when
`TracePropagationBehaviorExtract=IGNORE`
([#&#8203;9037](DataDog/dd-trace-java#9037) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- 🐛 Fix ArrayIndexOutOfBoundsException in PercentEscaper
([#&#8203;9032](DataDog/dd-trace-java#9032) -
[@&#8203;mhlidd](https://github.com/mhlidd))
#### Tracer core
- 🐛 Fix `Error` handling for trace interceptors
([#&#8203;9097](DataDog/dd-trace-java#9097) -
[@&#8203;AlexeyKuznetsov-DD](https://github.com/AlexeyKuznetsov-DD))
- 💡 Add wildcard feature for `DD_TRACE_HEADER_TAGS` and enabling
for Http Response headers
([#&#8203;9067](DataDog/dd-trace-java#9067) -
[@&#8203;mhlidd](https://github.com/mhlidd))
#### Tracer public API
- 💡 Add LLM Observability SDK
([#&#8203;8781](DataDog/dd-trace-java#8781) -
[@&#8203;gary-huang](https://github.com/gary-huang))
### Instrumentations
#### Akka instrumentation
- 🐛 Fix NPE in akka-http and pekko-http integrations
([#&#8203;9019](DataDog/dd-trace-java#9019) -
[@&#8203;mcculls](https://github.com/mcculls))
#### Eclipse Vert.x instrumentation
- ✨ Extract Vert.x json body response schemas
([#&#8203;9001](DataDog/dd-trace-java#9001) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Write http.route tag as soon as possible in vert.x
([#&#8203;8952](DataDog/dd-trace-java#8952) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
#### JAX-WS instrumentation
- 💡⚠️ Enable jax-ws integration by default
([#&#8203;9030](DataDog/dd-trace-java#9030) -
[@&#8203;bm1549](https://github.com/bm1549))
- ✨ Extract Jersey json body response schemas
([#&#8203;9014](DataDog/dd-trace-java#9014) -
[@&#8203;jandro996](https://github.com/jandro996))
#### Mule instrumentation
- 🐛 Propagate grizzly http span in filters if nothing is active
([#&#8203;9016](DataDog/dd-trace-java#9016) -
[@&#8203;amarziali](https://github.com/amarziali))
#### Play Framework instrumentation
- ✨ Extract Play json body response schemas
([#&#8203;8995](DataDog/dd-trace-java#8995) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
#### Ratpack instrumentation
- ✨ Extract Ratpack json body response schemas
([#&#8203;9013](DataDog/dd-trace-java#9013) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
#### Spring instrumentation
- ✨ Extract Spring json body response schemas
([#&#8203;8938](DataDog/dd-trace-java#8938) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
</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.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.
---
- [ ] <!-- 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: 649b690d4c9d7dcb572c457f0802b42b8e3e682e
eizus pushed a commit to cdrxyz/misk that referenced this pull request Jul 18, 2026
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[com.google.errorprone:error_prone_annotations](https://errorprone.info)
([source](https://github.com/google/error-prone)) | dependencies |
misk/gradle/libs.versions.toml | gradle | minor | `2.39.0` -> `2.40.0` |
|
[org.apache.commons:commons-lang3](https://commons.apache.org/proper/commons-lang/)
([source](https://gitbox.apache.org/repos/asf/commons-lang.git)) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`3.17.0` -> `3.18.0` |
|
[org.jetbrains.kotlinx.binary-compatibility-validator](https://github.com/Kotlin/binary-compatibility-validator)
| plugin | misk/gradle/libs.versions.toml | gradle | patch | `0.18.0` ->
`0.18.1` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.50.1` -> `1.51.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.77` -> `2.31.78` |
| [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.77` -> `2.31.78` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.77` -> `2.31.78` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.77` -> `2.31.78` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.77` -> `2.31.78` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.77` -> `2.31.78` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.77` -> `2.31.78` |
---
### Release Notes
<details>
<summary>google/error-prone
(com.google.errorprone:error_prone_annotations)</summary>
###
[`v2.40.0`](https://github.com/google/error-prone/releases/tag/v2.40.0):
Error Prone 2.40.0
Changes:
- Bug fixes and improvements
- Releases (including snapshots) have migrated from [OSSRH to the
Central Publisher
Portal](https://central.sonatype.org/pages/ossrh-eol/#process-to-migrate)
Full changelog:
google/error-prone@v2.39.0...v2.40.0
</details>
<details>
<summary>Kotlin/binary-compatibility-validator
(org.jetbrains.kotlinx.binary-compatibility-validator)</summary>
###
[`v0.18.1`](https://github.com/Kotlin/binary-compatibility-validator/releases/tag/0.18.1)
[Compare
Source](Kotlin/binary-compatibility-validator@0.18.0...0.18.1)
#### What's Changed
- Fixed a bug preventing use of cross-compilation support during KLIB
dump validation
\[[#&#8203;304](https://github.com/Kotlin/binary-compatibility-validator/issues/304)]\[[#&#8203;306](https://github.com/Kotlin/binary-compatibility-validator/issues/306)]
</details>
<details>
<summary>datadog/dd-trace-java (com.datadoghq:dd-trace-api)</summary>
###
[`v1.51.0`](https://github.com/DataDog/dd-trace-java/releases/tag/v1.51.0):
1.51.0
### Components
#### Application Security Management (IAST)
- 🐛 Fix verify error when ctor params are used after a call site
([#&#8203;9083](DataDog/dd-trace-java#9083) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- 🐛 Limit the maximum size of the location path in IAST
vulnerabilities
([#&#8203;9028](DataDog/dd-trace-java#9028) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Fix IAST gRPC handler with null superclass
([#&#8203;8984](DataDog/dd-trace-java#8984) -
[@&#8203;smola](https://github.com/smola))
- ✨ Optimize IAST Vulnerability Detection
([#&#8203;8885](DataDog/dd-trace-java#8885) -
[@&#8203;jandro996](https://github.com/jandro996))
#### Application Security Management (WAF)
- ✨ Upgrade libddwaf-java to 15.0.0
([#&#8203;9022](DataDog/dd-trace-java#9022) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
- ✨ Extract RestEasy json body response schemas
([#&#8203;9015](DataDog/dd-trace-java#9015) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extract Jersey json body response schemas
([#&#8203;9014](DataDog/dd-trace-java#9014) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extract Ratpack json body response schemas
([#&#8203;9013](DataDog/dd-trace-java#9013) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Enable API Security by default and make it lazy loading
([#&#8203;9009](DataDog/dd-trace-java#9009) -
[@&#8203;smola](https://github.com/smola))
- ✨ Extract Vert.x json body response schemas
([#&#8203;9001](DataDog/dd-trace-java#9001) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Extract Play json body response schemas
([#&#8203;8995](DataDog/dd-trace-java#8995) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- 🐛 Fix Jackson nodes introspection for request/response schema
extraction
([#&#8203;8980](DataDog/dd-trace-java#8980) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Extract Spring json body response schemas
([#&#8203;8938](DataDog/dd-trace-java#8938) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
- ✨ Default obfuscation regexp update
([#&#8203;8937](DataDog/dd-trace-java#8937) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
#### Build & Tooling
- ✨ Cancel GitLab running pipeline on new PR push
([#&#8203;9023](DataDog/dd-trace-java#9023) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Migrate publishing to Maven Central Portal
([#&#8203;8807](DataDog/dd-trace-java#8807) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
#### Continuous Integration Visibility
- 🐛 Fix Test Optimization to work with JDK 24
([#&#8203;9114](DataDog/dd-trace-java#9114) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add repo root as safe directory on git client creation
([#&#8203;9033](DataDog/dd-trace-java#9033) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Add PR number tag and improve PR information building
([#&#8203;8990](DataDog/dd-trace-java#8990) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Update impacted tests logic
([#&#8203;8923](DataDog/dd-trace-java#8923) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
#### Data Streams Monitoring
- 🧹 Clean up DSM context injection
([#&#8203;8776](DataDog/dd-trace-java#8776) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
#### Database Monitoring
- 🐛 Set trace\_injected in try block
([#&#8203;9025](DataDog/dd-trace-java#9025) -
[@&#8203;natashadada](https://github.com/natashadada))
#### Dynamic Instrumentation
- 🐛 Add source file tracking enable option
([#&#8203;9115](DataDog/dd-trace-java#9115) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add java.util.Date support
([#&#8203;9111](DataDog/dd-trace-java#9111) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Update file probe format
([#&#8203;9047](DataDog/dd-trace-java#9047) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ add safe local var hoisting
([#&#8203;9034](DataDog/dd-trace-java#9034) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🧹 Add new config for debugger upload interval
([#&#8203;8959](DataDog/dd-trace-java#8959) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Enable Code Origin with Dynamic instrumentation
([#&#8203;8940](DataDog/dd-trace-java#8940) -
[@&#8203;jpbempel](https://github.com/jpbempel))
#### ML Observability (LLMObs)
- 💡 LLM Observability SDK
([#&#8203;8781](DataDog/dd-trace-java#8781) -
[@&#8203;gary-huang](https://github.com/gary-huang),
[@&#8203;nayeem-kamal](https://github.com/nayeem-kamal))
#### Metrics
- 🐛 Ensure client stat reporter is started when the agent is not
available at bootstrap
([#&#8203;9082](DataDog/dd-trace-java#9082) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Create metric: appsec.waf.config\_errors
([#&#8203;8394](DataDog/dd-trace-java#8394) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
#### Platform components
- ✨ Introduce environment component
([#&#8203;9071](DataDog/dd-trace-java#9071) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
#### Profiling
- 🐛 Remove annoying warning for smap event parsing
([#&#8203;9119](DataDog/dd-trace-java#9119) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- 🐛 Fix ByteCountingInputStream when reading past EOF
([#&#8203;8988](DataDog/dd-trace-java#8988) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
#### Realtime User Monitoring
- ✨ Add RUM SDK injection for servlet based web servers
([#&#8203;9110](DataDog/dd-trace-java#9110) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer)
[@&#8203;amarziali](https://github.com/amarziali))
#### Telemetry
- ✨ Update the config origin metric to match what it's mapping
([#&#8203;9045](DataDog/dd-trace-java#9045) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
#### Testing
- ✨ Add testing for latest stable version (JDK 24)
([#&#8203;8875](DataDog/dd-trace-java#8875) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
#### Trace context propagation
- 🐛 Fix bug with dropping baggage when
`TracePropagationBehaviorExtract=IGNORE`
([#&#8203;9037](DataDog/dd-trace-java#9037) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- 🐛 Fix ArrayIndexOutOfBoundsException in PercentEscaper
([#&#8203;9032](DataDog/dd-trace-java#9032) -
[@&#8203;mhlidd](https://github.com/mhlidd))
#### Tracer core
- 🐛 Fix `Error` handling for trace interceptors
([#&#8203;9097](DataDog/dd-trace-java#9097) -
[@&#8203;AlexeyKuznetsov-DD](https://github.com/AlexeyKuznetsov-DD))
- 💡 Add wildcard feature for `DD_TRACE_HEADER_TAGS` and enabling
for Http Response headers
([#&#8203;9067](DataDog/dd-trace-java#9067) -
[@&#8203;mhlidd](https://github.com/mhlidd))
#### Tracer public API
- 💡 Add LLM Observability SDK
([#&#8203;8781](DataDog/dd-trace-java#8781) -
[@&#8203;gary-huang](https://github.com/gary-huang))
### Instrumentations
#### Akka instrumentation
- 🐛 Fix NPE in akka-http and pekko-http integrations
([#&#8203;9019](DataDog/dd-trace-java#9019) -
[@&#8203;mcculls](https://github.com/mcculls))
#### Eclipse Vert.x instrumentation
- ✨ Extract Vert.x json body response schemas
([#&#8203;9001](DataDog/dd-trace-java#9001) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Write http.route tag as soon as possible in vert.x
([#&#8203;8952](DataDog/dd-trace-java#8952) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
#### JAX-WS instrumentation
- 💡⚠️ Enable jax-ws integration by default
([#&#8203;9030](DataDog/dd-trace-java#9030) -
[@&#8203;bm1549](https://github.com/bm1549))
- ✨ Extract Jersey json body response schemas
([#&#8203;9014](DataDog/dd-trace-java#9014) -
[@&#8203;jandro996](https://github.com/jandro996))
#### Mule instrumentation
- 🐛 Propagate grizzly http span in filters if nothing is active
([#&#8203;9016](DataDog/dd-trace-java#9016) -
[@&#8203;amarziali](https://github.com/amarziali))
#### Play Framework instrumentation
- ✨ Extract Play json body response schemas
([#&#8203;8995](DataDog/dd-trace-java#8995) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
#### Ratpack instrumentation
- ✨ Extract Ratpack json body response schemas
([#&#8203;9013](DataDog/dd-trace-java#9013) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
#### Spring instrumentation
- ✨ Extract Spring json body response schemas
([#&#8203;8938](DataDog/dd-trace-java#8938) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
</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.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.
---
- [ ] <!-- 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: 649b690d4c9d7dcb572c457f0802b42b8e3e682e
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: asm wafApplication Security Management (WAF)inst: springSpring instrumentationtype: featureEnhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@sezen-datadog@jandro996@manuel-alvarez-alvarez