Skip to content
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 support of Java records #6355

Merged
merged 1 commit into from
Dec 14, 2023
Merged

Add support of Java records #6355

merged 1 commit into from
Dec 14, 2023

Conversation

jpbempel
Copy link
Member

@jpbempel jpbempel commented Dec 12, 2023

What Does This Do

upgrade ASM api version to 9
symbol extraction class modifiers

Motivation

Additional Notes

Jira ticket: DEBUG-1997

upgrade ASM api version to 9
symbol extraction class modifiers
@jpbempel jpbempel requested a review from a team as a code owner December 12, 2023 20:52
@jpbempel jpbempel requested review from cimi and removed request for a team December 12, 2023 20:52
@pr-commenter
Copy link

pr-commenter bot commented Dec 12, 2023

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/jdk21-records
git_commit_date 1702409587 1702412941
git_commit_sha 1878db6 46418f2
release_version 1.26.0-SNAPSHOT~1878db6329 1.26.0-SNAPSHOT~46418f290b
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1702416918 1702416918
ci_job_id 388330792 388330792
ci_pipeline_id 24980275 24980275
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
module Agent Agent
parent None None
variant iast iast

Summary

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

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.26.0-SNAPSHOT~46418f290b, baseline=1.26.0-SNAPSHOT~1878db6329

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.042 s) : 0, 1042258
Total [baseline] (9.349 s) : 0, 9349292
Agent [candidate] (1.052 s) : 0, 1051714
Total [candidate] (9.324 s) : 0, 9323687
section appsec
Agent [baseline] (1.129 s) : 0, 1128964
Total [baseline] (9.424 s) : 0, 9423841
Agent [candidate] (1.137 s) : 0, 1137101
Total [candidate] (9.429 s) : 0, 9429320
section iast
Agent [baseline] (1.172 s) : 0, 1172168
Total [baseline] (9.611 s) : 0, 9610868
Agent [candidate] (1.179 s) : 0, 1178719
Total [candidate] (9.559 s) : 0, 9558839
section profiling
Agent [baseline] (1.23 s) : 0, 1230042
Total [baseline] (9.611 s) : 0, 9610981
Agent [candidate] (1.232 s) : 0, 1231999
Total [candidate] (9.603 s) : 0, 9602725
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.042 s -
Agent appsec 1.129 s 86.706 ms (8.3%)
Agent iast 1.172 s 129.91 ms (12.5%)
Agent profiling 1.23 s 187.784 ms (18.0%)
Total tracing 9.349 s -
Total appsec 9.424 s 74.549 ms (0.8%)
Total iast 9.611 s 261.576 ms (2.8%)
Total profiling 9.611 s 261.689 ms (2.8%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.052 s -
Agent appsec 1.137 s 85.387 ms (8.1%)
Agent iast 1.179 s 127.005 ms (12.1%)
Agent profiling 1.232 s 180.284 ms (17.1%)
Total tracing 9.324 s -
Total appsec 9.429 s 105.632 ms (1.1%)
Total iast 9.559 s 235.152 ms (2.5%)
Total profiling 9.603 s 279.038 ms (3.0%)
gantt
    title petclinic - break down per module: candidate=1.26.0-SNAPSHOT~46418f290b, baseline=1.26.0-SNAPSHOT~1878db6329

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (644.706 ms) : 0, 644706
BytebuddyAgent [candidate] (651.064 ms) : 0, 651064
GlobalTracer [baseline] (306.681 ms) : 0, 306681
GlobalTracer [candidate] (309.096 ms) : 0, 309096
AppSec [baseline] (48.725 ms) : 0, 48725
AppSec [candidate] (49.128 ms) : 0, 49128
Remote Config [baseline] (676.785 µs) : 0, 677
Remote Config [candidate] (675.905 µs) : 0, 676
Telemetry [baseline] (7.167 ms) : 0, 7167
Telemetry [candidate] (7.15 ms) : 0, 7150
section appsec
BytebuddyAgent [baseline] (644.071 ms) : 0, 644071
BytebuddyAgent [candidate] (649.243 ms) : 0, 649243
GlobalTracer [baseline] (306.252 ms) : 0, 306252
GlobalTracer [candidate] (308.529 ms) : 0, 308529
AppSec [baseline] (136.892 ms) : 0, 136892
AppSec [candidate] (137.41 ms) : 0, 137410
Remote Config [baseline] (641.966 µs) : 0, 642
Remote Config [candidate] (639.005 µs) : 0, 639
Telemetry [baseline] (6.854 ms) : 0, 6854
Telemetry [candidate] (6.847 ms) : 0, 6847
section iast
BytebuddyAgent [baseline] (776.665 ms) : 0, 776665
BytebuddyAgent [candidate] (778.741 ms) : 0, 778741
GlobalTracer [baseline] (286.754 ms) : 0, 286754
GlobalTracer [candidate] (289.183 ms) : 0, 289183
AppSec [baseline] (46.529 ms) : 0, 46529
AppSec [candidate] (47.127 ms) : 0, 47127
Remote Config [baseline] (621.286 µs) : 0, 621
Remote Config [candidate] (603.89 µs) : 0, 604
Telemetry [baseline] (6.585 ms) : 0, 6585
Telemetry [candidate] (6.654 ms) : 0, 6654
IAST [baseline] (20.196 ms) : 0, 20196
IAST [candidate] (21.693 ms) : 0, 21693
section profiling
BytebuddyAgent [baseline] (654.739 ms) : 0, 654739
BytebuddyAgent [candidate] (656.972 ms) : 0, 656972
GlobalTracer [baseline] (376.596 ms) : 0, 376596
GlobalTracer [candidate] (376.728 ms) : 0, 376728
AppSec [baseline] (48.641 ms) : 0, 48641
AppSec [candidate] (48.347 ms) : 0, 48347
Remote Config [baseline] (646.655 µs) : 0, 647
Remote Config [candidate] (664.628 µs) : 0, 665
Telemetry [baseline] (7.331 ms) : 0, 7331
Telemetry [candidate] (7.335 ms) : 0, 7335
ProfilingAgent [baseline] (88.053 ms) : 0, 88053
ProfilingAgent [candidate] (87.757 ms) : 0, 87757
Profiling [baseline] (88.078 ms) : 0, 88078
Profiling [candidate] (87.782 ms) : 0, 87782
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.26.0-SNAPSHOT~46418f290b, baseline=1.26.0-SNAPSHOT~1878db6329

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.05 s) : 0, 1049822
Total [baseline] (8.726 s) : 0, 8725763
Agent [candidate] (1.044 s) : 0, 1043523
Total [candidate] (8.718 s) : 0, 8717803
section iast
Agent [baseline] (1.159 s) : 0, 1158872
Total [baseline] (9.269 s) : 0, 9269147
Agent [candidate] (1.162 s) : 0, 1161585
Total [candidate] (9.286 s) : 0, 9285560
section iast_TELEMETRY_OFF
Agent [baseline] (1.153 s) : 0, 1152647
Total [baseline] (9.228 s) : 0, 9227979
Agent [candidate] (1.161 s) : 0, 1161237
Total [candidate] (9.238 s) : 0, 9238022
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.05 s -
Agent iast 1.159 s 109.049 ms (10.4%)
Agent iast_TELEMETRY_OFF 1.153 s 102.825 ms (9.8%)
Total tracing 8.726 s -
Total iast 9.269 s 543.384 ms (6.2%)
Total iast_TELEMETRY_OFF 9.228 s 502.216 ms (5.8%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.044 s -
Agent iast 1.162 s 118.061 ms (11.3%)
Agent iast_TELEMETRY_OFF 1.161 s 117.713 ms (11.3%)
Total tracing 8.718 s -
Total iast 9.286 s 567.757 ms (6.5%)
Total iast_TELEMETRY_OFF 9.238 s 520.219 ms (6.0%)
gantt
    title insecure-bank - break down per module: candidate=1.26.0-SNAPSHOT~46418f290b, baseline=1.26.0-SNAPSHOT~1878db6329

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (650.045 ms) : 0, 650045
BytebuddyAgent [candidate] (645.373 ms) : 0, 645373
GlobalTracer [baseline] (308.278 ms) : 0, 308278
GlobalTracer [candidate] (307.388 ms) : 0, 307388
AppSec [baseline] (49.052 ms) : 0, 49052
AppSec [candidate] (48.664 ms) : 0, 48664
Remote Config [baseline] (678.804 µs) : 0, 679
Remote Config [candidate] (669.687 µs) : 0, 670
Telemetry [baseline] (7.293 ms) : 0, 7293
Telemetry [candidate] (7.211 ms) : 0, 7211
section iast
BytebuddyAgent [baseline] (765.072 ms) : 0, 765072
BytebuddyAgent [candidate] (766.568 ms) : 0, 766568
GlobalTracer [baseline] (284.143 ms) : 0, 284143
GlobalTracer [candidate] (285.864 ms) : 0, 285864
AppSec [baseline] (46.182 ms) : 0, 46182
AppSec [candidate] (46.482 ms) : 0, 46482
Remote Config [baseline] (617.413 µs) : 0, 617
Remote Config [candidate] (608.768 µs) : 0, 609
Telemetry [baseline] (6.671 ms) : 0, 6671
Telemetry [candidate] (8.833 ms) : 0, 8833
IAST [baseline] (21.898 ms) : 0, 21898
IAST [candidate] (18.816 ms) : 0, 18816
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (759.639 ms) : 0, 759639
BytebuddyAgent [candidate] (764.784 ms) : 0, 764784
GlobalTracer [baseline] (285.421 ms) : 0, 285421
GlobalTracer [candidate] (287.57 ms) : 0, 287570
AppSec [baseline] (48.717 ms) : 0, 48717
AppSec [candidate] (47.848 ms) : 0, 47848
Remote Config [baseline] (589.904 µs) : 0, 590
Remote Config [candidate] (601.013 µs) : 0, 601
Telemetry [baseline] (7.94 ms) : 0, 7940
Telemetry [candidate] (7.99 ms) : 0, 7990
IAST [baseline] (16.207 ms) : 0, 16207
IAST [candidate] (17.902 ms) : 0, 17902
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2023-12-12T21:14:31 2023-12-12T21:31:03
git_branch master jpbempel/jdk21-records
git_commit_date 1702409587 1702412941
git_commit_sha 1878db6 46418f2
release_version 1.26.0-SNAPSHOT~1878db6329 1.26.0-SNAPSHOT~46418f290b
start_time 2023-12-12T21:14:18 2023-12-12T21:30:51
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1702416918 1702416918
ci_job_id 388330792 388330792
ci_pipeline_id 24980275 24980275
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
variant iast iast

Summary

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

scenario Δ mean http_req_duration Δ mean throughput candidate mean http_req_duration candidate mean throughput baseline mean http_req_duration baseline mean throughput
scenario:load:petclinic:profiling worse
[+37.006µs; +92.310µs] or [+2.442%; +6.092%]
unstable
[-673.203op/s; +445.283op/s] or [-21.879%; +14.472%]
1.580ms 2962.963op/s 1.515ms 3076.923op/s
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.26.0-SNAPSHOT~46418f290b, baseline=1.26.0-SNAPSHOT~1878db6329
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.342 ms) : 1323, 1361
.   : milestone, 1342,
appsec (1.763 ms) : 1738, 1787
.   : milestone, 1763,
iast (1.539 ms) : 1515, 1563
.   : milestone, 1539,
profiling (1.515 ms) : 1490, 1540
.   : milestone, 1515,
tracing (1.513 ms) : 1489, 1537
.   : milestone, 1513,
section candidate
no_agent (1.356 ms) : 1337, 1375
.   : milestone, 1356,
appsec (1.768 ms) : 1744, 1793
.   : milestone, 1768,
iast (1.517 ms) : 1492, 1541
.   : milestone, 1517,
profiling (1.58 ms) : 1554, 1606
.   : milestone, 1580,
tracing (1.5 ms) : 1476, 1525
.   : milestone, 1500,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.342 ms [1.323 ms, 1.361 ms] -
appsec 1.763 ms [1.738 ms, 1.787 ms] 420.785 µs (31.4%)
iast 1.539 ms [1.515 ms, 1.563 ms] 197.005 µs (14.7%)
profiling 1.515 ms [1.49 ms, 1.54 ms] 173.335 µs (12.9%)
tracing 1.513 ms [1.489 ms, 1.537 ms] 171.244 µs (12.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.356 ms [1.337 ms, 1.375 ms] -
appsec 1.768 ms [1.744 ms, 1.793 ms] 412.749 µs (30.4%)
iast 1.517 ms [1.492 ms, 1.541 ms] 160.923 µs (11.9%)
profiling 1.58 ms [1.554 ms, 1.606 ms] 224.114 µs (16.5%)
tracing 1.5 ms [1.476 ms, 1.525 ms] 144.44 µs (10.7%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.26.0-SNAPSHOT~46418f290b, baseline=1.26.0-SNAPSHOT~1878db6329
    dateFormat X
    axisFormat %s
section baseline
no_agent (364.995 µs) : 345, 385
.   : milestone, 365,
iast (471.418 µs) : 451, 492
.   : milestone, 471,
iast_FULL (537.798 µs) : 518, 558
.   : milestone, 538,
iast_INACTIVE (445.982 µs) : 426, 466
.   : milestone, 446,
iast_TELEMETRY_OFF (465.696 µs) : 445, 486
.   : milestone, 466,
tracing (434.884 µs) : 415, 455
.   : milestone, 435,
section candidate
no_agent (360.562 µs) : 340, 381
.   : milestone, 361,
iast (467.297 µs) : 447, 488
.   : milestone, 467,
iast_FULL (541.232 µs) : 521, 562
.   : milestone, 541,
iast_INACTIVE (452.865 µs) : 432, 473
.   : milestone, 453,
iast_TELEMETRY_OFF (468.08 µs) : 447, 489
.   : milestone, 468,
tracing (444.796 µs) : 423, 467
.   : milestone, 445,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 364.995 µs [344.521 µs, 385.47 µs] -
iast 471.418 µs [451.099 µs, 491.736 µs] 106.422 µs (29.2%)
iast_FULL 537.798 µs [517.555 µs, 558.041 µs] 172.803 µs (47.3%)
iast_INACTIVE 445.982 µs [425.575 µs, 466.39 µs] 80.987 µs (22.2%)
iast_TELEMETRY_OFF 465.696 µs [444.9 µs, 486.492 µs] 100.701 µs (27.6%)
tracing 434.884 µs [414.557 µs, 455.212 µs] 69.889 µs (19.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 360.562 µs [340.274 µs, 380.85 µs] -
iast 467.297 µs [446.958 µs, 487.636 µs] 106.735 µs (29.6%)
iast_FULL 541.232 µs [520.591 µs, 561.873 µs] 180.67 µs (50.1%)
iast_INACTIVE 452.865 µs [432.252 µs, 473.478 µs] 92.303 µs (25.6%)
iast_TELEMETRY_OFF 468.08 µs [447.289 µs, 488.871 µs] 107.518 µs (29.8%)
tracing 444.796 µs [422.927 µs, 466.665 µs] 84.234 µs (23.4%)

@jpbempel jpbempel added the comp: debugger Dynamic Instrumentation label Dec 14, 2023
Copy link
Contributor

@shatzi shatzi left a comment

Choose a reason for hiding this comment

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

very nice.

@jpbempel jpbempel merged commit c3ea017 into master Dec 14, 2023
74 checks passed
@jpbempel jpbempel deleted the jpbempel/jdk21-records branch December 14, 2023 17:51
@github-actions github-actions bot added this to the 1.26.0 milestone Dec 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: debugger Dynamic Instrumentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants