Skip to content

Fix ForkJoinPool.execute() instrumentation on Java 21+ #8560

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 2 commits into from
Mar 14, 2025

Conversation

PerfectSlayer
Copy link
Contributor

@PerfectSlayer PerfectSlayer commented Mar 14, 2025

What Does This Do

Fix a regression in ForkJoinPool instrumentation introduced by the structure concurrency API instrumentation triggered only when running on Java 21 an above.

Also improve the newly introduced smoke tests to check the concurrency API instrumentation with a full tracer (running all conflicting instrumentations at the same time, unlike instrumentation tests) to:

  • Add Java 21 concurrency API tests (VirtualThread)
  • Refactor the original test in a Java 8 sub-module
  • Add more Java 8 tests related to ForkJoinPool (testing both task and external APIs)

Motivation

Make sure the JDK concurrent API are fully covered as their instrumentations interact with each others.

Additional Notes

Java 21 module only was painful to put in place as most of our build plugins don't support it.

Contributor Checklist

Jira ticket: APMS-14483

@PerfectSlayer PerfectSlayer added type: bug inst: java Core Java language instrumentation labels Mar 14, 2025
@PerfectSlayer PerfectSlayer requested review from a team as code owners March 14, 2025 09:06
@pr-commenter
Copy link

pr-commenter bot commented Mar 14, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bbujon/apms-14483
git_commit_date 1741898004 1741942466
git_commit_sha 56d8cd8 b01cedb
release_version 1.48.0-SNAPSHOT~56d8cd82bc 1.48.0-SNAPSHOT~b01cedb12e
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1741945166 1741945166
ci_job_id 847932475 847932475
ci_pipeline_id 58814880 58814880
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-3nhalxzn-project-304-concurrent-0-zq7katbq 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-3nhalxzn-project-304-concurrent-0-zq7katbq 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None
variant iast iast

Summary

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

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:petclinic:tracing:Remote Config worse
[+17.398µs; +42.940µs] or [+2.561%; +6.322%]
709.400µs 679.231µs
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.48.0-SNAPSHOT~b01cedb12e, baseline=1.48.0-SNAPSHOT~56d8cd82bc

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.046 s) : 0, 1045605
Total [baseline] (8.666 s) : 0, 8665961
Agent [candidate] (1.041 s) : 0, 1041342
Total [candidate] (8.678 s) : 0, 8678446
section iast
Agent [baseline] (1.174 s) : 0, 1173870
Total [baseline] (9.274 s) : 0, 9274387
Agent [candidate] (1.172 s) : 0, 1171992
Total [candidate] (9.243 s) : 0, 9242832
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.181 s) : 0, 1180778
Total [baseline] (9.22 s) : 0, 9219980
Agent [candidate] (1.172 s) : 0, 1172427
Total [candidate] (9.205 s) : 0, 9205366
section iast_TELEMETRY_OFF
Agent [baseline] (1.175 s) : 0, 1175072
Total [baseline] (9.241 s) : 0, 9240648
Agent [candidate] (1.167 s) : 0, 1167201
Total [candidate] (9.241 s) : 0, 9240840
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.046 s -
Agent iast 1.174 s 128.265 ms (12.3%)
Agent iast_HARDCODED_SECRET_DISABLED 1.181 s 135.173 ms (12.9%)
Agent iast_TELEMETRY_OFF 1.175 s 129.467 ms (12.4%)
Total tracing 8.666 s -
Total iast 9.274 s 608.426 ms (7.0%)
Total iast_HARDCODED_SECRET_DISABLED 9.22 s 554.018 ms (6.4%)
Total iast_TELEMETRY_OFF 9.241 s 574.687 ms (6.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.041 s -
Agent iast 1.172 s 130.65 ms (12.5%)
Agent iast_HARDCODED_SECRET_DISABLED 1.172 s 131.085 ms (12.6%)
Agent iast_TELEMETRY_OFF 1.167 s 125.858 ms (12.1%)
Total tracing 8.678 s -
Total iast 9.243 s 564.386 ms (6.5%)
Total iast_HARDCODED_SECRET_DISABLED 9.205 s 526.92 ms (6.1%)
Total iast_TELEMETRY_OFF 9.241 s 562.394 ms (6.5%)
gantt
    title insecure-bank - break down per module: candidate=1.48.0-SNAPSHOT~b01cedb12e, baseline=1.48.0-SNAPSHOT~56d8cd82bc

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (723.959 ms) : 0, 723959
BytebuddyAgent [candidate] (719.154 ms) : 0, 719154
GlobalTracer [baseline] (240.109 ms) : 0, 240109
GlobalTracer [candidate] (239.918 ms) : 0, 239918
AppSec [baseline] (54.554 ms) : 0, 54554
AppSec [candidate] (55.282 ms) : 0, 55282
Remote Config [baseline] (694.076 µs) : 0, 694
Remote Config [candidate] (702.432 µs) : 0, 702
Telemetry [baseline] (10.927 ms) : 0, 10927
Telemetry [candidate] (11.417 ms) : 0, 11417
section iast
BytebuddyAgent [baseline] (839.707 ms) : 0, 839707
BytebuddyAgent [candidate] (837.681 ms) : 0, 837681
GlobalTracer [baseline] (230.712 ms) : 0, 230712
GlobalTracer [candidate] (230.596 ms) : 0, 230596
IAST [baseline] (22.713 ms) : 0, 22713
IAST [candidate] (22.71 ms) : 0, 22710
AppSec [baseline] (56.116 ms) : 0, 56116
AppSec [candidate] (56.837 ms) : 0, 56837
Remote Config [baseline] (609.178 µs) : 0, 609
Remote Config [candidate] (613.143 µs) : 0, 613
Telemetry [baseline] (8.696 ms) : 0, 8696
Telemetry [candidate] (8.661 ms) : 0, 8661
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (844.294 ms) : 0, 844294
BytebuddyAgent [candidate] (837.805 ms) : 0, 837805
GlobalTracer [baseline] (231.724 ms) : 0, 231724
GlobalTracer [candidate] (230.875 ms) : 0, 230875
IAST [baseline] (23.097 ms) : 0, 23097
IAST [candidate] (24.311 ms) : 0, 24311
AppSec [baseline] (56.78 ms) : 0, 56780
AppSec [candidate] (55.233 ms) : 0, 55233
Remote Config [baseline] (606.164 µs) : 0, 606
Remote Config [candidate] (612.104 µs) : 0, 612
Telemetry [baseline] (8.863 ms) : 0, 8863
Telemetry [candidate] (8.674 ms) : 0, 8674
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (839.865 ms) : 0, 839865
BytebuddyAgent [candidate] (833.246 ms) : 0, 833246
GlobalTracer [baseline] (230.987 ms) : 0, 230987
GlobalTracer [candidate] (229.66 ms) : 0, 229660
IAST [baseline] (22.658 ms) : 0, 22658
IAST [candidate] (22.514 ms) : 0, 22514
AppSec [baseline] (56.721 ms) : 0, 56721
AppSec [candidate] (57.637 ms) : 0, 57637
Remote Config [baseline] (625.223 µs) : 0, 625
Remote Config [candidate] (627.691 µs) : 0, 628
Telemetry [baseline] (8.795 ms) : 0, 8795
Telemetry [candidate] (8.648 ms) : 0, 8648
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.48.0-SNAPSHOT~b01cedb12e, baseline=1.48.0-SNAPSHOT~56d8cd82bc

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.043 s) : 0, 1042591
Total [baseline] (10.535 s) : 0, 10535359
Agent [candidate] (1.049 s) : 0, 1048780
Total [candidate] (10.562 s) : 0, 10561995
section appsec
Agent [baseline] (1.183 s) : 0, 1183306
Total [baseline] (10.761 s) : 0, 10760918
Agent [candidate] (1.187 s) : 0, 1187177
Total [candidate] (10.783 s) : 0, 10783009
section iast
Agent [baseline] (1.175 s) : 0, 1175474
Total [baseline] (11.054 s) : 0, 11053512
Agent [candidate] (1.177 s) : 0, 1176806
Total [candidate] (11.081 s) : 0, 11080858
section profiling
Agent [baseline] (1.263 s) : 0, 1263018
Total [baseline] (10.851 s) : 0, 10850672
Agent [candidate] (1.263 s) : 0, 1262607
Total [candidate] (10.856 s) : 0, 10856389
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.043 s -
Agent appsec 1.183 s 140.715 ms (13.5%)
Agent iast 1.175 s 132.883 ms (12.7%)
Agent profiling 1.263 s 220.427 ms (21.1%)
Total tracing 10.535 s -
Total appsec 10.761 s 225.559 ms (2.1%)
Total iast 11.054 s 518.153 ms (4.9%)
Total profiling 10.851 s 315.313 ms (3.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.049 s -
Agent appsec 1.187 s 138.397 ms (13.2%)
Agent iast 1.177 s 128.027 ms (12.2%)
Agent profiling 1.263 s 213.827 ms (20.4%)
Total tracing 10.562 s -
Total appsec 10.783 s 221.014 ms (2.1%)
Total iast 11.081 s 518.863 ms (4.9%)
Total profiling 10.856 s 294.394 ms (2.8%)
gantt
    title petclinic - break down per module: candidate=1.48.0-SNAPSHOT~b01cedb12e, baseline=1.48.0-SNAPSHOT~56d8cd82bc

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (719.039 ms) : 0, 719039
BytebuddyAgent [candidate] (723.192 ms) : 0, 723192
GlobalTracer [baseline] (240.12 ms) : 0, 240120
GlobalTracer [candidate] (241.283 ms) : 0, 241283
AppSec [baseline] (54.622 ms) : 0, 54622
AppSec [candidate] (55.49 ms) : 0, 55490
Remote Config [baseline] (679.231 µs) : 0, 679
Remote Config [candidate] (709.4 µs) : 0, 709
Telemetry [baseline] (12.905 ms) : 0, 12905
Telemetry [candidate] (13.138 ms) : 0, 13138
section appsec
BytebuddyAgent [baseline] (736.207 ms) : 0, 736207
BytebuddyAgent [candidate] (738.882 ms) : 0, 738882
GlobalTracer [baseline] (235.746 ms) : 0, 235746
GlobalTracer [candidate] (237.634 ms) : 0, 237634
IAST [baseline] (21.353 ms) : 0, 21353
IAST [candidate] (21.556 ms) : 0, 21556
AppSec [baseline] (176.503 ms) : 0, 176503
AppSec [candidate] (175.931 ms) : 0, 175931
Remote Config [baseline] (661.114 µs) : 0, 661
Remote Config [candidate] (671.901 µs) : 0, 672
Telemetry [baseline] (8.272 ms) : 0, 8272
Telemetry [candidate] (8.366 ms) : 0, 8366
section iast
BytebuddyAgent [baseline] (838.905 ms) : 0, 838905
BytebuddyAgent [candidate] (841.496 ms) : 0, 841496
GlobalTracer [baseline] (232.537 ms) : 0, 232537
GlobalTracer [candidate] (231.483 ms) : 0, 231483
IAST [baseline] (22.755 ms) : 0, 22755
IAST [candidate] (22.798 ms) : 0, 22798
AppSec [baseline] (56.723 ms) : 0, 56723
AppSec [candidate] (56.787 ms) : 0, 56787
Remote Config [baseline] (620.799 µs) : 0, 621
Remote Config [candidate] (607.685 µs) : 0, 608
Telemetry [baseline] (8.724 ms) : 0, 8724
Telemetry [candidate] (8.725 ms) : 0, 8725
section profiling
BytebuddyAgent [baseline] (710.589 ms) : 0, 710589
BytebuddyAgent [candidate] (711.713 ms) : 0, 711713
GlobalTracer [baseline] (351.138 ms) : 0, 351138
GlobalTracer [candidate] (350.496 ms) : 0, 350496
AppSec [baseline] (54.246 ms) : 0, 54246
AppSec [candidate] (54.271 ms) : 0, 54271
Remote Config [baseline] (684.49 µs) : 0, 684
Remote Config [candidate] (683.805 µs) : 0, 684
Telemetry [baseline] (9.003 ms) : 0, 9003
Telemetry [candidate] (8.891 ms) : 0, 8891
ProfilingAgent [baseline] (96.567 ms) : 0, 96567
ProfilingAgent [candidate] (96.217 ms) : 0, 96217
Profiling [baseline] (96.594 ms) : 0, 96594
Profiling [candidate] (96.241 ms) : 0, 96241
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-03-14T09:09:32 2025-03-14T09:17:14
git_branch master bbujon/apms-14483
git_commit_date 1741898004 1741942466
git_commit_sha 56d8cd8 b01cedb
release_version 1.48.0-SNAPSHOT~56d8cd82bc 1.48.0-SNAPSHOT~b01cedb12e
start_time 2025-03-14T09:09:18 2025-03-14T09:17:00
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1741944231 1741944231
ci_job_id 847932476 847932476
ci_pipeline_id 58814880 58814880
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-ksrjxfus-project-304-concurrent-0-z3yrxtto 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-ksrjxfus-project-304-concurrent-0-z3yrxtto 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 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 13 metrics, 17 unstable metrics.

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~b01cedb12e, baseline=1.48.0-SNAPSHOT~56d8cd82bc
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.36 ms) : 1340, 1380
.   : milestone, 1360,
appsec (1.716 ms) : 1691, 1740
.   : milestone, 1716,
appsec_no_iast (1.757 ms) : 1733, 1781
.   : milestone, 1757,
code_origins (1.683 ms) : 1656, 1711
.   : milestone, 1683,
iast (1.501 ms) : 1476, 1526
.   : milestone, 1501,
profiling (1.505 ms) : 1481, 1529
.   : milestone, 1505,
tracing (1.498 ms) : 1472, 1523
.   : milestone, 1498,
section candidate
no_agent (1.359 ms) : 1340, 1379
.   : milestone, 1359,
appsec (1.725 ms) : 1701, 1748
.   : milestone, 1725,
appsec_no_iast (1.735 ms) : 1710, 1759
.   : milestone, 1735,
code_origins (1.703 ms) : 1677, 1730
.   : milestone, 1703,
iast (1.517 ms) : 1492, 1543
.   : milestone, 1517,
profiling (1.517 ms) : 1493, 1540
.   : milestone, 1517,
tracing (1.477 ms) : 1452, 1503
.   : milestone, 1477,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.36 ms [1.34 ms, 1.38 ms] -
appsec 1.716 ms [1.691 ms, 1.74 ms] 355.795 µs (26.2%)
appsec_no_iast 1.757 ms [1.733 ms, 1.781 ms] 397.202 µs (29.2%)
code_origins 1.683 ms [1.656 ms, 1.711 ms] 323.155 µs (23.8%)
iast 1.501 ms [1.476 ms, 1.526 ms] 140.995 µs (10.4%)
profiling 1.505 ms [1.481 ms, 1.529 ms] 145.049 µs (10.7%)
tracing 1.498 ms [1.472 ms, 1.523 ms] 137.464 µs (10.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.359 ms [1.34 ms, 1.379 ms] -
appsec 1.725 ms [1.701 ms, 1.748 ms] 365.363 µs (26.9%)
appsec_no_iast 1.735 ms [1.71 ms, 1.759 ms] 375.421 µs (27.6%)
code_origins 1.703 ms [1.677 ms, 1.73 ms] 343.913 µs (25.3%)
iast 1.517 ms [1.492 ms, 1.543 ms] 157.97 µs (11.6%)
profiling 1.517 ms [1.493 ms, 1.54 ms] 157.308 µs (11.6%)
tracing 1.477 ms [1.452 ms, 1.503 ms] 118.146 µs (8.7%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.48.0-SNAPSHOT~b01cedb12e, baseline=1.48.0-SNAPSHOT~56d8cd82bc
    dateFormat X
    axisFormat %s
section baseline
no_agent (377.413 µs) : 357, 398
.   : milestone, 377,
iast (507.754 µs) : 486, 530
.   : milestone, 508,
iast_FULL (730.71 µs) : 709, 753
.   : milestone, 731,
iast_GLOBAL (551.116 µs) : 529, 573
.   : milestone, 551,
iast_HARDCODED_SECRET_DISABLED (503.739 µs) : 482, 525
.   : milestone, 504,
iast_INACTIVE (457.148 µs) : 436, 478
.   : milestone, 457,
iast_TELEMETRY_OFF (501.656 µs) : 480, 524
.   : milestone, 502,
tracing (460.352 µs) : 439, 482
.   : milestone, 460,
section candidate
no_agent (380.471 µs) : 361, 400
.   : milestone, 380,
iast (509.772 µs) : 488, 532
.   : milestone, 510,
iast_FULL (724.34 µs) : 702, 746
.   : milestone, 724,
iast_GLOBAL (563.884 µs) : 541, 586
.   : milestone, 564,
iast_HARDCODED_SECRET_DISABLED (515.876 µs) : 494, 538
.   : milestone, 516,
iast_INACTIVE (469.529 µs) : 448, 491
.   : milestone, 470,
iast_TELEMETRY_OFF (495.705 µs) : 473, 518
.   : milestone, 496,
tracing (453.857 µs) : 433, 475
.   : milestone, 454,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 377.413 µs [357.092 µs, 397.733 µs] -
iast 507.754 µs [485.987 µs, 529.521 µs] 130.341 µs (34.5%)
iast_FULL 730.71 µs [708.514 µs, 752.906 µs] 353.297 µs (93.6%)
iast_GLOBAL 551.116 µs [529.389 µs, 572.842 µs] 173.703 µs (46.0%)
iast_HARDCODED_SECRET_DISABLED 503.739 µs [482.164 µs, 525.315 µs] 126.326 µs (33.5%)
iast_INACTIVE 457.148 µs [435.936 µs, 478.36 µs] 79.735 µs (21.1%)
iast_TELEMETRY_OFF 501.656 µs [479.591 µs, 523.72 µs] 124.243 µs (32.9%)
tracing 460.352 µs [439.142 µs, 481.563 µs] 82.939 µs (22.0%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 380.471 µs [360.895 µs, 400.047 µs] -
iast 509.772 µs [487.663 µs, 531.88 µs] 129.301 µs (34.0%)
iast_FULL 724.34 µs [702.276 µs, 746.404 µs] 343.869 µs (90.4%)
iast_GLOBAL 563.884 µs [541.309 µs, 586.459 µs] 183.413 µs (48.2%)
iast_HARDCODED_SECRET_DISABLED 515.876 µs [493.985 µs, 537.767 µs] 135.405 µs (35.6%)
iast_INACTIVE 469.529 µs [447.613 µs, 491.446 µs] 89.058 µs (23.4%)
iast_TELEMETRY_OFF 495.705 µs [472.957 µs, 518.453 µs] 115.234 µs (30.3%)
tracing 453.857 µs [432.973 µs, 474.742 µs] 73.386 µs (19.3%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bbujon/apms-14483
git_commit_date 1741898004 1741942466
git_commit_sha 56d8cd8 b01cedb
release_version 1.48.0-SNAPSHOT~56d8cd82bc 1.48.0-SNAPSHOT~b01cedb12e
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1741944703 1741944703
ci_job_id 847932477 847932477
ci_pipeline_id 58814880 58814880
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-pknbm8x-project-304-concurrent-0-mtmmoooj 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-pknbm8x-project-304-concurrent-0-mtmmoooj 6.8.0-1024-aws #26~22.04.1-Ubuntu SMP Wed Feb 19 06:54:57 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.48.0-SNAPSHOT~b01cedb12e, baseline=1.48.0-SNAPSHOT~56d8cd82bc
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.466 ms) : 1454, 1477
.   : milestone, 1466,
appsec (2.341 ms) : 2297, 2384
.   : milestone, 2341,
iast (2.108 ms) : 2052, 2164
.   : milestone, 2108,
iast_GLOBAL (2.159 ms) : 2103, 2215
.   : milestone, 2159,
profiling (1.954 ms) : 1910, 1998
.   : milestone, 1954,
tracing (1.951 ms) : 1908, 1994
.   : milestone, 1951,
section candidate
no_agent (1.464 ms) : 1453, 1475
.   : milestone, 1464,
appsec (2.341 ms) : 2297, 2385
.   : milestone, 2341,
iast (2.114 ms) : 2059, 2170
.   : milestone, 2114,
iast_GLOBAL (2.166 ms) : 2110, 2222
.   : milestone, 2166,
profiling (1.989 ms) : 1943, 2034
.   : milestone, 1989,
tracing (1.941 ms) : 1898, 1984
.   : milestone, 1941,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.466 ms [1.454 ms, 1.477 ms] -
appsec 2.341 ms [2.297 ms, 2.384 ms] 874.918 µs (59.7%)
iast 2.108 ms [2.052 ms, 2.164 ms] 642.589 µs (43.8%)
iast_GLOBAL 2.159 ms [2.103 ms, 2.215 ms] 693.642 µs (47.3%)
profiling 1.954 ms [1.91 ms, 1.998 ms] 488.385 µs (33.3%)
tracing 1.951 ms [1.908 ms, 1.994 ms] 485.029 µs (33.1%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.464 ms [1.453 ms, 1.475 ms] -
appsec 2.341 ms [2.297 ms, 2.385 ms] 876.562 µs (59.9%)
iast 2.114 ms [2.059 ms, 2.17 ms] 650.044 µs (44.4%)
iast_GLOBAL 2.166 ms [2.11 ms, 2.222 ms] 701.639 µs (47.9%)
profiling 1.989 ms [1.943 ms, 2.034 ms] 524.434 µs (35.8%)
tracing 1.941 ms [1.898 ms, 1.984 ms] 476.856 µs (32.6%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.48.0-SNAPSHOT~b01cedb12e, baseline=1.48.0-SNAPSHOT~56d8cd82bc
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.813 s) : 14813000, 14813000
.   : milestone, 14813000,
appsec (15.206 s) : 15206000, 15206000
.   : milestone, 15206000,
iast (18.745 s) : 18745000, 18745000
.   : milestone, 18745000,
iast_GLOBAL (17.814 s) : 17814000, 17814000
.   : milestone, 17814000,
profiling (15.118 s) : 15118000, 15118000
.   : milestone, 15118000,
tracing (14.847 s) : 14847000, 14847000
.   : milestone, 14847000,
section candidate
no_agent (14.855 s) : 14855000, 14855000
.   : milestone, 14855000,
appsec (14.897 s) : 14897000, 14897000
.   : milestone, 14897000,
iast (18.952 s) : 18952000, 18952000
.   : milestone, 18952000,
iast_GLOBAL (18.393 s) : 18393000, 18393000
.   : milestone, 18393000,
profiling (15.098 s) : 15098000, 15098000
.   : milestone, 15098000,
tracing (14.949 s) : 14949000, 14949000
.   : milestone, 14949000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.813 s [14.813 s, 14.813 s] -
appsec 15.206 s [15.206 s, 15.206 s] 393.0 ms (2.7%)
iast 18.745 s [18.745 s, 18.745 s] 3.932 s (26.5%)
iast_GLOBAL 17.814 s [17.814 s, 17.814 s] 3.001 s (20.3%)
profiling 15.118 s [15.118 s, 15.118 s] 305.0 ms (2.1%)
tracing 14.847 s [14.847 s, 14.847 s] 34.0 ms (0.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.855 s [14.855 s, 14.855 s] -
appsec 14.897 s [14.897 s, 14.897 s] 42.0 ms (0.3%)
iast 18.952 s [18.952 s, 18.952 s] 4.097 s (27.6%)
iast_GLOBAL 18.393 s [18.393 s, 18.393 s] 3.538 s (23.8%)
profiling 15.098 s [15.098 s, 15.098 s] 243.0 ms (1.6%)
tracing 14.949 s [14.949 s, 14.949 s] 94.0 ms (0.6%)

Copy link
Contributor

@mcculls mcculls left a comment

Choose a reason for hiding this comment

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

Nice to see the new smoke tests paying off

@PerfectSlayer PerfectSlayer merged commit bde13e8 into master Mar 14, 2025
255 of 256 checks passed
@PerfectSlayer PerfectSlayer deleted the bbujon/apms-14483 branch March 14, 2025 12:21
@github-actions github-actions bot added this to the 1.48.0 milestone Mar 14, 2025
mtoffl01 pushed a commit that referenced this pull request Mar 24, 2025
* fix(java-concurrent): Fix FJP instrumentation on Java 21+
* feat(java-concurrent): Add smoke tests for Java 21+ concurrent API
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Apr 11, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
| org.flywaydb.flyway | plugin | misk/gradle/libs.versions.toml | gradle
| minor | `11.6.0` -> `11.7.0` |
|
[com.squareup.okio:okio-fakefilesystem](https://github.com/square/okio)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`3.10.2` -> `3.11.0` |
| [com.squareup.okio:okio](https://github.com/square/okio) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`3.10.2` -> `3.11.0` |
|
[com.autonomousapps.dependency-analysis](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin)
| plugin | misk/gradle/libs.versions.toml | gradle | minor | `2.15.0` ->
`2.16.0` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.47.3` -> `1.48.1` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.47.3` -> `1.48.1` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.18` -> `2.31.20` |

---

### Release Notes

<details>
<summary>square/okio (com.squareup.okio:okio-fakefilesystem)</summary>

###
[`v3.11.0`](https://github.com/square/okio/blob/HEAD/CHANGELOG.md#Version-3110)

*2025-04-09*

-   Fix: Clear the deflater's byte array reference
-   New: Faster implementation of `String.decodeHex()` on Kotlin/JS.
- New: Declare `EXACTLY_ONCE` execution for blocks like `Closeable.use
{}` and `FileSystem.read {}`.
-   Upgrade: \[Kotlin 2.1.20]\[kotlin\_2\_1\_20].

</details>

<details>
<summary>autonomousapps/dependency-analysis-android-gradle-plugin
(com.autonomousapps.dependency-analysis)</summary>

###
[`v2.16.0`](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin/blob/HEAD/CHANGELOG.md#Version-2160)

-   \[Feat]: support `com.android.test` projects.
-   \[Feat]: support typesafe project accessors with opt-in.

```kotlin
dependencyAnalysis {
  useTypesafeProjectAccessors(true) // false by default
}
```

</details>

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

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

### Components

#### Tracer internal logging

- 🐛 Remove print line causing unnecessary logs
([#&#8203;8687](DataDog/dd-trace-java#8687) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))

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

### Known Bugs

> \[!NOTE]
> If you are experiencing issues with spamming timeout logs, please
update to the [latest
version](https://github.com/DataDog/dd-trace-java/releases/latest) or
set
[JDK_SOCKET_ENABLED](https://github.com/DataDog/dd-trace-java/blob/33fc3c9a9b7cda3beda88b8b3e5224ae2b10764a/dd-trace-api/src/main/java/datadog/trace/api/config/GeneralConfig.java#L98)
to false.

### Components

#### Application Security Management (IAST)

- ✨ Fix vulnerability location org.jose4j.lang.HashUtil
([#&#8203;8610](DataDog/dd-trace-java#8610) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Fix weak randomness in oracle.ucp.util.OpaqueString
([#&#8203;8609](DataDog/dd-trace-java#8609) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Fix weak hash false positive in
oracle.security.o5logon.O5Logon
([#&#8203;8608](DataDog/dd-trace-java#8608) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Prevent before callsites targeting constructors in super calls
([#&#8203;8549](DataDog/dd-trace-java#8549) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))

#### Application Security Management (WAF)

- ✨ Update login events public SDK to V2
([#&#8203;8620](DataDog/dd-trace-java#8620) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- 🐛 Send RASP LFI capability only when AppSec is statically enabled
([#&#8203;8573](DataDog/dd-trace-java#8573) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Improve detection of missing request end events
([#&#8203;8510](DataDog/dd-trace-java#8510) -
[@&#8203;smola](https://github.com/smola))
- 🧹 Remove remote configuration for API Security sampling rate
([#&#8203;8486](DataDog/dd-trace-java#8486) -
[@&#8203;smola](https://github.com/smola))
- ✨ Add setUser to user monitoring SDK
([#&#8203;8482](DataDog/dd-trace-java#8482) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Add missing address for signup event
([#&#8203;8469](DataDog/dd-trace-java#8469) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Allow login events SDK to be used with appsec disabled
([#&#8203;8464](DataDog/dd-trace-java#8464) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Add support for endpoint discovery in spring mvc
([#&#8203;8352](DataDog/dd-trace-java#8352) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ New API Security sampling algorithm
([#&#8203;8178](DataDog/dd-trace-java#8178) -
[@&#8203;ValentinZakharov](https://github.com/ValentinZakharov))

#### Build & Tooling

- ✨ Add buffer size customizability to JDK UDS support
([#&#8203;8629](DataDog/dd-trace-java#8629) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- ✨ Add JDK built-in support for UDS on Java 16+
([#&#8203;8314](DataDog/dd-trace-java#8314) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))

#### Configuration at Runtime

- 🐛 Send RASP LFI capability only when AppSec is statically enabled
([#&#8203;8573](DataDog/dd-trace-java#8573) -
[@&#8203;jandro996](https://github.com/jandro996))

#### Continuous Integration Visibility

- 🐛 Prevent double reporting of Scalatest events when using SBT with
test forking
([#&#8203;8682](DataDog/dd-trace-java#8682) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Shutdown CI Visibility test event handlers before tracer
([#&#8203;8677](DataDog/dd-trace-java#8677) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Do not apply JUnit 4 instrumentation to MUnit runners
([#&#8203;8675](DataDog/dd-trace-java#8675),
[#&#8203;8683](DataDog/dd-trace-java#8683) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Remove error log when source path resolution fails on
isModified check
([#&#8203;8663](DataDog/dd-trace-java#8663) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement tests reordering for JUnit 4
([#&#8203;8650](DataDog/dd-trace-java#8650) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🐛 Set default Attempt to Fix retries if none provided from the
backend
([#&#8203;8615](DataDog/dd-trace-java#8615) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Allow to manually set PR info
([#&#8203;8566](DataDog/dd-trace-java#8566) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix Test Optimization init when repo root cannot be determined
([#&#8203;8533](DataDog/dd-trace-java#8533) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add capabilities tagging
([#&#8203;8499](DataDog/dd-trace-java#8499),
[#&#8203;8540](DataDog/dd-trace-java#8540) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))

#### Crash tracking

- 🐛 Remove dependency on bash from crash/oome uploder scripts
([#&#8203;8652](DataDog/dd-trace-java#8652) -
[@&#8203;jbachorik](https://github.com/jbachorik))

#### Data Streams Monitoring

- ✨ e2e pipeline configuration when data jobs is enabled
([#&#8203;8553](DataDog/dd-trace-java#8553) -
[@&#8203;kr-igor](https://github.com/kr-igor))

#### Dynamic Instrumentation

- 🐛 Fix In-Product when config is empty
([#&#8203;8679](DataDog/dd-trace-java#8679) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add support for filtering shaded third-party libs
([#&#8203;8612](DataDog/dd-trace-java#8612) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add In-Product Enablement
([#&#8203;8587](DataDog/dd-trace-java#8587) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨⚡ Reduce footprint of SourceFile tracking
([#&#8203;8524](DataDog/dd-trace-java#8524) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨⚡ Optimize the SourceFile tracking
([#&#8203;8520](DataDog/dd-trace-java#8520) -
[@&#8203;jpbempel](https://github.com/jpbempel))

#### OpenTracing

- 🧹 Remove activeScope() use in OpenTracing shim
([#&#8203;8478](DataDog/dd-trace-java#8478) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Profiling

- ✨ Add profiler env check command to AgentCLI
([#&#8203;8671](DataDog/dd-trace-java#8671) -
[@&#8203;jbachorik](https://github.com/jbachorik))

- ✨ Bump ddprof to 1.23.0
([#&#8203;8668](DataDog/dd-trace-java#8668) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- Fix a crash related to ElfParser::loadSymbolTable
([#&#8203;191](DataDog/dd-trace-java#191)) by
[@&#8203;yanglong1010](https://github.com/yanglong1010) in
DataDog/java-profiler#192
- Unwind String.indexOf intrinsic on AArch64 by
[@&#8203;MattAlp](https://github.com/MattAlp) in
DataDog/java-profiler#193
- Fix Java 24 support by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#194
- A set of fixes related to clang, aarch64 and musl pecularities of
vmstructs stack unwinder by
[@&#8203;jbachorik](https://github.com/jbachorik) in
DataDog/java-profiler#199

- 🐛 Remove process information from JFR recording
([#&#8203;8661](DataDog/dd-trace-java#8661) -
[@&#8203;r1viollet](https://github.com/r1viollet))

- 🐛 Make TempLocationManager USER aware
([#&#8203;8605](DataDog/dd-trace-java#8605) -
[@&#8203;jbachorik](https://github.com/jbachorik))

- ✨ Extract git tags from embedded git.properties and
datadog_git.properties
([#&#8203;8561](DataDog/dd-trace-java#8561) -
[@&#8203;wmouchere](https://github.com/wmouchere))

#### Telemetry

- 🐛 Fix appsec.rasp.error and appsec.waf.error telemetry metrics
([#&#8203;8624](DataDog/dd-trace-java#8624) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Create metric: appsec.rasp.rule.skipped
([#&#8203;8618](DataDog/dd-trace-java#8618) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Extract git tags from embedded git.properties and
datadog_git.properties
([#&#8203;8561](DataDog/dd-trace-java#8561) -
[@&#8203;wmouchere](https://github.com/wmouchere))

#### Testing

- 🧹 Simplify ssi tests one-pipeline
([#&#8203;8558](DataDog/dd-trace-java#8558) -
[@&#8203;robertomonteromiguel](https://github.com/robertomonteromiguel))
- ✨ Add smoke tests for java's concurrent API
([#&#8203;8438](DataDog/dd-trace-java#8438) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))

#### Trace context propagation

- ✨ Adding Support for `TRACE_PROPAGATION_BEHAVIOR_EXTRACT`
([#&#8203;8535](DataDog/dd-trace-java#8535) -
[@&#8203;mhlidd](https://github.com/mhlidd))

#### Tracer core

- 🐛 Ensure shaded helpers have unique names
([#&#8203;8559](DataDog/dd-trace-java#8559) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Support common config sources for user-provided git info
([#&#8203;8547](DataDog/dd-trace-java#8547) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Make the default config sources more robust when a security
manager is installed
([#&#8203;8544](DataDog/dd-trace-java#8544) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Support targeting services with configurations in stable
configuration file
([#&#8203;8526](DataDog/dd-trace-java#8526) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨ Add new parser for `DD_TAGS` and prioritizing `DD_SERVICE`
([#&#8203;8296](DataDog/dd-trace-java#8296) -
[@&#8203;mhlidd](https://github.com/mhlidd))

#### Tracer internal logging

- 🐛 Add missing debug log for the cloudPayloadTaggingServices config
([#&#8203;8600](DataDog/dd-trace-java#8600) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Add the possibility to output the logs of the Java tracer
in JSON
([#&#8203;8083](DataDog/dd-trace-java#8083) -
[@&#8203;cecile75](https://github.com/cecile75))

#### Tracer public API

- ✨ Introducing `DD_TRACE_EXPERIMENTAL_FEATURES_ENABLED` Config
([#&#8203;8536](DataDog/dd-trace-java#8536) -
[@&#8203;mhlidd](https://github.com/mhlidd))
- ✨ Config Consistency Round 2
([#&#8203;8489](DataDog/dd-trace-java#8489) -
[@&#8203;mhlidd](https://github.com/mhlidd))

### Instrumentations

####

- 🐛 Fix NPE in getMdcCopy of LoggingEventInstrumentation
([#&#8203;8599](DataDog/dd-trace-java#8599) -
[@&#8203;ygree](https://github.com/ygree))

#### Apache Spark instrumentation

- ✨ Instrument Runtime.exit() to finish spark application spans
([#&#8203;8572](DataDog/dd-trace-java#8572) -
[@&#8203;paul-laffon-dd](https://github.com/paul-laffon-dd))
- ✨ Configure OpenLineage if present in Spark instrumentation
([#&#8203;8541](DataDog/dd-trace-java#8541) -
[@&#8203;mobuchowski](https://github.com/mobuchowski))

#### Armeria Instrumentation

- ✨ Support armeria grpc 1.32.3
([#&#8203;8606](DataDog/dd-trace-java#8606) -
[@&#8203;github-actions](https://github.com/github-actions)\[bot])

#### AWS DynamoDB Instrumentation

- ✨ Create DynamoDB instrumentation + add span pointers for
`updateItem` and `deleteItem`
([#&#8203;8490](DataDog/dd-trace-java#8490) -
[@&#8203;nhulston](https://github.com/nhulston))

#### AWS SDK instrumentation

- ✨ Add DynamoDB in
DEFAULT_TRACE_CLOUD_PAYLOAD_TAGGING_SERVICES
([#&#8203;8595](DataDog/dd-trace-java#8595) -
[@&#8203;joeyzhao2018](https://github.com/joeyzhao2018))

#### Azure Functions instrumentation

- ✨ Enable tracer computed trace metrics by default for Azure
Functions
([#&#8203;8518](DataDog/dd-trace-java#8518) -
[@&#8203;duncanpharvey](https://github.com/duncanpharvey))
- 💡 Add azure-functions instrumentation
([#&#8203;8432](DataDog/dd-trace-java#8432) -
[@&#8203;duncanpharvey](https://github.com/duncanpharvey))

#### Core Java language instrumentation

- 🐛 Fix ForkJoinPool.execute() instrumentation on Java 21+
([#&#8203;8560](DataDog/dd-trace-java#8560) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

#### Eclipse Vert.x instrumentation

- ✨ Add vertx postgresql client instrumentation
([#&#8203;8471](DataDog/dd-trace-java#8471) -
[@&#8203;vandonr](https://github.com/vandonr) - thanks for the
contribution!)

#### Kafka instrumentation

- ✨ Support and test kafka-clients 4
([#&#8203;8581](DataDog/dd-trace-java#8581) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Kotlin instrumentation

- ✨ Avoid disconnected traces when using Kotlin flowOn
([#&#8203;8651](DataDog/dd-trace-java#8651) -
[@&#8203;mcculls](https://github.com/mcculls))

#### OpenTelemetry instrumentation

- 🧹 Migrate OtelContext wrapper to new internal Context API
([#&#8203;8645](DataDog/dd-trace-java#8645) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Spring instrumentation

- 🐛 Support CompletableFuture on spring webmvc controllers
([#&#8203;8659](DataDog/dd-trace-java#8659) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add support for endpoint discovery in spring mvc
([#&#8203;8352](DataDog/dd-trace-java#8352) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))

#### WebSocket Instrumentation

- ✨ Instrument Jetty websocket pojo
([#&#8203;8562](DataDog/dd-trace-java#8562) -
[@&#8203;amarziali](https://github.com/amarziali))
- 💡 Instrument Java Websocket API (JSR356)
([#&#8203;8440](DataDog/dd-trace-java#8440) -
[@&#8203;amarziali](https://github.com/amarziali))

#### All other instrumentations

- ✨ Introduce cache for peer.hostname lookup
([#&#8203;8601](DataDog/dd-trace-java#8601) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Support pekko http 1.1
([#&#8203;8532](DataDog/dd-trace-java#8532) -
[@&#8203;amarziali](https://github.com/amarziali))

</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**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **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: 331314f71acaced3adc75ea5d7e855c248d593fc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
inst: java Core Java language instrumentation type: bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants