-
Notifications
You must be signed in to change notification settings - Fork 293
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
Add timeout support to PoC for adding JDK's built-in support for Unix Domain Sockets on Java 16+ #8314
base: master
Are you sure you want to change the base?
Conversation
TunnelingJdkSocket(final Path path) { | ||
this.unixSocketAddress = UnixDomainSocketAddress.of(path); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BenchmarksStartupParameters
See matching parameters
SummaryFound 29 performance improvements and 9 performance regressions! Performance is the same for 17 metrics, 8 unstable metrics.
Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.47.0-SNAPSHOT~c239caf3cb, baseline=1.47.0-SNAPSHOT~8d0bb34e88
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.038 s) : 0, 1037796
Total [baseline] (8.618 s) : 0, 8618166
Agent [candidate] (883.463 ms) : 0, 883463
Total [candidate] (8.506 s) : 0, 8505529
section iast
Agent [baseline] (1.181 s) : 0, 1181423
Total [baseline] (9.219 s) : 0, 9219255
Agent [candidate] (1.014 s) : 0, 1013943
Total [candidate] (9.052 s) : 0, 9052409
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.166 s) : 0, 1166245
Total [baseline] (9.198 s) : 0, 9197883
Agent [candidate] (1.021 s) : 0, 1020570
Total [candidate] (9.071 s) : 0, 9071237
section iast_TELEMETRY_OFF
Agent [baseline] (1.17 s) : 0, 1170080
Total [baseline] (9.19 s) : 0, 9189537
Agent [candidate] (1.014 s) : 0, 1013918
Total [candidate] (9.092 s) : 0, 9091957
gantt
title insecure-bank - break down per module: candidate=1.47.0-SNAPSHOT~c239caf3cb, baseline=1.47.0-SNAPSHOT~8d0bb34e88
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (714.622 ms) : 0, 714622
BytebuddyAgent [candidate] (718.551 ms) : 0, 718551
GlobalTracer [baseline] (239.257 ms) : 0, 239257
GlobalTracer [candidate] (124.142 ms) : 0, 124142
AppSec [baseline] (55.207 ms) : 0, 55207
AppSec [candidate] (22.426 ms) : 0, 22426
Remote Config [baseline] (712.495 µs) : 0, 712
Remote Config [candidate] (1.605 ms) : 0, 1605
Telemetry [baseline] (12.808 ms) : 0, 12808
Telemetry [candidate] (1.549 ms) : 0, 1549
section iast
BytebuddyAgent [baseline] (842.717 ms) : 0, 842717
BytebuddyAgent [candidate] (832.874 ms) : 0, 832874
GlobalTracer [baseline] (233.691 ms) : 0, 233691
GlobalTracer [candidate] (123.736 ms) : 0, 123736
IAST [baseline] (26.103 ms) : 0, 26103
IAST [candidate] (24.792 ms) : 0, 24792
AppSec [baseline] (54.178 ms) : 0, 54178
AppSec [candidate] (14.203 ms) : 0, 14203
Remote Config [baseline] (627.432 µs) : 0, 627
Remote Config [candidate] (1.566 ms) : 0, 1566
Telemetry [baseline] (8.788 ms) : 0, 8788
Telemetry [candidate] (1.565 ms) : 0, 1565
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (831.84 ms) : 0, 831840
BytebuddyAgent [candidate] (838.556 ms) : 0, 838556
GlobalTracer [baseline] (229.989 ms) : 0, 229989
GlobalTracer [candidate] (124.503 ms) : 0, 124503
IAST [baseline] (26.564 ms) : 0, 26564
IAST [candidate] (24.856 ms) : 0, 24856
AppSec [baseline] (53.307 ms) : 0, 53307
AppSec [candidate] (14.239 ms) : 0, 14239
Remote Config [baseline] (619.364 µs) : 0, 619
Remote Config [candidate] (1.572 ms) : 0, 1572
Telemetry [baseline] (8.766 ms) : 0, 8766
Telemetry [candidate] (1.54 ms) : 0, 1540
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (834.57 ms) : 0, 834570
BytebuddyAgent [candidate] (832.882 ms) : 0, 832882
GlobalTracer [baseline] (231.749 ms) : 0, 231749
GlobalTracer [candidate] (124.241 ms) : 0, 124241
IAST [baseline] (22.303 ms) : 0, 22303
IAST [candidate] (24.401 ms) : 0, 24401
AppSec [baseline] (56.958 ms) : 0, 56958
AppSec [candidate] (14.173 ms) : 0, 14173
Remote Config [baseline] (610.468 µs) : 0, 610
Remote Config [candidate] (1.556 ms) : 0, 1556
Telemetry [baseline] (8.545 ms) : 0, 8545
Telemetry [candidate] (1.54 ms) : 0, 1540
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.47.0-SNAPSHOT~c239caf3cb, baseline=1.47.0-SNAPSHOT~8d0bb34e88
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.039 s) : 0, 1038859
Total [baseline] (10.437 s) : 0, 10437349
Agent [candidate] (879.58 ms) : 0, 879580
Total [candidate] (10.384 s) : 0, 10384471
section appsec
Agent [baseline] (1.181 s) : 0, 1181238
Total [baseline] (10.725 s) : 0, 10725184
Agent [candidate] (905.806 ms) : 0, 905806
Total [candidate] (10.421 s) : 0, 10421377
section iast
Agent [baseline] (1.168 s) : 0, 1167945
Total [baseline] (10.949 s) : 0, 10948816
Agent [candidate] (1.014 s) : 0, 1013566
Total [candidate] (10.844 s) : 0, 10843535
section profiling
Agent [baseline] (1.259 s) : 0, 1258730
Total [baseline] (10.849 s) : 0, 10848947
Agent [candidate] (1.097 s) : 0, 1097154
Total [candidate] (10.567 s) : 0, 10567226
gantt
title petclinic - break down per module: candidate=1.47.0-SNAPSHOT~c239caf3cb, baseline=1.47.0-SNAPSHOT~8d0bb34e88
dateFormat X
axisFormat %s
section tracing
BytebuddyAgent [baseline] (713.28 ms) : 0, 713280
BytebuddyAgent [candidate] (715.886 ms) : 0, 715886
GlobalTracer [baseline] (239.85 ms) : 0, 239850
GlobalTracer [candidate] (123.678 ms) : 0, 123678
AppSec [baseline] (55.644 ms) : 0, 55644
AppSec [candidate] (21.777 ms) : 0, 21777
Remote Config [baseline] (711.325 µs) : 0, 711
Remote Config [candidate] (1.591 ms) : 0, 1591
Telemetry [baseline] (14.197 ms) : 0, 14197
Telemetry [candidate] (1.566 ms) : 0, 1566
section appsec
BytebuddyAgent [baseline] (733.069 ms) : 0, 733069
BytebuddyAgent [candidate] (733.53 ms) : 0, 733530
GlobalTracer [baseline] (237.818 ms) : 0, 237818
GlobalTracer [candidate] (124.575 ms) : 0, 124575
IAST [baseline] (21.43 ms) : 0, 21430
IAST [candidate] (22.533 ms) : 0, 22533
AppSec [baseline] (175.084 ms) : 0, 175084
AppSec [candidate] (17.855 ms) : 0, 17855
Remote Config [baseline] (651.03 µs) : 0, 651
Remote Config [candidate] (1.727 ms) : 0, 1727
Telemetry [baseline] (8.648 ms) : 0, 8648
Telemetry [candidate] (1.622 ms) : 0, 1622
section iast
BytebuddyAgent [baseline] (832.988 ms) : 0, 832988
BytebuddyAgent [candidate] (832.497 ms) : 0, 832497
GlobalTracer [baseline] (230.615 ms) : 0, 230615
GlobalTracer [candidate] (123.743 ms) : 0, 123743
IAST [baseline] (24.187 ms) : 0, 24187
IAST [candidate] (24.821 ms) : 0, 24821
AppSec [baseline] (55.621 ms) : 0, 55621
AppSec [candidate] (14.27 ms) : 0, 14270
Remote Config [baseline] (603.841 µs) : 0, 604
Remote Config [candidate] (1.563 ms) : 0, 1563
Telemetry [baseline] (8.712 ms) : 0, 8712
Telemetry [candidate] (1.545 ms) : 0, 1545
section profiling
BytebuddyAgent [baseline] (705.426 ms) : 0, 705426
BytebuddyAgent [candidate] (704.377 ms) : 0, 704377
GlobalTracer [baseline] (350.551 ms) : 0, 350551
GlobalTracer [candidate] (236.03 ms) : 0, 236030
AppSec [baseline] (55.013 ms) : 0, 55013
AppSec [candidate] (14.836 ms) : 0, 14836
Remote Config [baseline] (679.315 µs) : 0, 679
Remote Config [candidate] (1.571 ms) : 0, 1571
Telemetry [baseline] (8.891 ms) : 0, 8891
Telemetry [candidate] (1.477 ms) : 0, 1477
ProfilingAgent [baseline] (95.637 ms) : 0, 95637
ProfilingAgent [candidate] (96.725 ms) : 0, 96725
Profiling [baseline] (95.661 ms) : 0, 95661
Profiling [candidate] (96.739 ms) : 0, 96739
LoadParameters
See matching parameters
SummaryFound 9 performance improvements and 0 performance regressions! Performance is the same for 1 metrics, 18 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~c239caf3cb, baseline=1.47.0-SNAPSHOT~8d0bb34e88
dateFormat X
axisFormat %s
section baseline
no_agent (1.362 ms) : 1343, 1382
. : milestone, 1362,
appsec (1.746 ms) : 1722, 1769
. : milestone, 1746,
appsec_no_iast (1.746 ms) : 1721, 1770
. : milestone, 1746,
iast (1.499 ms) : 1474, 1524
. : milestone, 1499,
profiling (1.542 ms) : 1517, 1568
. : milestone, 1542,
tracing (1.496 ms) : 1471, 1522
. : milestone, 1496,
section candidate
no_agent (1.342 ms) : 1323, 1362
. : milestone, 1342,
appsec (1.412 ms) : 1387, 1437
. : milestone, 1412,
appsec_no_iast (1.417 ms) : 1393, 1441
. : milestone, 1417,
iast (1.416 ms) : 1390, 1441
. : milestone, 1416,
profiling (1.424 ms) : 1398, 1449
. : milestone, 1424,
tracing (1.413 ms) : 1389, 1436
. : milestone, 1413,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.47.0-SNAPSHOT~c239caf3cb, baseline=1.47.0-SNAPSHOT~8d0bb34e88
dateFormat X
axisFormat %s
section baseline
no_agent (379.336 µs) : 360, 399
. : milestone, 379,
iast (507.551 µs) : 486, 529
. : milestone, 508,
iast_FULL (743.35 µs) : 721, 765
. : milestone, 743,
iast_GLOBAL (565.998 µs) : 544, 588
. : milestone, 566,
iast_HARDCODED_SECRET_DISABLED (505.276 µs) : 482, 528
. : milestone, 505,
iast_INACTIVE (456.498 µs) : 435, 478
. : milestone, 456,
iast_TELEMETRY_OFF (499.479 µs) : 476, 523
. : milestone, 499,
tracing (461.976 µs) : 440, 484
. : milestone, 462,
section candidate
no_agent (378.807 µs) : 359, 398
. : milestone, 379,
iast (441.66 µs) : 420, 463
. : milestone, 442,
iast_FULL (439.947 µs) : 416, 464
. : milestone, 440,
iast_GLOBAL (455.8 µs) : 432, 479
. : milestone, 456,
iast_HARDCODED_SECRET_DISABLED (441.901 µs) : 419, 465
. : milestone, 442,
iast_INACTIVE (422.542 µs) : 400, 445
. : milestone, 423,
iast_TELEMETRY_OFF (432.194 µs) : 409, 456
. : milestone, 432,
tracing (420.325 µs) : 398, 443
. : milestone, 420,
DacapoParameters
See matching parameters
SummaryFound 4 performance improvements and 0 performance regressions! Performance is the same for 8 metrics, 0 unstable metrics.
Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~c239caf3cb, baseline=1.47.0-SNAPSHOT~8d0bb34e88
dateFormat X
axisFormat %s
section baseline
no_agent (15.631 s) : 15631000, 15631000
. : milestone, 15631000,
appsec (15.116 s) : 15116000, 15116000
. : milestone, 15116000,
iast (18.797 s) : 18797000, 18797000
. : milestone, 18797000,
iast_GLOBAL (18.195 s) : 18195000, 18195000
. : milestone, 18195000,
profiling (15.587 s) : 15587000, 15587000
. : milestone, 15587000,
tracing (15.096 s) : 15096000, 15096000
. : milestone, 15096000,
section candidate
no_agent (15.633 s) : 15633000, 15633000
. : milestone, 15633000,
appsec (14.904 s) : 14904000, 14904000
. : milestone, 14904000,
iast (17.082 s) : 17082000, 17082000
. : milestone, 17082000,
iast_GLOBAL (18.096 s) : 18096000, 18096000
. : milestone, 18096000,
profiling (15.131 s) : 15131000, 15131000
. : milestone, 15131000,
tracing (15.043 s) : 15043000, 15043000
. : milestone, 15043000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.47.0-SNAPSHOT~c239caf3cb, baseline=1.47.0-SNAPSHOT~8d0bb34e88
dateFormat X
axisFormat %s
section baseline
no_agent (1.475 ms) : 1463, 1486
. : milestone, 1475,
appsec (2.365 ms) : 2321, 2408
. : milestone, 2365,
iast (2.104 ms) : 2050, 2159
. : milestone, 2104,
iast_GLOBAL (2.14 ms) : 2085, 2195
. : milestone, 2140,
profiling (1.972 ms) : 1928, 2017
. : milestone, 1972,
tracing (1.958 ms) : 1916, 2001
. : milestone, 1958,
section candidate
no_agent (1.48 ms) : 1468, 1491
. : milestone, 1480,
appsec (1.864 ms) : 1822, 1906
. : milestone, 1864,
iast (1.999 ms) : 1945, 2053
. : milestone, 1999,
iast_GLOBAL (2.028 ms) : 1973, 2082
. : milestone, 2028,
profiling (1.893 ms) : 1848, 1937
. : milestone, 1893,
tracing (1.87 ms) : 1828, 1912
. : milestone, 1870,
|
1802662
to
3bb147c
Compare
75d65cd
to
c239caf
Compare
What Does This Do
This PR continues on #8197 to add support for timeouts. Currently, I am trying to add tests to confirm that reading from a channel with no data will block instead of respecting the timeout period.
Motivation
For Java 17+, we want to replace third party jnr-unixsocket support of unix domain sockets with JDK's built-in support.
Additional Notes
The PR (including this comment) is a WIP. Tests need to be run with
./gradlew :utils:socket-utils:test -PtestJvm=17
Contributor Checklist
type:
and (comp:
orinst:
) labels in addition to any usefull labelsclose
,fix
or any linking keywords when referencing an issue.Use
solves
instead, and assign the PR milestone to the issueJira ticket: [PROJ-IDENT]