Skip to content

Do not override route with / in vertx instrumentation #8881

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
May 28, 2025
Merged

Conversation

vandonr
Copy link
Contributor

@vandonr vandonr commented May 26, 2025

What Does This Do

prevent vertx instrumentation from overriding http route if it has already been set by an other instrumentation AND it was going to set the route to /, in which case we know we're not going to do better than whatever is already there.

TODO: add a test

Motivation

customer report

Additional Notes

adding a unit test looks... not easy

Contributor Checklist

Jira ticket: APMS-15882

@pr-commenter
Copy link

pr-commenter bot commented May 26, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master vandonr/fix
git_commit_date 1746789389 1748253289
git_commit_sha ad6d5fe 4e0dbb1
release_version 1.50.0-SNAPSHOT~ad6d5fef42 1.50.0-SNAPSHOT~4e0dbb1433
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1748255727 1748255727
ci_job_id 953809745 953809745
ci_pipeline_id 66093588 66093588
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-x26imq8j-project-304-concurrent-0-pmo1uzbx 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-x26imq8j-project-304-concurrent-0-pmo1uzbx 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None
variant iast iast

Summary

Found 3 performance improvements and 1 performance regressions! Performance is the same for 54 metrics, 13 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:petclinic:profiling:ProfilingAgent better
[-9.501ms; -3.885ms] or [-8.634%; -3.531%]
103.350ms 110.044ms
scenario:startup:petclinic:profiling:GlobalTracer better
[-24.099ms; -10.775ms] or [-6.338%; -2.834%]
362.779ms 380.217ms
scenario:startup:petclinic:profiling:AppSec worse
[+5.084ms; +9.045ms] or [+9.231%; +16.425%]
62.134ms 55.069ms
scenario:startup:petclinic:profiling:Profiling better
[-9.503ms; -3.887ms] or [-8.634%; -3.531%]
103.374ms 110.069ms
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.50.0-SNAPSHOT~4e0dbb1433, baseline=1.50.0-SNAPSHOT~ad6d5fef42

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.019 s) : 0, 1019261
Total [baseline] (8.642 s) : 0, 8641937
Agent [candidate] (1.02 s) : 0, 1020095
Total [candidate] (8.645 s) : 0, 8645200
section iast
Agent [baseline] (1.161 s) : 0, 1161040
Total [baseline] (9.263 s) : 0, 9262884
Agent [candidate] (1.148 s) : 0, 1148479
Total [candidate] (9.223 s) : 0, 9222783
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.159 s) : 0, 1159302
Total [baseline] (9.229 s) : 0, 9229182
Agent [candidate] (1.149 s) : 0, 1149104
Total [candidate] (9.164 s) : 0, 9163596
section iast_TELEMETRY_OFF
Agent [baseline] (1.144 s) : 0, 1144082
Total [baseline] (9.204 s) : 0, 9204077
Agent [candidate] (1.148 s) : 0, 1148188
Total [candidate] (9.233 s) : 0, 9232800
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.019 s -
Agent iast 1.161 s 141.779 ms (13.9%)
Agent iast_HARDCODED_SECRET_DISABLED 1.159 s 140.041 ms (13.7%)
Agent iast_TELEMETRY_OFF 1.144 s 124.821 ms (12.2%)
Total tracing 8.642 s -
Total iast 9.263 s 620.946 ms (7.2%)
Total iast_HARDCODED_SECRET_DISABLED 9.229 s 587.245 ms (6.8%)
Total iast_TELEMETRY_OFF 9.204 s 562.139 ms (6.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.02 s -
Agent iast 1.148 s 128.384 ms (12.6%)
Agent iast_HARDCODED_SECRET_DISABLED 1.149 s 129.009 ms (12.6%)
Agent iast_TELEMETRY_OFF 1.148 s 128.093 ms (12.6%)
Total tracing 8.645 s -
Total iast 9.223 s 577.583 ms (6.7%)
Total iast_HARDCODED_SECRET_DISABLED 9.164 s 518.396 ms (6.0%)
Total iast_TELEMETRY_OFF 9.233 s 587.6 ms (6.8%)
gantt
    title insecure-bank - break down per module: candidate=1.50.0-SNAPSHOT~4e0dbb1433, baseline=1.50.0-SNAPSHOT~ad6d5fef42

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (682.002 ms) : 0, 682002
BytebuddyAgent [candidate] (681.178 ms) : 0, 681178
GlobalTracer [baseline] (239.454 ms) : 0, 239454
GlobalTracer [candidate] (239.94 ms) : 0, 239940
AppSec [baseline] (54.299 ms) : 0, 54299
AppSec [candidate] (56.021 ms) : 0, 56021
Debugger [baseline] (7.526 ms) : 0, 7526
Debugger [candidate] (9.776 ms) : 0, 9776
Remote Config [baseline] (702.088 µs) : 0, 702
Remote Config [candidate] (700.382 µs) : 0, 700
Telemetry [baseline] (11.893 ms) : 0, 11893
Telemetry [candidate] (9.015 ms) : 0, 9015
section iast
BytebuddyAgent [baseline] (810.011 ms) : 0, 810011
BytebuddyAgent [candidate] (801.53 ms) : 0, 801530
GlobalTracer [baseline] (233.233 ms) : 0, 233233
GlobalTracer [candidate] (230.865 ms) : 0, 230865
IAST [baseline] (30.38 ms) : 0, 30380
IAST [candidate] (29.033 ms) : 0, 29033
AppSec [baseline] (49.149 ms) : 0, 49149
AppSec [candidate] (49.226 ms) : 0, 49226
Debugger [baseline] (5.988 ms) : 0, 5988
Debugger [candidate] (5.866 ms) : 0, 5866
Remote Config [baseline] (614.264 µs) : 0, 614
Remote Config [candidate] (579.082 µs) : 0, 579
Telemetry [baseline] (8.011 ms) : 0, 8011
Telemetry [candidate] (7.818 ms) : 0, 7818
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (810.068 ms) : 0, 810068
BytebuddyAgent [candidate] (801.875 ms) : 0, 801875
GlobalTracer [baseline] (232.011 ms) : 0, 232011
GlobalTracer [candidate] (231.2 ms) : 0, 231200
IAST [baseline] (27.588 ms) : 0, 27588
IAST [candidate] (28.177 ms) : 0, 28177
AppSec [baseline] (50.754 ms) : 0, 50754
AppSec [candidate] (50.035 ms) : 0, 50035
Debugger [baseline] (5.938 ms) : 0, 5938
Debugger [candidate] (5.863 ms) : 0, 5863
Remote Config [baseline] (590.538 µs) : 0, 591
Remote Config [candidate] (583.572 µs) : 0, 584
Telemetry [baseline] (7.948 ms) : 0, 7948
Telemetry [candidate] (7.811 ms) : 0, 7811
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (797.322 ms) : 0, 797322
BytebuddyAgent [candidate] (800.006 ms) : 0, 800006
GlobalTracer [baseline] (230.258 ms) : 0, 230258
GlobalTracer [candidate] (231.803 ms) : 0, 231803
IAST [baseline] (22.523 ms) : 0, 22523
IAST [candidate] (23.225 ms) : 0, 23225
AppSec [baseline] (56.041 ms) : 0, 56041
AppSec [candidate] (55.219 ms) : 0, 55219
Debugger [baseline] (5.963 ms) : 0, 5963
Debugger [candidate] (5.957 ms) : 0, 5957
Remote Config [baseline] (609.608 µs) : 0, 610
Remote Config [candidate] (601.635 µs) : 0, 602
Telemetry [baseline] (7.867 ms) : 0, 7867
Telemetry [candidate] (7.871 ms) : 0, 7871
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.50.0-SNAPSHOT~4e0dbb1433, baseline=1.50.0-SNAPSHOT~ad6d5fef42

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.021 s) : 0, 1020809
Total [baseline] (10.425 s) : 0, 10425004
Agent [candidate] (1.021 s) : 0, 1021011
Total [candidate] (10.483 s) : 0, 10482507
section appsec
Agent [baseline] (1.161 s) : 0, 1160991
Total [baseline] (10.694 s) : 0, 10694314
Agent [candidate] (1.17 s) : 0, 1169763
Total [candidate] (10.651 s) : 0, 10651314
section iast
Agent [baseline] (1.159 s) : 0, 1158764
Total [baseline] (10.866 s) : 0, 10865697
Agent [candidate] (1.161 s) : 0, 1161237
Total [candidate] (10.852 s) : 0, 10852321
section profiling
Agent [baseline] (1.29 s) : 0, 1290325
Total [baseline] (10.997 s) : 0, 10997210
Agent [candidate] (1.277 s) : 0, 1276653
Total [candidate] (10.825 s) : 0, 10825201
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.021 s -
Agent appsec 1.161 s 140.182 ms (13.7%)
Agent iast 1.159 s 137.955 ms (13.5%)
Agent profiling 1.29 s 269.516 ms (26.4%)
Total tracing 10.425 s -
Total appsec 10.694 s 269.31 ms (2.6%)
Total iast 10.866 s 440.694 ms (4.2%)
Total profiling 10.997 s 572.206 ms (5.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.021 s -
Agent appsec 1.17 s 148.752 ms (14.6%)
Agent iast 1.161 s 140.226 ms (13.7%)
Agent profiling 1.277 s 255.642 ms (25.0%)
Total tracing 10.483 s -
Total appsec 10.651 s 168.807 ms (1.6%)
Total iast 10.852 s 369.814 ms (3.5%)
Total profiling 10.825 s 342.694 ms (3.3%)
gantt
    title petclinic - break down per module: candidate=1.50.0-SNAPSHOT~4e0dbb1433, baseline=1.50.0-SNAPSHOT~ad6d5fef42

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (683.408 ms) : 0, 683408
BytebuddyAgent [candidate] (683.455 ms) : 0, 683455
GlobalTracer [baseline] (240.353 ms) : 0, 240353
GlobalTracer [candidate] (241.051 ms) : 0, 241051
AppSec [baseline] (54.821 ms) : 0, 54821
AppSec [candidate] (54.577 ms) : 0, 54577
Debugger [baseline] (9.02 ms) : 0, 9020
Debugger [candidate] (8.417 ms) : 0, 8417
Remote Config [baseline] (677.848 µs) : 0, 678
Remote Config [candidate] (706.788 µs) : 0, 707
Telemetry [baseline] (8.97 ms) : 0, 8970
Telemetry [candidate] (9.176 ms) : 0, 9176
section appsec
BytebuddyAgent [baseline] (700.444 ms) : 0, 700444
BytebuddyAgent [candidate] (705.919 ms) : 0, 705919
GlobalTracer [baseline] (236.71 ms) : 0, 236710
GlobalTracer [candidate] (238.75 ms) : 0, 238750
IAST [baseline] (21.741 ms) : 0, 21741
IAST [candidate] (21.967 ms) : 0, 21967
AppSec [baseline] (174.812 ms) : 0, 174812
AppSec [candidate] (176.071 ms) : 0, 176071
Debugger [baseline] (5.932 ms) : 0, 5932
Debugger [candidate] (5.958 ms) : 0, 5958
Remote Config [baseline] (622.171 µs) : 0, 622
Remote Config [candidate] (621.482 µs) : 0, 621
Telemetry [baseline] (8.093 ms) : 0, 8093
Telemetry [candidate] (7.798 ms) : 0, 7798
section iast
BytebuddyAgent [baseline] (810.121 ms) : 0, 810121
BytebuddyAgent [candidate] (809.443 ms) : 0, 809443
GlobalTracer [baseline] (232.009 ms) : 0, 232009
GlobalTracer [candidate] (233.599 ms) : 0, 233599
IAST [baseline] (29.253 ms) : 0, 29253
IAST [candidate] (27.451 ms) : 0, 27451
AppSec [baseline] (48.616 ms) : 0, 48616
AppSec [candidate] (51.869 ms) : 0, 51869
Debugger [baseline] (5.889 ms) : 0, 5889
Debugger [candidate] (5.998 ms) : 0, 5998
Remote Config [baseline] (589.536 µs) : 0, 590
Remote Config [candidate] (631.455 µs) : 0, 631
Telemetry [baseline] (7.874 ms) : 0, 7874
Telemetry [candidate] (7.957 ms) : 0, 7957
section profiling
BytebuddyAgent [baseline] (678.931 ms) : 0, 678931
BytebuddyAgent [candidate] (681.949 ms) : 0, 681949
GlobalTracer [baseline] (380.217 ms) : 0, 380217
GlobalTracer [candidate] (362.779 ms) : 0, 362779
AppSec [baseline] (55.069 ms) : 0, 55069
AppSec [candidate] (62.134 ms) : 0, 62134
Debugger [baseline] (6.194 ms) : 0, 6194
Debugger [candidate] (6.296 ms) : 0, 6296
Remote Config [baseline] (660.723 µs) : 0, 661
Remote Config [candidate] (669.806 µs) : 0, 670
Telemetry [baseline] (8.175 ms) : 0, 8175
Telemetry [candidate] (8.287 ms) : 0, 8287
ProfilingAgent [baseline] (110.044 ms) : 0, 110044
ProfilingAgent [candidate] (103.35 ms) : 0, 103350
Profiling [baseline] (110.069 ms) : 0, 110069
Profiling [candidate] (103.374 ms) : 0, 103374
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-05-26T10:06:39 2025-05-26T10:14:25
git_branch master vandonr/fix
git_commit_date 1746789389 1748253289
git_commit_sha ad6d5fe 4e0dbb1
release_version 1.50.0-SNAPSHOT~ad6d5fef42 1.50.0-SNAPSHOT~4e0dbb1433
start_time 2025-05-26T10:06:25 2025-05-26T10:14:11
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1748254866 1748254866
ci_job_id 953809746 953809746
ci_pipeline_id 66093588 66093588
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-a5ynt5bs-project-304-concurrent-2-yynfbgs5 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-a5ynt5bs-project-304-concurrent-2-yynfbgs5 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant iast iast

Summary

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

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~4e0dbb1433, baseline=1.50.0-SNAPSHOT~ad6d5fef42
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.372 ms) : 1353, 1392
.   : milestone, 1372,
appsec (1.725 ms) : 1702, 1749
.   : milestone, 1725,
appsec_no_iast (1.734 ms) : 1711, 1757
.   : milestone, 1734,
code_origins (1.669 ms) : 1642, 1696
.   : milestone, 1669,
iast (1.539 ms) : 1514, 1563
.   : milestone, 1539,
profiling (1.544 ms) : 1519, 1569
.   : milestone, 1544,
tracing (1.496 ms) : 1471, 1522
.   : milestone, 1496,
section candidate
no_agent (1.376 ms) : 1355, 1396
.   : milestone, 1376,
appsec (1.734 ms) : 1710, 1757
.   : milestone, 1734,
appsec_no_iast (1.739 ms) : 1715, 1763
.   : milestone, 1739,
code_origins (1.68 ms) : 1652, 1707
.   : milestone, 1680,
iast (1.522 ms) : 1498, 1546
.   : milestone, 1522,
profiling (1.537 ms) : 1511, 1562
.   : milestone, 1537,
tracing (1.5 ms) : 1475, 1526
.   : milestone, 1500,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.372 ms [1.353 ms, 1.392 ms] -
appsec 1.725 ms [1.702 ms, 1.749 ms] 353.056 µs (25.7%)
appsec_no_iast 1.734 ms [1.711 ms, 1.757 ms] 361.607 µs (26.4%)
code_origins 1.669 ms [1.642 ms, 1.696 ms] 296.959 µs (21.6%)
iast 1.539 ms [1.514 ms, 1.563 ms] 166.747 µs (12.2%)
profiling 1.544 ms [1.519 ms, 1.569 ms] 172.167 µs (12.5%)
tracing 1.496 ms [1.471 ms, 1.522 ms] 124.059 µs (9.0%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.376 ms [1.355 ms, 1.396 ms] -
appsec 1.734 ms [1.71 ms, 1.757 ms] 357.921 µs (26.0%)
appsec_no_iast 1.739 ms [1.715 ms, 1.763 ms] 362.878 µs (26.4%)
code_origins 1.68 ms [1.652 ms, 1.707 ms] 303.991 µs (22.1%)
iast 1.522 ms [1.498 ms, 1.546 ms] 146.173 µs (10.6%)
profiling 1.537 ms [1.511 ms, 1.562 ms] 160.847 µs (11.7%)
tracing 1.5 ms [1.475 ms, 1.526 ms] 124.603 µs (9.1%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.50.0-SNAPSHOT~4e0dbb1433, baseline=1.50.0-SNAPSHOT~ad6d5fef42
    dateFormat X
    axisFormat %s
section baseline
no_agent (389.001 µs) : 367, 411
.   : milestone, 389,
iast (530.187 µs) : 507, 554
.   : milestone, 530,
iast_FULL (740.455 µs) : 718, 763
.   : milestone, 740,
iast_GLOBAL (563.533 µs) : 542, 585
.   : milestone, 564,
iast_HARDCODED_SECRET_DISABLED (528.787 µs) : 507, 550
.   : milestone, 529,
iast_INACTIVE (473.188 µs) : 450, 496
.   : milestone, 473,
iast_TELEMETRY_OFF (506.748 µs) : 483, 531
.   : milestone, 507,
tracing (465.54 µs) : 443, 488
.   : milestone, 466,
section candidate
no_agent (382.398 µs) : 362, 402
.   : milestone, 382,
iast (525.22 µs) : 503, 547
.   : milestone, 525,
iast_FULL (736.648 µs) : 715, 759
.   : milestone, 737,
iast_GLOBAL (584.825 µs) : 562, 608
.   : milestone, 585,
iast_HARDCODED_SECRET_DISABLED (527.249 µs) : 504, 550
.   : milestone, 527,
iast_INACTIVE (471.76 µs) : 449, 494
.   : milestone, 472,
iast_TELEMETRY_OFF (520.893 µs) : 498, 544
.   : milestone, 521,
tracing (466.76 µs) : 445, 489
.   : milestone, 467,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 389.001 µs [367.357 µs, 410.645 µs] -
iast 530.187 µs [506.814 µs, 553.561 µs] 141.187 µs (36.3%)
iast_FULL 740.455 µs [718.382 µs, 762.528 µs] 351.454 µs (90.3%)
iast_GLOBAL 563.533 µs [541.872 µs, 585.194 µs] 174.532 µs (44.9%)
iast_HARDCODED_SECRET_DISABLED 528.787 µs [507.152 µs, 550.422 µs] 139.786 µs (35.9%)
iast_INACTIVE 473.188 µs [450.046 µs, 496.33 µs] 84.187 µs (21.6%)
iast_TELEMETRY_OFF 506.748 µs [482.984 µs, 530.512 µs] 117.747 µs (30.3%)
tracing 465.54 µs [442.923 µs, 488.158 µs] 76.539 µs (19.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 382.398 µs [362.383 µs, 402.413 µs] -
iast 525.22 µs [502.947 µs, 547.494 µs] 142.823 µs (37.3%)
iast_FULL 736.648 µs [714.606 µs, 758.691 µs] 354.251 µs (92.6%)
iast_GLOBAL 584.825 µs [561.798 µs, 607.853 µs] 202.428 µs (52.9%)
iast_HARDCODED_SECRET_DISABLED 527.249 µs [504.018 µs, 550.48 µs] 144.851 µs (37.9%)
iast_INACTIVE 471.76 µs [449.376 µs, 494.144 µs] 89.362 µs (23.4%)
iast_TELEMETRY_OFF 520.893 µs [497.616 µs, 544.169 µs] 138.495 µs (36.2%)
tracing 466.76 µs [444.657 µs, 488.863 µs] 84.362 µs (22.1%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master vandonr/fix
git_commit_date 1746789389 1748253289
git_commit_sha ad6d5fe 4e0dbb1
release_version 1.50.0-SNAPSHOT~ad6d5fef42 1.50.0-SNAPSHOT~4e0dbb1433
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1748255371 1748255371
ci_job_id 953809747 953809747
ci_pipeline_id 66093588 66093588
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-x26imq8j-project-304-concurrent-1-5hzruhoc 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-x26imq8j-project-304-concurrent-1-5hzruhoc 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
variant appsec appsec

Summary

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

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.50.0-SNAPSHOT~4e0dbb1433, baseline=1.50.0-SNAPSHOT~ad6d5fef42
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.469 ms) : 1457, 1480
.   : milestone, 1469,
appsec (2.385 ms) : 2337, 2433
.   : milestone, 2385,
iast (2.16 ms) : 2100, 2221
.   : milestone, 2160,
iast_GLOBAL (2.209 ms) : 2148, 2271
.   : milestone, 2209,
profiling (2.04 ms) : 1989, 2090
.   : milestone, 2040,
tracing (1.992 ms) : 1944, 2039
.   : milestone, 1992,
section candidate
no_agent (1.47 ms) : 1458, 1481
.   : milestone, 1470,
appsec (2.389 ms) : 2340, 2437
.   : milestone, 2389,
iast (2.173 ms) : 2113, 2234
.   : milestone, 2173,
iast_GLOBAL (2.21 ms) : 2149, 2271
.   : milestone, 2210,
profiling (2.038 ms) : 1988, 2088
.   : milestone, 2038,
tracing (1.992 ms) : 1945, 2039
.   : milestone, 1992,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.469 ms [1.457 ms, 1.48 ms] -
appsec 2.385 ms [2.337 ms, 2.433 ms] 916.285 µs (62.4%)
iast 2.16 ms [2.1 ms, 2.221 ms] 691.469 µs (47.1%)
iast_GLOBAL 2.209 ms [2.148 ms, 2.271 ms] 740.575 µs (50.4%)
profiling 2.04 ms [1.989 ms, 2.09 ms] 570.896 µs (38.9%)
tracing 1.992 ms [1.944 ms, 2.039 ms] 522.779 µs (35.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.47 ms [1.458 ms, 1.481 ms] -
appsec 2.389 ms [2.34 ms, 2.437 ms] 918.801 µs (62.5%)
iast 2.173 ms [2.113 ms, 2.234 ms] 703.632 µs (47.9%)
iast_GLOBAL 2.21 ms [2.149 ms, 2.271 ms] 740.177 µs (50.4%)
profiling 2.038 ms [1.988 ms, 2.088 ms] 568.246 µs (38.7%)
tracing 1.992 ms [1.945 ms, 2.039 ms] 522.374 µs (35.5%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.50.0-SNAPSHOT~4e0dbb1433, baseline=1.50.0-SNAPSHOT~ad6d5fef42
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.406 s) : 15406000, 15406000
.   : milestone, 15406000,
appsec (15.117 s) : 15117000, 15117000
.   : milestone, 15117000,
iast (19.252 s) : 19252000, 19252000
.   : milestone, 19252000,
iast_GLOBAL (17.943 s) : 17943000, 17943000
.   : milestone, 17943000,
profiling (14.858 s) : 14858000, 14858000
.   : milestone, 14858000,
tracing (15.047 s) : 15047000, 15047000
.   : milestone, 15047000,
section candidate
no_agent (15.198 s) : 15198000, 15198000
.   : milestone, 15198000,
appsec (15.017 s) : 15017000, 15017000
.   : milestone, 15017000,
iast (18.534 s) : 18534000, 18534000
.   : milestone, 18534000,
iast_GLOBAL (18.131 s) : 18131000, 18131000
.   : milestone, 18131000,
profiling (15.547 s) : 15547000, 15547000
.   : milestone, 15547000,
tracing (15.079 s) : 15079000, 15079000
.   : milestone, 15079000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.406 s [15.406 s, 15.406 s] -
appsec 15.117 s [15.117 s, 15.117 s] -289.0 ms (-1.9%)
iast 19.252 s [19.252 s, 19.252 s] 3.846 s (25.0%)
iast_GLOBAL 17.943 s [17.943 s, 17.943 s] 2.537 s (16.5%)
profiling 14.858 s [14.858 s, 14.858 s] -548.0 ms (-3.6%)
tracing 15.047 s [15.047 s, 15.047 s] -359.0 ms (-2.3%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.198 s [15.198 s, 15.198 s] -
appsec 15.017 s [15.017 s, 15.017 s] -181.0 ms (-1.2%)
iast 18.534 s [18.534 s, 18.534 s] 3.336 s (22.0%)
iast_GLOBAL 18.131 s [18.131 s, 18.131 s] 2.933 s (19.3%)
profiling 15.547 s [15.547 s, 15.547 s] 349.0 ms (2.3%)
tracing 15.079 s [15.079 s, 15.079 s] -119.0 ms (-0.8%)

@vandonr vandonr marked this pull request as ready for review May 26, 2025 13:05
@vandonr vandonr requested a review from a team as a code owner May 26, 2025 13:05
Copy link
Contributor

Hi! 👋 Thanks for your pull request! 🎉

To help us review it, please make sure to:

  • Add at least one type, and one component or instrumentation label to the pull request

If you need help, please check our contributing guidelines.

@vandonr vandonr added type: bug inst: vertx Eclipse Vert.x instrumentation labels May 26, 2025
Copy link
Collaborator

@amarziali amarziali left a comment

Choose a reason for hiding this comment

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

Looks OK. We know that's an issue and it's a safe way to fix it. Since test are not there perhaps it's good to have a more detailed comment on the code

@vandonr vandonr merged commit 57a462e into master May 28, 2025
529 of 534 checks passed
@vandonr vandonr deleted the vandonr/fix branch May 28, 2025 15:24
@github-actions github-actions bot added this to the 1.50.0 milestone May 28, 2025
@PerfectSlayer PerfectSlayer changed the title don't override route with / in vertx instrumentation Do not override route with / in vertx instrumentation Jun 20, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jun 20, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.49.0` -> `1.50.0` |

---

### Release Notes

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

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

### Deprecation Notice

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

### Components

#### Application Security Management (WAF)

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

#### Build & Tooling

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

#### Continuous Integration Visibility

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

#### Data Streams Monitoring

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

#### Dynamic Instrumentation

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

#### GraalVM native-image

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

#### JMX fetch

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

#### Library Injection

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

#### OpenTracing

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

#### Profiling

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

#### Telemetry

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

#### Trace context propagation

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

#### Tracer core

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

#### Tracer internal logging

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

#### Tracer public API

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

### Instrumentations

#### AWS Lambda instrumentation

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

#### Core Java language instrumentation

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

#### Eclipse Vert.x instrumentation

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

#### IBM Liberty

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

#### JDBC instrumentation

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

#### JMS instrumentation

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

#### Kotlin instrumentation

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

#### OpenTelemetry instrumentation

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

#### Play Framework instrumentation

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

#### Quarkus Instrumentation

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

#### ServiceTalk

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

#### Spring instrumentation

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

#### WebSocket Instrumentation

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

#### Zio Instrumentation

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

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

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

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

---

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

---

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

GitOrigin-RevId: 9207366cdb6a1bd098082305d354a0a3c4622d7a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
inst: vertx Eclipse Vert.x instrumentation type: bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants