Skip to content

Conversation

@sarahchen6
Copy link
Contributor

@sarahchen6 sarahchen6 commented Jan 30, 2025

What Does This Do

This PR continues on #8197 to add support for timeouts. Instead of using Channels.newInputStream, we use NIO selectors so that we can read with a timeout. Also included is a test for timeout support.

Motivation

For Java 16+, we want to replace our use of the third party library jnr-unixsocket with JDK's built-in support for unix domain sockets (UDS).

Additional Notes

Run test with ./gradlew :utils:socket-utils:test -PtestJvm=17.

Contributor Checklist

Jira ticket: LANGPLAT-300

@pr-commenter
Copy link

pr-commenter bot commented Jan 30, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master sarahchen6/add-timeout-support
git_commit_date 1741806942 1741813893
git_commit_sha 0d9c7d2 37ca729
release_version 1.48.0-SNAPSHOT~0d9c7d2b08 1.47.0-SNAPSHOT~37ca729ec6
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1741816414 1741816414
ci_job_id 845601631 845601631
ci_pipeline_id 58642057 58642057
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-99grvqzx-project-304-concurrent-0-kzahq51n 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-99grvqzx-project-304-concurrent-0-kzahq51n 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 0 performance regressions! Performance is the same for 45 metrics, 18 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.47.0-SNAPSHOT~37ca729ec6, baseline=1.48.0-SNAPSHOT~0d9c7d2b08

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.062 s) : 0, 1062467
Total [baseline] (8.76 s) : 0, 8759888
Agent [candidate] (1.062 s) : 0, 1061916
Total [candidate] (8.719 s) : 0, 8719267
section iast
Agent [baseline] (1.216 s) : 0, 1216321
Total [baseline] (9.404 s) : 0, 9404172
Agent [candidate] (1.221 s) : 0, 1220997
Total [candidate] (9.441 s) : 0, 9440634
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.199 s) : 0, 1199420
Total [baseline] (9.313 s) : 0, 9313430
Agent [candidate] (1.205 s) : 0, 1205050
Total [candidate] (9.31 s) : 0, 9309760
section iast_TELEMETRY_OFF
Agent [baseline] (1.21 s) : 0, 1209509
Total [baseline] (9.375 s) : 0, 9374943
Agent [candidate] (1.192 s) : 0, 1192148
Total [candidate] (9.324 s) : 0, 9324134
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.062 s -
Agent iast 1.216 s 153.854 ms (14.5%)
Agent iast_HARDCODED_SECRET_DISABLED 1.199 s 136.954 ms (12.9%)
Agent iast_TELEMETRY_OFF 1.21 s 147.042 ms (13.8%)
Total tracing 8.76 s -
Total iast 9.404 s 644.284 ms (7.4%)
Total iast_HARDCODED_SECRET_DISABLED 9.313 s 553.542 ms (6.3%)
Total iast_TELEMETRY_OFF 9.375 s 615.055 ms (7.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.062 s -
Agent iast 1.221 s 159.081 ms (15.0%)
Agent iast_HARDCODED_SECRET_DISABLED 1.205 s 143.134 ms (13.5%)
Agent iast_TELEMETRY_OFF 1.192 s 130.232 ms (12.3%)
Total tracing 8.719 s -
Total iast 9.441 s 721.367 ms (8.3%)
Total iast_HARDCODED_SECRET_DISABLED 9.31 s 590.492 ms (6.8%)
Total iast_TELEMETRY_OFF 9.324 s 604.866 ms (6.9%)
gantt
    title insecure-bank - break down per module: candidate=1.47.0-SNAPSHOT~37ca729ec6, baseline=1.48.0-SNAPSHOT~0d9c7d2b08

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (732.948 ms) : 0, 732948
BytebuddyAgent [candidate] (724.094 ms) : 0, 724094
GlobalTracer [baseline] (244.912 ms) : 0, 244912
GlobalTracer [candidate] (247.449 ms) : 0, 247449
AppSec [baseline] (56.665 ms) : 0, 56665
AppSec [candidate] (58.052 ms) : 0, 58052
Remote Config [baseline] (695.068 µs) : 0, 695
Remote Config [candidate] (713.949 µs) : 0, 714
Telemetry [baseline] (12.084 ms) : 0, 12084
Telemetry [candidate] (16.418 ms) : 0, 16418
section iast
BytebuddyAgent [baseline] (866.723 ms) : 0, 866723
BytebuddyAgent [candidate] (868.283 ms) : 0, 868283
GlobalTracer [baseline] (239.511 ms) : 0, 239511
GlobalTracer [candidate] (240.367 ms) : 0, 240367
IAST [baseline] (24.931 ms) : 0, 24931
IAST [candidate] (27.756 ms) : 0, 27756
AppSec [baseline] (60.155 ms) : 0, 60155
AppSec [candidate] (59.713 ms) : 0, 59713
Remote Config [baseline] (627.549 µs) : 0, 628
Remote Config [candidate] (610.981 µs) : 0, 611
Telemetry [baseline] (8.902 ms) : 0, 8902
Telemetry [candidate] (8.836 ms) : 0, 8836
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (849.966 ms) : 0, 849966
BytebuddyAgent [candidate] (851.283 ms) : 0, 851283
GlobalTracer [baseline] (238.525 ms) : 0, 238525
GlobalTracer [candidate] (241.014 ms) : 0, 241014
IAST [baseline] (26.243 ms) : 0, 26243
IAST [candidate] (27.687 ms) : 0, 27687
AppSec [baseline] (59.164 ms) : 0, 59164
AppSec [candidate] (60.176 ms) : 0, 60176
Remote Config [baseline] (942.362 µs) : 0, 942
Remote Config [candidate] (664.707 µs) : 0, 665
Telemetry [baseline] (9.099 ms) : 0, 9099
Telemetry [candidate] (8.997 ms) : 0, 8997
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (854.19 ms) : 0, 854190
BytebuddyAgent [candidate] (844.889 ms) : 0, 844889
GlobalTracer [baseline] (243.493 ms) : 0, 243493
GlobalTracer [candidate] (237.816 ms) : 0, 237816
IAST [baseline] (24.251 ms) : 0, 24251
IAST [candidate] (23.548 ms) : 0, 23548
AppSec [baseline] (62.465 ms) : 0, 62465
AppSec [candidate] (61.213 ms) : 0, 61213
Remote Config [baseline] (864.052 µs) : 0, 864
Remote Config [candidate] (611.468 µs) : 0, 611
Telemetry [baseline] (8.899 ms) : 0, 8899
Telemetry [candidate] (8.893 ms) : 0, 8893
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.47.0-SNAPSHOT~37ca729ec6, baseline=1.48.0-SNAPSHOT~0d9c7d2b08

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.063 s) : 0, 1062965
Total [baseline] (10.558 s) : 0, 10557972
Agent [candidate] (1.072 s) : 0, 1072348
Total [candidate] (10.653 s) : 0, 10652591
section appsec
Agent [baseline] (1.221 s) : 0, 1220692
Total [baseline] (10.924 s) : 0, 10923711
Agent [candidate] (1.213 s) : 0, 1213407
Total [candidate] (10.905 s) : 0, 10905372
section iast
Agent [baseline] (1.206 s) : 0, 1205797
Total [baseline] (11.194 s) : 0, 11193663
Agent [candidate] (1.198 s) : 0, 1198487
Total [candidate] (11.036 s) : 0, 11035744
section profiling
Agent [baseline] (1.294 s) : 0, 1293866
Total [baseline] (11.092 s) : 0, 11091780
Agent [candidate] (1.313 s) : 0, 1312906
Total [candidate] (11.093 s) : 0, 11092625
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.063 s -
Agent appsec 1.221 s 157.727 ms (14.8%)
Agent iast 1.206 s 142.832 ms (13.4%)
Agent profiling 1.294 s 230.901 ms (21.7%)
Total tracing 10.558 s -
Total appsec 10.924 s 365.738 ms (3.5%)
Total iast 11.194 s 635.691 ms (6.0%)
Total profiling 11.092 s 533.808 ms (5.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.072 s -
Agent appsec 1.213 s 141.059 ms (13.2%)
Agent iast 1.198 s 126.139 ms (11.8%)
Agent profiling 1.313 s 240.558 ms (22.4%)
Total tracing 10.653 s -
Total appsec 10.905 s 252.781 ms (2.4%)
Total iast 11.036 s 383.153 ms (3.6%)
Total profiling 11.093 s 440.034 ms (4.1%)
gantt
    title petclinic - break down per module: candidate=1.47.0-SNAPSHOT~37ca729ec6, baseline=1.48.0-SNAPSHOT~0d9c7d2b08

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (726.255 ms) : 0, 726255
BytebuddyAgent [candidate] (730.777 ms) : 0, 730777
GlobalTracer [baseline] (246.63 ms) : 0, 246630
GlobalTracer [candidate] (248.831 ms) : 0, 248831
AppSec [baseline] (57.467 ms) : 0, 57467
AppSec [candidate] (59.846 ms) : 0, 59846
Remote Config [baseline] (1.095 ms) : 0, 1095
Remote Config [candidate] (694.05 µs) : 0, 694
Telemetry [baseline] (16.479 ms) : 0, 16479
Telemetry [candidate] (16.828 ms) : 0, 16828
section appsec
BytebuddyAgent [baseline] (753.875 ms) : 0, 753875
BytebuddyAgent [candidate] (749.032 ms) : 0, 749032
GlobalTracer [baseline] (247.323 ms) : 0, 247323
GlobalTracer [candidate] (245.193 ms) : 0, 245193
AppSec [baseline] (183.127 ms) : 0, 183127
AppSec [candidate] (182.919 ms) : 0, 182919
Remote Config [baseline] (694.402 µs) : 0, 694
Remote Config [candidate] (680.914 µs) : 0, 681
Telemetry [baseline] (8.542 ms) : 0, 8542
Telemetry [candidate] (8.501 ms) : 0, 8501
IAST [baseline] (23.643 ms) : 0, 23643
IAST [candidate] (23.714 ms) : 0, 23714
section iast
BytebuddyAgent [baseline] (858.461 ms) : 0, 858461
BytebuddyAgent [candidate] (849.981 ms) : 0, 849981
GlobalTracer [baseline] (238.364 ms) : 0, 238364
GlobalTracer [candidate] (237.792 ms) : 0, 237792
AppSec [baseline] (59.026 ms) : 0, 59026
AppSec [candidate] (61.197 ms) : 0, 61197
Remote Config [baseline] (678.412 µs) : 0, 678
Remote Config [candidate] (1.292 ms) : 0, 1292
Telemetry [baseline] (9.072 ms) : 0, 9072
Telemetry [candidate] (8.949 ms) : 0, 8949
IAST [baseline] (24.948 ms) : 0, 24948
IAST [candidate] (24.108 ms) : 0, 24108
section profiling
BytebuddyAgent [baseline] (719.099 ms) : 0, 719099
BytebuddyAgent [candidate] (737.905 ms) : 0, 737905
GlobalTracer [baseline] (366.632 ms) : 0, 366632
GlobalTracer [candidate] (367.094 ms) : 0, 367094
AppSec [baseline] (56.77 ms) : 0, 56770
AppSec [candidate] (57.415 ms) : 0, 57415
Remote Config [baseline] (1.059 ms) : 0, 1059
Remote Config [candidate] (901.218 µs) : 0, 901
Telemetry [baseline] (9.715 ms) : 0, 9715
Telemetry [candidate] (9.559 ms) : 0, 9559
ProfilingAgent [baseline] (99.299 ms) : 0, 99299
ProfilingAgent [candidate] (97.652 ms) : 0, 97652
Profiling [baseline] (99.324 ms) : 0, 99324
Profiling [candidate] (97.678 ms) : 0, 97678
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-03-12T21:23:19 2025-03-12T21:31:04
git_branch master sarahchen6/add-timeout-support
git_commit_date 1741806942 1741813893
git_commit_sha 0d9c7d2 37ca729
release_version 1.48.0-SNAPSHOT~0d9c7d2b08 1.47.0-SNAPSHOT~37ca729ec6
start_time 2025-03-12T21:23:05 2025-03-12T21:30:50
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1741815465 1741815465
ci_job_id 845601632 845601632
ci_pipeline_id 58642057 58642057
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-99grvqzx-project-304-concurrent-1-42s7smrp 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-99grvqzx-project-304-concurrent-1-42s7smrp 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 insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~37ca729ec6, baseline=1.48.0-SNAPSHOT~0d9c7d2b08
    dateFormat X
    axisFormat %s
section baseline
no_agent (380.087 µs) : 360, 400
.   : milestone, 380,
iast (512.053 µs) : 490, 534
.   : milestone, 512,
iast_FULL (735.825 µs) : 714, 758
.   : milestone, 736,
iast_GLOBAL (573.12 µs) : 551, 595
.   : milestone, 573,
iast_HARDCODED_SECRET_DISABLED (519.958 µs) : 498, 542
.   : milestone, 520,
iast_INACTIVE (471.344 µs) : 449, 494
.   : milestone, 471,
iast_TELEMETRY_OFF (501.543 µs) : 480, 523
.   : milestone, 502,
tracing (459.646 µs) : 439, 481
.   : milestone, 460,
section candidate
no_agent (380.227 µs) : 360, 400
.   : milestone, 380,
iast (515.888 µs) : 493, 539
.   : milestone, 516,
iast_FULL (731.016 µs) : 709, 753
.   : milestone, 731,
iast_GLOBAL (577.714 µs) : 553, 602
.   : milestone, 578,
iast_HARDCODED_SECRET_DISABLED (522.012 µs) : 500, 544
.   : milestone, 522,
iast_INACTIVE (471.827 µs) : 450, 494
.   : milestone, 472,
iast_TELEMETRY_OFF (504.305 µs) : 483, 526
.   : milestone, 504,
tracing (458.689 µs) : 438, 479
.   : milestone, 459,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 380.087 µs [360.165 µs, 400.008 µs] -
iast 512.053 µs [490.314 µs, 533.791 µs] 131.966 µs (34.7%)
iast_FULL 735.825 µs [713.865 µs, 757.785 µs] 355.738 µs (93.6%)
iast_GLOBAL 573.12 µs [551.205 µs, 595.035 µs] 193.033 µs (50.8%)
iast_HARDCODED_SECRET_DISABLED 519.958 µs [498.252 µs, 541.663 µs] 139.871 µs (36.8%)
iast_INACTIVE 471.344 µs [448.756 µs, 493.932 µs] 91.257 µs (24.0%)
iast_TELEMETRY_OFF 501.543 µs [479.802 µs, 523.284 µs] 121.456 µs (32.0%)
tracing 459.646 µs [438.767 µs, 480.525 µs] 79.559 µs (20.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 380.227 µs [360.213 µs, 400.241 µs] -
iast 515.888 µs [492.913 µs, 538.864 µs] 135.662 µs (35.7%)
iast_FULL 731.016 µs [709.068 µs, 752.965 µs] 350.789 µs (92.3%)
iast_GLOBAL 577.714 µs [553.43 µs, 601.998 µs] 197.487 µs (51.9%)
iast_HARDCODED_SECRET_DISABLED 522.012 µs [500.086 µs, 543.938 µs] 141.785 µs (37.3%)
iast_INACTIVE 471.827 µs [450.063 µs, 493.59 µs] 91.6 µs (24.1%)
iast_TELEMETRY_OFF 504.305 µs [482.508 µs, 526.102 µs] 124.078 µs (32.6%)
tracing 458.689 µs [438.078 µs, 479.3 µs] 78.462 µs (20.6%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~37ca729ec6, baseline=1.48.0-SNAPSHOT~0d9c7d2b08
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.354 ms) : 1335, 1374
.   : milestone, 1354,
appsec (1.742 ms) : 1718, 1765
.   : milestone, 1742,
appsec_no_iast (1.751 ms) : 1727, 1775
.   : milestone, 1751,
code_origins (1.697 ms) : 1671, 1724
.   : milestone, 1697,
iast (1.514 ms) : 1490, 1538
.   : milestone, 1514,
profiling (1.526 ms) : 1503, 1549
.   : milestone, 1526,
tracing (1.495 ms) : 1471, 1519
.   : milestone, 1495,
section candidate
no_agent (1.365 ms) : 1346, 1385
.   : milestone, 1365,
appsec (1.757 ms) : 1733, 1781
.   : milestone, 1757,
appsec_no_iast (1.784 ms) : 1760, 1808
.   : milestone, 1784,
code_origins (1.685 ms) : 1652, 1718
.   : milestone, 1685,
iast (1.522 ms) : 1499, 1546
.   : milestone, 1522,
profiling (1.521 ms) : 1496, 1545
.   : milestone, 1521,
tracing (1.508 ms) : 1484, 1533
.   : milestone, 1508,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.354 ms [1.335 ms, 1.374 ms] -
appsec 1.742 ms [1.718 ms, 1.765 ms] 387.267 µs (28.6%)
appsec_no_iast 1.751 ms [1.727 ms, 1.775 ms] 396.309 µs (29.3%)
code_origins 1.697 ms [1.671 ms, 1.724 ms] 342.827 µs (25.3%)
iast 1.514 ms [1.49 ms, 1.538 ms] 159.467 µs (11.8%)
profiling 1.526 ms [1.503 ms, 1.549 ms] 171.309 µs (12.6%)
tracing 1.495 ms [1.471 ms, 1.519 ms] 140.819 µs (10.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.365 ms [1.346 ms, 1.385 ms] -
appsec 1.757 ms [1.733 ms, 1.781 ms] 391.368 µs (28.7%)
appsec_no_iast 1.784 ms [1.76 ms, 1.808 ms] 419.032 µs (30.7%)
code_origins 1.685 ms [1.652 ms, 1.718 ms] 319.8 µs (23.4%)
iast 1.522 ms [1.499 ms, 1.546 ms] 157.153 µs (11.5%)
profiling 1.521 ms [1.496 ms, 1.545 ms] 155.238 µs (11.4%)
tracing 1.508 ms [1.484 ms, 1.533 ms] 143.03 µs (10.5%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master sarahchen6/add-timeout-support
git_commit_date 1741806942 1741813893
git_commit_sha 0d9c7d2 37ca729
release_version 1.48.0-SNAPSHOT~0d9c7d2b08 1.47.0-SNAPSHOT~37ca729ec6
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1741815996 1741815996
ci_job_id 845601633 845601633
ci_pipeline_id 58642057 58642057
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-titz-rmh-project-304-concurrent-0-b7y9qq45 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-titz-rmh-project-304-concurrent-0-b7y9qq45 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 10 metrics, 2 unstable metrics.

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~37ca729ec6, baseline=1.48.0-SNAPSHOT~0d9c7d2b08
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.472 ms) : 1461, 1484
.   : milestone, 1472,
appsec (2.35 ms) : 2306, 2394
.   : milestone, 2350,
iast (2.132 ms) : 2076, 2188
.   : milestone, 2132,
iast_GLOBAL (2.169 ms) : 2112, 2225
.   : milestone, 2169,
profiling (1.974 ms) : 1931, 2018
.   : milestone, 1974,
tracing (1.955 ms) : 1913, 1998
.   : milestone, 1955,
section candidate
no_agent (1.475 ms) : 1463, 1486
.   : milestone, 1475,
appsec (2.36 ms) : 2317, 2403
.   : milestone, 2360,
iast (2.129 ms) : 2074, 2184
.   : milestone, 2129,
iast_GLOBAL (3.341 ms) : 3117, 3566
.   : milestone, 3341,
profiling (1.961 ms) : 1918, 2005
.   : milestone, 1961,
tracing (3.067 ms) : 2859, 3276
.   : milestone, 3067,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.472 ms [1.461 ms, 1.484 ms] -
appsec 2.35 ms [2.306 ms, 2.394 ms] 877.631 µs (59.6%)
iast 2.132 ms [2.076 ms, 2.188 ms] 660.223 µs (44.8%)
iast_GLOBAL 2.169 ms [2.112 ms, 2.225 ms] 696.417 µs (47.3%)
profiling 1.974 ms [1.931 ms, 2.018 ms] 502.229 µs (34.1%)
tracing 1.955 ms [1.913 ms, 1.998 ms] 483.371 µs (32.8%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.475 ms [1.463 ms, 1.486 ms] -
appsec 2.36 ms [2.317 ms, 2.403 ms] 885.154 µs (60.0%)
iast 2.129 ms [2.074 ms, 2.184 ms] 654.264 µs (44.4%)
iast_GLOBAL 3.341 ms [3.117 ms, 3.566 ms] 1.866 ms (126.5%)
profiling 1.961 ms [1.918 ms, 2.005 ms] 486.516 µs (33.0%)
tracing 3.067 ms [2.859 ms, 3.276 ms] 1.592 ms (108.0%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~37ca729ec6, baseline=1.48.0-SNAPSHOT~0d9c7d2b08
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.492 s) : 15492000, 15492000
.   : milestone, 15492000,
appsec (14.993 s) : 14993000, 14993000
.   : milestone, 14993000,
iast (18.791 s) : 18791000, 18791000
.   : milestone, 18791000,
iast_GLOBAL (18.237 s) : 18237000, 18237000
.   : milestone, 18237000,
profiling (15.145 s) : 15145000, 15145000
.   : milestone, 15145000,
tracing (14.957 s) : 14957000, 14957000
.   : milestone, 14957000,
section candidate
no_agent (14.952 s) : 14952000, 14952000
.   : milestone, 14952000,
appsec (14.976 s) : 14976000, 14976000
.   : milestone, 14976000,
iast (18.879 s) : 18879000, 18879000
.   : milestone, 18879000,
iast_GLOBAL (17.715 s) : 17715000, 17715000
.   : milestone, 17715000,
profiling (14.977 s) : 14977000, 14977000
.   : milestone, 14977000,
tracing (15.069 s) : 15069000, 15069000
.   : milestone, 15069000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.492 s [15.492 s, 15.492 s] -
appsec 14.993 s [14.993 s, 14.993 s] -499.0 ms (-3.2%)
iast 18.791 s [18.791 s, 18.791 s] 3.299 s (21.3%)
iast_GLOBAL 18.237 s [18.237 s, 18.237 s] 2.745 s (17.7%)
profiling 15.145 s [15.145 s, 15.145 s] -347.0 ms (-2.2%)
tracing 14.957 s [14.957 s, 14.957 s] -535.0 ms (-3.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.952 s [14.952 s, 14.952 s] -
appsec 14.976 s [14.976 s, 14.976 s] 24.0 ms (0.2%)
iast 18.879 s [18.879 s, 18.879 s] 3.927 s (26.3%)
iast_GLOBAL 17.715 s [17.715 s, 17.715 s] 2.763 s (18.5%)
profiling 14.977 s [14.977 s, 14.977 s] 25.0 ms (0.2%)
tracing 15.069 s [15.069 s, 15.069 s] 117.0 ms (0.8%)

@sarahchen6 sarahchen6 force-pushed the sarahchen6/add-timeout-support branch 2 times, most recently from 75d65cd to c239caf Compare January 31, 2025 22:32
@sarahchen6 sarahchen6 force-pushed the sarahchen6/add-timeout-support branch from c239caf to eb44a61 Compare February 6, 2025 21:50
@DataDog DataDog deleted a comment from datadog-datadog-prod-us1 bot Feb 6, 2025
@sarahchen6 sarahchen6 changed the title Add timeout support to PoC for adding JDK's built-in support for Unix Domain Sockets on Java 16+ Add JDK built-in support for Unix Domain Sockets on Java 16+ Feb 6, 2025
@DataDog DataDog deleted a comment from datadog-datadog-prod-us1 bot Feb 6, 2025
@sarahchen6 sarahchen6 changed the title Add JDK built-in support for Unix Domain Sockets on Java 16+ Add JDK built-in support for UDS on Java 16+ Feb 6, 2025
@sarahchen6 sarahchen6 force-pushed the sarahchen6/add-timeout-support branch 4 times, most recently from fb5153f to d97d7cb Compare February 10, 2025 20:06
@sarahchen6 sarahchen6 added type: enhancement Enhancements and improvements comp: tooling Build & Tooling labels Feb 11, 2025
@sarahchen6 sarahchen6 force-pushed the sarahchen6/add-timeout-support branch 2 times, most recently from 0e2ae02 to f82795d Compare February 20, 2025 21:56
@sarahchen6 sarahchen6 force-pushed the sarahchen6/add-timeout-support branch 5 times, most recently from 38b9154 to 6ba9ab7 Compare February 25, 2025 23:01
@sarahchen6 sarahchen6 force-pushed the sarahchen6/add-timeout-support branch from 778dd3d to 412e4d3 Compare February 26, 2025 04:45
@sarahchen6 sarahchen6 force-pushed the sarahchen6/add-timeout-support branch from fb5eeaf to 305d9af Compare March 4, 2025 22:05
@sarahchen6 sarahchen6 marked this pull request as ready for review March 6, 2025 18:20
@sarahchen6 sarahchen6 requested a review from a team as a code owner March 6, 2025 18:20
@sarahchen6 sarahchen6 requested review from mcculls and ygree March 6, 2025 18:20
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.

LGTM - just some minor comments

We should also do some benchmarking before merging

@sarahchen6 sarahchen6 requested a review from mcculls March 13, 2025 14:09
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 work!

@sarahchen6 sarahchen6 merged commit cbdc404 into master Mar 17, 2025
216 checks passed
@sarahchen6 sarahchen6 deleted the sarahchen6/add-timeout-support branch March 17, 2025 13:27
@github-actions github-actions bot added this to the 1.48.0 milestone Mar 17, 2025
mtoffl01 pushed a commit that referenced this pull request Mar 24, 2025
* Use the JDK's built-in support for Unix Domain Sockets on Java 16+

* First draft of timeout test.

* Add server to test.

* Fix build.gradle file.

* Add debugging statements.

* Second draft of timeout test.

* Update getInputStream to use a selector.

* Clean code.

* Adjust dd-java-agent build.gradle.

* Revert dd-java-agent build.gradle change

* Revert another build.gradle change.

* Try specifying setSrcDirs.

* Try changing compatibility version.

* Revert previous two changes.

* Avoid implementation dependency for Java17.

* Make gradle dependency more specific and add testImplementation to socket-utils.

* Add synchronization to ensure that server starts before client connects.

* Try this...

* Add print statements.

* Add catch statement.

* Refactor getInputStream and getOutputStream.

* Address PR comments.

* Add test for when timeout is 0.

* Add config option.

---------

Co-authored-by: Stuart McCulloch <[email protected]>
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

comp: tooling Build & Tooling type: enhancement Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants