Skip to content

Write http.route tag as soon as possible in vert.x #8952

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 23, 2025

Conversation

manuel-alvarez-alvarez
Copy link
Member

@manuel-alvarez-alvarez manuel-alvarez-alvarez commented Jun 10, 2025

What Does This Do

Writes the http.route tag as soon as possible in Vert.x instead of waiting until the end of the request.

Motivation

API security needs access to the current route in order to make its sampling decision when extracting request/response schemas. Current implementation delays the computing of the route until the end of the request which is too late causing all requests to be sampled out.

Additional Notes

Contributor Checklist

Jira ticket: APPSEC-56870 APPSEC-56871

@manuel-alvarez-alvarez manuel-alvarez-alvarez added the type: enhancement Enhancements and improvements label Jun 10, 2025
@manuel-alvarez-alvarez manuel-alvarez-alvarez requested a review from a team as a code owner June 10, 2025 08:01
@manuel-alvarez-alvarez manuel-alvarez-alvarez added the inst: vertx Eclipse Vert.x instrumentation label Jun 10, 2025
@manuel-alvarez-alvarez manuel-alvarez-alvarez requested a review from a team as a code owner June 10, 2025 08:01
@pr-commenter
Copy link

pr-commenter bot commented Jun 10, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master malvarez/vertx-http-route
git_commit_date 1750674740 1750674856
git_commit_sha 8e58785 d5eeb4d
release_version 1.51.0-SNAPSHOT~8e587850a2 1.51.0-SNAPSHOT~d5eeb4d0d4
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1750676795 1750676795
ci_job_id 993155027 993155027
ci_pipeline_id 68445481 68445481
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zazkytx-project-304-concurrent-0-vvekysf8 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zazkytx-project-304-concurrent-0-vvekysf8 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None

Summary

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

Startup time reports for insecure-bank
Loading
gantt
    title insecure-bank - global startup overhead: candidate=1.51.0-SNAPSHOT~d5eeb4d0d4, baseline=1.51.0-SNAPSHOT~8e587850a2

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.027 s) : 0, 1027094
Total [baseline] (8.552 s) : 0, 8552349
Agent [candidate] (1.034 s) : 0, 1034460
Total [candidate] (8.577 s) : 0, 8577468
section iast
Agent [baseline] (1.16 s) : 0, 1160024
Total [baseline] (9.213 s) : 0, 9213273
Agent [candidate] (1.163 s) : 0, 1162850
Total [candidate] (9.251 s) : 0, 9250624
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.027 s -
Agent iast 1.16 s 132.93 ms (12.9%)
Total tracing 8.552 s -
Total iast 9.213 s 660.924 ms (7.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.034 s -
Agent iast 1.163 s 128.391 ms (12.4%)
Total tracing 8.577 s -
Total iast 9.251 s 673.156 ms (7.8%)
Loading
gantt
    title insecure-bank - break down per module: candidate=1.51.0-SNAPSHOT~d5eeb4d0d4, baseline=1.51.0-SNAPSHOT~8e587850a2

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (688.398 ms) : 0, 688398
BytebuddyAgent [candidate] (692.556 ms) : 0, 692556
GlobalTracer [baseline] (241.619 ms) : 0, 241619
GlobalTracer [candidate] (244.996 ms) : 0, 244996
AppSec [baseline] (57.263 ms) : 0, 57263
AppSec [candidate] (59.155 ms) : 0, 59155
Debugger [baseline] (7.046 ms) : 0, 7046
Debugger [candidate] (7.024 ms) : 0, 7024
Remote Config [baseline] (683.767 µs) : 0, 684
Remote Config [candidate] (673.941 µs) : 0, 674
Telemetry [baseline] (11.17 ms) : 0, 11170
Telemetry [candidate] (9.054 ms) : 0, 9054
section iast
BytebuddyAgent [baseline] (811.785 ms) : 0, 811785
BytebuddyAgent [candidate] (813.317 ms) : 0, 813317
GlobalTracer [baseline] (232.96 ms) : 0, 232960
GlobalTracer [candidate] (233.958 ms) : 0, 233958
IAST [baseline] (28.781 ms) : 0, 28781
IAST [candidate] (28.893 ms) : 0, 28893
AppSec [baseline] (51.074 ms) : 0, 51074
AppSec [candidate] (50.94 ms) : 0, 50940
Debugger [baseline] (5.945 ms) : 0, 5945
Debugger [candidate] (5.995 ms) : 0, 5995
Remote Config [baseline] (619.469 µs) : 0, 619
Remote Config [candidate] (620.212 µs) : 0, 620
Telemetry [baseline] (8.012 ms) : 0, 8012
Telemetry [candidate] (8.182 ms) : 0, 8182
Startup time reports for petclinic
Loading
gantt
    title petclinic - global startup overhead: candidate=1.51.0-SNAPSHOT~d5eeb4d0d4, baseline=1.51.0-SNAPSHOT~8e587850a2

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.033 s) : 0, 1032949
Total [baseline] (10.578 s) : 0, 10578331
Agent [candidate] (1.03 s) : 0, 1029508
Total [candidate] (10.556 s) : 0, 10555913
section appsec
Agent [baseline] (1.176 s) : 0, 1176190
Total [baseline] (10.757 s) : 0, 10756889
Agent [candidate] (1.194 s) : 0, 1194240
Total [candidate] (10.757 s) : 0, 10757238
section iast
Agent [baseline] (1.155 s) : 0, 1155062
Total [baseline] (10.87 s) : 0, 10869898
Agent [candidate] (1.161 s) : 0, 1161143
Total [candidate] (10.91 s) : 0, 10910156
section profiling
Agent [baseline] (1.274 s) : 0, 1273790
Total [baseline] (11.01 s) : 0, 11009559
Agent [candidate] (1.276 s) : 0, 1275790
Total [candidate] (10.933 s) : 0, 10933449
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.033 s -
Agent appsec 1.176 s 143.241 ms (13.9%)
Agent iast 1.155 s 122.113 ms (11.8%)
Agent profiling 1.274 s 240.841 ms (23.3%)
Total tracing 10.578 s -
Total appsec 10.757 s 178.557 ms (1.7%)
Total iast 10.87 s 291.567 ms (2.8%)
Total profiling 11.01 s 431.228 ms (4.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.03 s -
Agent appsec 1.194 s 164.732 ms (16.0%)
Agent iast 1.161 s 131.634 ms (12.8%)
Agent profiling 1.276 s 246.282 ms (23.9%)
Total tracing 10.556 s -
Total appsec 10.757 s 201.325 ms (1.9%)
Total iast 10.91 s 354.242 ms (3.4%)
Total profiling 10.933 s 377.536 ms (3.6%)
Loading
gantt
    title petclinic - break down per module: candidate=1.51.0-SNAPSHOT~d5eeb4d0d4, baseline=1.51.0-SNAPSHOT~8e587850a2

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (692.237 ms) : 0, 692237
BytebuddyAgent [candidate] (690.025 ms) : 0, 690025
GlobalTracer [baseline] (245.038 ms) : 0, 245038
GlobalTracer [candidate] (242.672 ms) : 0, 242672
AppSec [baseline] (57.813 ms) : 0, 57813
AppSec [candidate] (57.82 ms) : 0, 57820
Debugger [baseline] (7.034 ms) : 0, 7034
Debugger [candidate] (6.2 ms) : 0, 6200
Remote Config [baseline] (696.063 µs) : 0, 696
Remote Config [candidate] (661.165 µs) : 0, 661
Telemetry [baseline] (9.06 ms) : 0, 9060
Telemetry [candidate] (11.139 ms) : 0, 11139
section appsec
BytebuddyAgent [baseline] (706.697 ms) : 0, 706697
BytebuddyAgent [candidate] (719.217 ms) : 0, 719217
GlobalTracer [baseline] (234.502 ms) : 0, 234502
GlobalTracer [candidate] (238.15 ms) : 0, 238150
IAST [baseline] (21.852 ms) : 0, 21852
IAST [candidate] (22.328 ms) : 0, 22328
AppSec [baseline] (178.743 ms) : 0, 178743
AppSec [candidate] (179.617 ms) : 0, 179617
Debugger [baseline] (5.755 ms) : 0, 5755
Debugger [candidate] (5.861 ms) : 0, 5861
Remote Config [baseline] (603.728 µs) : 0, 604
Remote Config [candidate] (615.36 µs) : 0, 615
Telemetry [baseline] (7.269 ms) : 0, 7269
Telemetry [candidate] (7.405 ms) : 0, 7405
section iast
BytebuddyAgent [baseline] (807.741 ms) : 0, 807741
BytebuddyAgent [candidate] (812.675 ms) : 0, 812675
GlobalTracer [baseline] (232.579 ms) : 0, 232579
GlobalTracer [candidate] (233.131 ms) : 0, 233131
IAST [baseline] (28.425 ms) : 0, 28425
IAST [candidate] (26.933 ms) : 0, 26933
AppSec [baseline] (50.793 ms) : 0, 50793
AppSec [candidate] (52.759 ms) : 0, 52759
Debugger [baseline] (5.954 ms) : 0, 5954
Debugger [candidate] (5.938 ms) : 0, 5938
Remote Config [baseline] (620.224 µs) : 0, 620
Remote Config [candidate] (619.09 µs) : 0, 619
Telemetry [baseline] (8.047 ms) : 0, 8047
Telemetry [candidate] (8.063 ms) : 0, 8063
section profiling
BytebuddyAgent [baseline] (676.844 ms) : 0, 676844
BytebuddyAgent [candidate] (681.507 ms) : 0, 681507
GlobalTracer [baseline] (362.842 ms) : 0, 362842
GlobalTracer [candidate] (362.8 ms) : 0, 362800
AppSec [baseline] (62.471 ms) : 0, 62471
AppSec [candidate] (62.275 ms) : 0, 62275
Debugger [baseline] (6.206 ms) : 0, 6206
Debugger [candidate] (6.159 ms) : 0, 6159
Remote Config [baseline] (703.3 µs) : 0, 703
Remote Config [candidate] (698.006 µs) : 0, 698
Telemetry [baseline] (8.239 ms) : 0, 8239
Telemetry [candidate] (8.131 ms) : 0, 8131
ProfilingAgent [baseline] (107.877 ms) : 0, 107877
ProfilingAgent [candidate] (105.33 ms) : 0, 105330
Profiling [baseline] (107.901 ms) : 0, 107901
Profiling [candidate] (105.354 ms) : 0, 105354

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master malvarez/vertx-http-route
git_commit_date 1750674740 1750674856
git_commit_sha 8e58785 d5eeb4d
release_version 1.51.0-SNAPSHOT~8e587850a2 1.51.0-SNAPSHOT~d5eeb4d0d4
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1750676480 1750676480
ci_job_id 993155029 993155029
ci_pipeline_id 68445481 68445481
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zazkytx-project-304-concurrent-1-41d5b7a3 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zazkytx-project-304-concurrent-1-41d5b7a3 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 3 performance improvements and 1 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:high_load better
[-542.537µs; -221.810µs] or [-5.843%; -2.389%]
unstable
[-41.602op/s; +83.602op/s] or [-8.321%; +16.721%]
8.903ms 520.969op/s 9.286ms 499.969op/s
scenario:load:petclinic:no_agent:high_load better
[-1.670ms; -1.022ms] or [-4.426%; -2.711%]
unstable
[-4.581op/s; +13.806op/s] or [-3.697%; +11.141%]
36.374ms 128.537op/s 37.720ms 123.925op/s
scenario:load:petclinic:tracing:high_load better
[-2.518ms; -1.776ms] or [-5.739%; -4.047%]
unstable
[-2.502op/s; +13.552op/s] or [-2.347%; +12.716%]
41.732ms 112.100op/s 43.879ms 106.575op/s
scenario:load:petclinic:code_origins:high_load worse
[+3.288ms; +4.053ms] or [+7.673%; +9.458%]
unstable
[-16.359op/s; -0.766op/s] or [-14.984%; -0.702%]
46.523ms 100.612op/s 42.853ms 109.175op/s
Request duration reports for insecure-bank
Loading
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.51.0-SNAPSHOT~d5eeb4d0d4, baseline=1.51.0-SNAPSHOT~8e587850a2
    dateFormat X
    axisFormat %s
section baseline
no_agent (4.343 ms) : 4292, 4394
.   : milestone, 4343,
iast (9.286 ms) : 9135, 9436
.   : milestone, 9286,
iast_FULL (13.709 ms) : 13444, 13974
.   : milestone, 13709,
iast_GLOBAL (10.17 ms) : 9993, 10346
.   : milestone, 10170,
profiling (8.55 ms) : 8418, 8682
.   : milestone, 8550,
tracing (7.837 ms) : 7725, 7949
.   : milestone, 7837,
section candidate
no_agent (4.355 ms) : 4295, 4416
.   : milestone, 4355,
iast (8.903 ms) : 8756, 9051
.   : milestone, 8903,
iast_FULL (13.804 ms) : 13532, 14075
.   : milestone, 13804,
iast_GLOBAL (9.831 ms) : 9662, 10000
.   : milestone, 9831,
profiling (8.679 ms) : 8549, 8809
.   : milestone, 8679,
tracing (7.702 ms) : 7580, 7824
.   : milestone, 7702,
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.343 ms [4.292 ms, 4.394 ms] -
iast 9.286 ms [9.135 ms, 9.436 ms] 4.943 ms (113.8%)
iast_FULL 13.709 ms [13.444 ms, 13.974 ms] 9.366 ms (215.7%)
iast_GLOBAL 10.17 ms [9.993 ms, 10.346 ms] 5.827 ms (134.2%)
profiling 8.55 ms [8.418 ms, 8.682 ms] 4.207 ms (96.9%)
tracing 7.837 ms [7.725 ms, 7.949 ms] 3.494 ms (80.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.355 ms [4.295 ms, 4.416 ms] -
iast 8.903 ms [8.756 ms, 9.051 ms] 4.548 ms (104.4%)
iast_FULL 13.804 ms [13.532 ms, 14.075 ms] 9.448 ms (216.9%)
iast_GLOBAL 9.831 ms [9.662 ms, 10.0 ms] 5.476 ms (125.7%)
profiling 8.679 ms [8.549 ms, 8.809 ms] 4.324 ms (99.3%)
tracing 7.702 ms [7.58 ms, 7.824 ms] 3.347 ms (76.8%)
Request duration reports for petclinic
Loading
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.51.0-SNAPSHOT~d5eeb4d0d4, baseline=1.51.0-SNAPSHOT~8e587850a2
    dateFormat X
    axisFormat %s
section baseline
no_agent (37.72 ms) : 37413, 38028
.   : milestone, 37720,
appsec (47.305 ms) : 46906, 47704
.   : milestone, 47305,
code_origins (42.853 ms) : 42505, 43201
.   : milestone, 42853,
iast (45.072 ms) : 44704, 45440
.   : milestone, 45072,
profiling (48.783 ms) : 48345, 49221
.   : milestone, 48783,
tracing (43.879 ms) : 43522, 44236
.   : milestone, 43879,
section candidate
no_agent (36.374 ms) : 36081, 36668
.   : milestone, 36374,
appsec (47.384 ms) : 46963, 47805
.   : milestone, 47384,
code_origins (46.523 ms) : 46160, 46886
.   : milestone, 46523,
iast (44.488 ms) : 44104, 44872
.   : milestone, 44488,
profiling (48.55 ms) : 48096, 49005
.   : milestone, 48550,
tracing (41.732 ms) : 41400, 42064
.   : milestone, 41732,
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 37.72 ms [37.413 ms, 38.028 ms] -
appsec 47.305 ms [46.906 ms, 47.704 ms] 9.585 ms (25.4%)
code_origins 42.853 ms [42.505 ms, 43.201 ms] 5.132 ms (13.6%)
iast 45.072 ms [44.704 ms, 45.44 ms] 7.352 ms (19.5%)
profiling 48.783 ms [48.345 ms, 49.221 ms] 11.063 ms (29.3%)
tracing 43.879 ms [43.522 ms, 44.236 ms] 6.159 ms (16.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 36.374 ms [36.081 ms, 36.668 ms] -
appsec 47.384 ms [46.963 ms, 47.805 ms] 11.01 ms (30.3%)
code_origins 46.523 ms [46.16 ms, 46.886 ms] 10.149 ms (27.9%)
iast 44.488 ms [44.104 ms, 44.872 ms] 8.114 ms (22.3%)
profiling 48.55 ms [48.096 ms, 49.005 ms] 12.176 ms (33.5%)
tracing 41.732 ms [41.4 ms, 42.064 ms] 5.358 ms (14.7%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master malvarez/vertx-http-route
git_commit_date 1750674740 1750674856
git_commit_sha 8e58785 d5eeb4d
release_version 1.51.0-SNAPSHOT~8e587850a2 1.51.0-SNAPSHOT~d5eeb4d0d4
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1750676939 1750676939
ci_job_id 993155030 993155030
ci_pipeline_id 68445481 68445481
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-ecr1ksdw-project-304-concurrent-3-jfglqynj 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-ecr1ksdw-project-304-concurrent-3-jfglqynj 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 12 metrics, 0 unstable metrics.

Execution time for biojava
Loading
gantt
    title biojava - execution time [CI 0.99] : candidate=1.51.0-SNAPSHOT~d5eeb4d0d4, baseline=1.51.0-SNAPSHOT~8e587850a2
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.73 s) : 15730000, 15730000
.   : milestone, 15730000,
appsec (14.824 s) : 14824000, 14824000
.   : milestone, 14824000,
iast (18.536 s) : 18536000, 18536000
.   : milestone, 18536000,
iast_GLOBAL (17.919 s) : 17919000, 17919000
.   : milestone, 17919000,
profiling (14.994 s) : 14994000, 14994000
.   : milestone, 14994000,
tracing (14.909 s) : 14909000, 14909000
.   : milestone, 14909000,
section candidate
no_agent (15.547 s) : 15547000, 15547000
.   : milestone, 15547000,
appsec (14.99 s) : 14990000, 14990000
.   : milestone, 14990000,
iast (19.05 s) : 19050000, 19050000
.   : milestone, 19050000,
iast_GLOBAL (18.037 s) : 18037000, 18037000
.   : milestone, 18037000,
profiling (15.349 s) : 15349000, 15349000
.   : milestone, 15349000,
tracing (15.113 s) : 15113000, 15113000
.   : milestone, 15113000,
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.73 s [15.73 s, 15.73 s] -
appsec 14.824 s [14.824 s, 14.824 s] -906.0 ms (-5.8%)
iast 18.536 s [18.536 s, 18.536 s] 2.806 s (17.8%)
iast_GLOBAL 17.919 s [17.919 s, 17.919 s] 2.189 s (13.9%)
profiling 14.994 s [14.994 s, 14.994 s] -736.0 ms (-4.7%)
tracing 14.909 s [14.909 s, 14.909 s] -821.0 ms (-5.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.547 s [15.547 s, 15.547 s] -
appsec 14.99 s [14.99 s, 14.99 s] -557.0 ms (-3.6%)
iast 19.05 s [19.05 s, 19.05 s] 3.503 s (22.5%)
iast_GLOBAL 18.037 s [18.037 s, 18.037 s] 2.49 s (16.0%)
profiling 15.349 s [15.349 s, 15.349 s] -198.0 ms (-1.3%)
tracing 15.113 s [15.113 s, 15.113 s] -434.0 ms (-2.8%)
Execution time for tomcat
Loading
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.51.0-SNAPSHOT~d5eeb4d0d4, baseline=1.51.0-SNAPSHOT~8e587850a2
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.473 ms) : 1462, 1485
.   : milestone, 1473,
appsec (2.396 ms) : 2348, 2444
.   : milestone, 2396,
iast (2.195 ms) : 2134, 2257
.   : milestone, 2195,
iast_GLOBAL (2.23 ms) : 2168, 2291
.   : milestone, 2230,
profiling (2.039 ms) : 1989, 2089
.   : milestone, 2039,
tracing (2.004 ms) : 1957, 2051
.   : milestone, 2004,
section candidate
no_agent (1.486 ms) : 1474, 1497
.   : milestone, 1486,
appsec (2.403 ms) : 2355, 2452
.   : milestone, 2403,
iast (2.192 ms) : 2131, 2253
.   : milestone, 2192,
iast_GLOBAL (2.227 ms) : 2166, 2289
.   : milestone, 2227,
profiling (2.025 ms) : 1977, 2074
.   : milestone, 2025,
tracing (2.012 ms) : 1965, 2060
.   : milestone, 2012,
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.473 ms [1.462 ms, 1.485 ms] -
appsec 2.396 ms [2.348 ms, 2.444 ms] 922.883 µs (62.6%)
iast 2.195 ms [2.134 ms, 2.257 ms] 722.045 µs (49.0%)
iast_GLOBAL 2.23 ms [2.168 ms, 2.291 ms] 756.355 µs (51.3%)
profiling 2.039 ms [1.989 ms, 2.089 ms] 566.013 µs (38.4%)
tracing 2.004 ms [1.957 ms, 2.051 ms] 530.622 µs (36.0%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.486 ms [1.474 ms, 1.497 ms] -
appsec 2.403 ms [2.355 ms, 2.452 ms] 917.783 µs (61.8%)
iast 2.192 ms [2.131 ms, 2.253 ms] 706.077 µs (47.5%)
iast_GLOBAL 2.227 ms [2.166 ms, 2.289 ms] 741.833 µs (49.9%)
profiling 2.025 ms [1.977 ms, 2.074 ms] 539.799 µs (36.3%)
tracing 2.012 ms [1.965 ms, 2.06 ms] 526.643 µs (35.4%)

@manuel-alvarez-alvarez manuel-alvarez-alvarez force-pushed the malvarez/vertx-http-route branch 4 times, most recently from ad0bc38 to 7c8620c Compare June 23, 2025 07:11
@manuel-alvarez-alvarez manuel-alvarez-alvarez requested a review from a team as a code owner June 23, 2025 07:11
@manuel-alvarez-alvarez manuel-alvarez-alvarez changed the base branch from master to malvarez/appsec-instrospect-jackson June 23, 2025 07:12
Base automatically changed from malvarez/appsec-instrospect-jackson to master June 23, 2025 10:32
@manuel-alvarez-alvarez manuel-alvarez-alvarez merged commit 1f2b612 into master Jun 23, 2025
484 checks passed
@manuel-alvarez-alvarez manuel-alvarez-alvarez deleted the malvarez/vertx-http-route branch June 23, 2025 18:56
@github-actions github-actions bot added this to the 1.51.0 milestone Jun 23, 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
inst: vertx Eclipse Vert.x instrumentation type: enhancement Enhancements and improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants