Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Use byte-buddy classes optimized for Java8+ #8735

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 25, 2025

Conversation

mcculls
Copy link
Contributor

@mcculls mcculls commented Apr 25, 2025

What Does This Do

byte-buddy now ships classes optimized for Java8+ under META-INF/versions/9

since we target Java8+ we can promote these classes over the pre-Java8 ones

Motivation

these classes should allow for faster class file validation and CDS support on JDK 8 and later

Contributor Checklist

Jira ticket: APMAPI-1286

…ions/9

since we target Java8+ we can promote these classes over the pre-Java8 ones
@mcculls mcculls added comp: core Tracer core type: refactoring tag: dependencies Dependencies related changes labels Apr 25, 2025
@pr-commenter
Copy link

pr-commenter bot commented Apr 25, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/use-byte-buddy-java8-classes
git_commit_date 1745533252 1745574664
git_commit_sha de593cc 3f22322
release_version 1.49.0-SNAPSHOT~de593cc116 1.49.0-SNAPSHOT~3f22322a94
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1745577665 1745577665
ci_job_id 912447463 912447463
ci_pipeline_id 63318017 63318017
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-ekfrqbyz-project-304-concurrent-0-ptyu587j 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-ekfrqbyz-project-304-concurrent-0-ptyu587j 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 16 performance improvements and 0 performance regressions! Performance is the same for 43 metrics, 12 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:insecure-bank:iast:Agent.start better
[-76.852ms; -38.692ms] or [-6.412%; -3.228%]
1.141s 1.199s
scenario:startup:insecure-bank:iast:BytebuddyAgent better
[-72.623ms; -38.734ms] or [-8.547%; -4.559%]
794.003ms 849.681ms
scenario:startup:insecure-bank:iast_HARDCODED_SECRET_DISABLED:Agent.start better
[-76.032ms; -42.301ms] or [-6.361%; -3.539%]
1.136s 1.195s
scenario:startup:insecure-bank:iast_HARDCODED_SECRET_DISABLED:BytebuddyAgent better
[-73.301ms; -47.216ms] or [-8.646%; -5.569%]
787.530ms 847.788ms
scenario:startup:insecure-bank:iast_TELEMETRY_OFF:Agent.start better
[-55.767ms; -47.520ms] or [-4.716%; -4.018%]
1.131s 1.183s
scenario:startup:insecure-bank:iast_TELEMETRY_OFF:BytebuddyAgent better
[-55.770ms; -49.028ms] or [-6.659%; -5.854%]
785.137ms 837.536ms
scenario:startup:insecure-bank:tracing:Agent.start better
[-63.187ms; -33.801ms] or [-5.958%; -3.187%]
1.012s 1.061s
scenario:startup:insecure-bank:tracing:BytebuddyAgent better
[-59.253ms; -40.180ms] or [-8.192%; -5.555%]
673.569ms 723.286ms
scenario:startup:petclinic:appsec:Agent.start better
[-67.380ms; -40.810ms] or [-5.588%; -3.385%]
1.152s 1.206s
scenario:startup:petclinic:appsec:BytebuddyAgent better
[-61.258ms; -45.818ms] or [-8.240%; -6.163%]
689.846ms 743.384ms
scenario:startup:petclinic:iast:Agent.start better
[-60.948ms; -29.304ms] or [-5.128%; -2.466%]
1.143s 1.188s
scenario:startup:petclinic:iast:BytebuddyAgent better
[-59.376ms; -34.797ms] or [-7.050%; -4.131%]
795.173ms 842.260ms
scenario:startup:petclinic:profiling:Agent.start better
[-83.556ms; -39.200ms] or [-6.311%; -2.961%]
1.263s 1.324s
scenario:startup:petclinic:profiling:BytebuddyAgent better
[-66.012ms; -40.942ms] or [-9.168%; -5.686%]
666.567ms 720.044ms
scenario:startup:petclinic:tracing:Agent.start better
[-61.546ms; -50.880ms] or [-5.792%; -4.788%]
1.006s 1.063s
scenario:startup:petclinic:tracing:BytebuddyAgent better
[-56.313ms; -50.751ms] or [-7.775%; -7.007%]
670.714ms 724.246ms
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.49.0-SNAPSHOT~3f22322a94, baseline=1.49.0-SNAPSHOT~de593cc116

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.063 s) : 0, 1062559
Total [baseline] (10.563 s) : 0, 10563344
Agent [candidate] (1.006 s) : 0, 1006346
Total [candidate] (10.455 s) : 0, 10454758
section appsec
Agent [baseline] (1.206 s) : 0, 1205739
Total [baseline] (10.749 s) : 0, 10748999
Agent [candidate] (1.152 s) : 0, 1151644
Total [candidate] (10.698 s) : 0, 10698435
section iast
Agent [baseline] (1.188 s) : 0, 1188439
Total [baseline] (10.862 s) : 0, 10862144
Agent [candidate] (1.143 s) : 0, 1143313
Total [candidate] (10.858 s) : 0, 10858478
section profiling
Agent [baseline] (1.324 s) : 0, 1323937
Total [baseline] (10.763 s) : 0, 10762990
Agent [candidate] (1.263 s) : 0, 1262559
Total [candidate] (10.843 s) : 0, 10842976
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.063 s -
Agent appsec 1.206 s 143.181 ms (13.5%)
Agent iast 1.188 s 125.881 ms (11.8%)
Agent profiling 1.324 s 261.378 ms (24.6%)
Total tracing 10.563 s -
Total appsec 10.749 s 185.655 ms (1.8%)
Total iast 10.862 s 298.8 ms (2.8%)
Total profiling 10.763 s 199.645 ms (1.9%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.006 s -
Agent appsec 1.152 s 145.299 ms (14.4%)
Agent iast 1.143 s 136.968 ms (13.6%)
Agent profiling 1.263 s 256.213 ms (25.5%)
Total tracing 10.455 s -
Total appsec 10.698 s 243.677 ms (2.3%)
Total iast 10.858 s 403.72 ms (3.9%)
Total profiling 10.843 s 388.218 ms (3.7%)
gantt
    title petclinic - break down per module: candidate=1.49.0-SNAPSHOT~3f22322a94, baseline=1.49.0-SNAPSHOT~de593cc116

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (724.246 ms) : 0, 724246
BytebuddyAgent [candidate] (670.714 ms) : 0, 670714
GlobalTracer [baseline] (239.984 ms) : 0, 239984
GlobalTracer [candidate] (240.673 ms) : 0, 240673
AppSec [baseline] (55.144 ms) : 0, 55144
AppSec [candidate] (54.777 ms) : 0, 54777
Debugger [baseline] (9.804 ms) : 0, 9804
Debugger [candidate] (6.138 ms) : 0, 6138
Remote Config [baseline] (704.568 µs) : 0, 705
Remote Config [candidate] (707.508 µs) : 0, 708
Telemetry [baseline] (9.175 ms) : 0, 9175
Telemetry [candidate] (9.893 ms) : 0, 9893
section appsec
BytebuddyAgent [baseline] (743.384 ms) : 0, 743384
BytebuddyAgent [candidate] (689.846 ms) : 0, 689846
GlobalTracer [baseline] (237.089 ms) : 0, 237089
GlobalTracer [candidate] (236.939 ms) : 0, 236939
AppSec [baseline] (176.496 ms) : 0, 176496
AppSec [candidate] (175.518 ms) : 0, 175518
Debugger [baseline] (5.962 ms) : 0, 5962
Debugger [candidate] (5.956 ms) : 0, 5956
Remote Config [baseline] (636.08 µs) : 0, 636
Remote Config [candidate] (656.429 µs) : 0, 656
Telemetry [baseline] (7.452 ms) : 0, 7452
Telemetry [candidate] (8.276 ms) : 0, 8276
IAST [baseline] (22.139 ms) : 0, 22139
IAST [candidate] (21.903 ms) : 0, 21903
section iast
BytebuddyAgent [baseline] (842.26 ms) : 0, 842260
BytebuddyAgent [candidate] (795.173 ms) : 0, 795173
GlobalTracer [baseline] (230.04 ms) : 0, 230040
GlobalTracer [candidate] (231.199 ms) : 0, 231199
AppSec [baseline] (52.586 ms) : 0, 52586
AppSec [candidate] (56.186 ms) : 0, 56186
Debugger [baseline] (5.856 ms) : 0, 5856
Debugger [candidate] (5.865 ms) : 0, 5865
Remote Config [baseline] (589.913 µs) : 0, 590
Remote Config [candidate] (603.532 µs) : 0, 604
Telemetry [baseline] (7.879 ms) : 0, 7879
Telemetry [candidate] (7.894 ms) : 0, 7894
IAST [baseline] (23.45 ms) : 0, 23450
IAST [candidate] (22.832 ms) : 0, 22832
section profiling
ProfilingAgent [baseline] (104.197 ms) : 0, 104197
ProfilingAgent [candidate] (100.432 ms) : 0, 100432
BytebuddyAgent [baseline] (720.044 ms) : 0, 720044
BytebuddyAgent [candidate] (666.567 ms) : 0, 666567
GlobalTracer [baseline] (379.388 ms) : 0, 379388
GlobalTracer [candidate] (376.597 ms) : 0, 376597
AppSec [baseline] (54.531 ms) : 0, 54531
AppSec [candidate] (53.561 ms) : 0, 53561
Debugger [baseline] (6.242 ms) : 0, 6242
Debugger [candidate] (6.163 ms) : 0, 6163
Remote Config [baseline] (672.029 µs) : 0, 672
Remote Config [candidate] (663.518 µs) : 0, 664
Telemetry [baseline] (8.195 ms) : 0, 8195
Telemetry [candidate] (8.172 ms) : 0, 8172
Profiling [baseline] (104.223 ms) : 0, 104223
Profiling [candidate] (100.456 ms) : 0, 100456
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.49.0-SNAPSHOT~3f22322a94, baseline=1.49.0-SNAPSHOT~de593cc116

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.061 s) : 0, 1060592
Total [baseline] (8.71 s) : 0, 8710134
Agent [candidate] (1.012 s) : 0, 1012098
Total [candidate] (8.636 s) : 0, 8635877
section iast
Agent [baseline] (1.199 s) : 0, 1198567
Total [baseline] (9.238 s) : 0, 9238151
Agent [candidate] (1.141 s) : 0, 1140795
Total [candidate] (9.196 s) : 0, 9196473
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.195 s) : 0, 1195326
Total [baseline] (9.241 s) : 0, 9241328
Agent [candidate] (1.136 s) : 0, 1136159
Total [candidate] (9.167 s) : 0, 9166769
section iast_TELEMETRY_OFF
Agent [baseline] (1.183 s) : 0, 1182612
Total [baseline] (9.26 s) : 0, 9259833
Agent [candidate] (1.131 s) : 0, 1130968
Total [candidate] (9.156 s) : 0, 9155804
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.061 s -
Agent iast 1.199 s 137.975 ms (13.0%)
Agent iast_HARDCODED_SECRET_DISABLED 1.195 s 134.734 ms (12.7%)
Agent iast_TELEMETRY_OFF 1.183 s 122.02 ms (11.5%)
Total tracing 8.71 s -
Total iast 9.238 s 528.017 ms (6.1%)
Total iast_HARDCODED_SECRET_DISABLED 9.241 s 531.195 ms (6.1%)
Total iast_TELEMETRY_OFF 9.26 s 549.7 ms (6.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.012 s -
Agent iast 1.141 s 128.697 ms (12.7%)
Agent iast_HARDCODED_SECRET_DISABLED 1.136 s 124.061 ms (12.3%)
Agent iast_TELEMETRY_OFF 1.131 s 118.87 ms (11.7%)
Total tracing 8.636 s -
Total iast 9.196 s 560.596 ms (6.5%)
Total iast_HARDCODED_SECRET_DISABLED 9.167 s 530.892 ms (6.1%)
Total iast_TELEMETRY_OFF 9.156 s 519.927 ms (6.0%)
gantt
    title insecure-bank - break down per module: candidate=1.49.0-SNAPSHOT~3f22322a94, baseline=1.49.0-SNAPSHOT~de593cc116

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (723.286 ms) : 0, 723286
BytebuddyAgent [candidate] (673.569 ms) : 0, 673569
GlobalTracer [baseline] (240.259 ms) : 0, 240259
GlobalTracer [candidate] (241.159 ms) : 0, 241159
AppSec [baseline] (55.41 ms) : 0, 55410
AppSec [candidate] (54.958 ms) : 0, 54958
Debugger [baseline] (6.958 ms) : 0, 6958
Debugger [candidate] (7.636 ms) : 0, 7636
Remote Config [baseline] (702.325 µs) : 0, 702
Remote Config [candidate] (699.925 µs) : 0, 700
Telemetry [baseline] (10.523 ms) : 0, 10523
Telemetry [candidate] (10.587 ms) : 0, 10587
section iast
BytebuddyAgent [baseline] (849.681 ms) : 0, 849681
BytebuddyAgent [candidate] (794.003 ms) : 0, 794003
GlobalTracer [baseline] (231.707 ms) : 0, 231707
GlobalTracer [candidate] (229.839 ms) : 0, 229839
AppSec [baseline] (54.732 ms) : 0, 54732
AppSec [candidate] (56.259 ms) : 0, 56259
Debugger [baseline] (5.906 ms) : 0, 5906
Debugger [candidate] (5.845 ms) : 0, 5845
Remote Config [baseline] (605.961 µs) : 0, 606
Remote Config [candidate] (593.062 µs) : 0, 593
Telemetry [baseline] (7.931 ms) : 0, 7931
Telemetry [candidate] (7.838 ms) : 0, 7838
IAST [baseline] (23.717 ms) : 0, 23717
IAST [candidate] (22.923 ms) : 0, 22923
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (847.788 ms) : 0, 847788
BytebuddyAgent [candidate] (787.53 ms) : 0, 787530
GlobalTracer [baseline] (230.801 ms) : 0, 230801
GlobalTracer [candidate] (231.24 ms) : 0, 231240
AppSec [baseline] (51.892 ms) : 0, 51892
AppSec [candidate] (56.722 ms) : 0, 56722
Debugger [baseline] (5.892 ms) : 0, 5892
Debugger [candidate] (5.921 ms) : 0, 5921
Remote Config [baseline] (584.859 µs) : 0, 585
Remote Config [candidate] (584.22 µs) : 0, 584
Telemetry [baseline] (7.85 ms) : 0, 7850
Telemetry [candidate] (7.946 ms) : 0, 7946
IAST [baseline] (24.676 ms) : 0, 24676
IAST [candidate] (22.951 ms) : 0, 22951
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (837.536 ms) : 0, 837536
BytebuddyAgent [candidate] (785.137 ms) : 0, 785137
GlobalTracer [baseline] (229.537 ms) : 0, 229537
GlobalTracer [candidate] (229.535 ms) : 0, 229535
AppSec [baseline] (55.871 ms) : 0, 55871
AppSec [candidate] (56.416 ms) : 0, 56416
Debugger [baseline] (5.864 ms) : 0, 5864
Debugger [candidate] (5.919 ms) : 0, 5919
Remote Config [baseline] (597.221 µs) : 0, 597
Remote Config [candidate] (622.348 µs) : 0, 622
Telemetry [baseline] (7.691 ms) : 0, 7691
Telemetry [candidate] (7.788 ms) : 0, 7788
IAST [baseline] (22.302 ms) : 0, 22302
IAST [candidate] (22.296 ms) : 0, 22296
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-04-25T10:11:30 2025-04-25T10:19:12
git_branch master mcculls/use-byte-buddy-java8-classes
git_commit_date 1745533252 1745574664
git_commit_sha de593cc 3f22322
release_version 1.49.0-SNAPSHOT~de593cc116 1.49.0-SNAPSHOT~3f22322a94
start_time 2025-04-25T10:11:16 2025-04-25T10:18:58
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1745576747 1745576747
ci_job_id 912447464 912447464
ci_pipeline_id 63318017 63318017
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-4i48fg5e-project-304-concurrent-0-9tnmezlv 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-4i48fg5e-project-304-concurrent-0-9tnmezlv 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 12 metrics, 18 unstable metrics.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.49.0-SNAPSHOT~3f22322a94, baseline=1.49.0-SNAPSHOT~de593cc116
    dateFormat X
    axisFormat %s
section baseline
no_agent (380.965 µs) : 361, 401
.   : milestone, 381,
iast (510.36 µs) : 488, 533
.   : milestone, 510,
iast_FULL (731.358 µs) : 709, 754
.   : milestone, 731,
iast_GLOBAL (551.204 µs) : 529, 573
.   : milestone, 551,
iast_HARDCODED_SECRET_DISABLED (520.904 µs) : 498, 544
.   : milestone, 521,
iast_INACTIVE (464.698 µs) : 442, 488
.   : milestone, 465,
iast_TELEMETRY_OFF (497.2 µs) : 474, 520
.   : milestone, 497,
tracing (452.109 µs) : 431, 473
.   : milestone, 452,
section candidate
no_agent (379.796 µs) : 360, 400
.   : milestone, 380,
iast (509.592 µs) : 487, 532
.   : milestone, 510,
iast_FULL (726.215 µs) : 703, 749
.   : milestone, 726,
iast_GLOBAL (565.59 µs) : 542, 589
.   : milestone, 566,
iast_HARDCODED_SECRET_DISABLED (522.391 µs) : 500, 545
.   : milestone, 522,
iast_INACTIVE (466.994 µs) : 444, 490
.   : milestone, 467,
iast_TELEMETRY_OFF (507.86 µs) : 485, 530
.   : milestone, 508,
tracing (457.426 µs) : 435, 480
.   : milestone, 457,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 380.965 µs [360.953 µs, 400.978 µs] -
iast 510.36 µs [487.855 µs, 532.865 µs] 129.395 µs (34.0%)
iast_FULL 731.358 µs [708.855 µs, 753.86 µs] 350.392 µs (92.0%)
iast_GLOBAL 551.204 µs [529.059 µs, 573.349 µs] 170.239 µs (44.7%)
iast_HARDCODED_SECRET_DISABLED 520.904 µs [497.622 µs, 544.185 µs] 139.938 µs (36.7%)
iast_INACTIVE 464.698 µs [441.517 µs, 487.88 µs] 83.733 µs (22.0%)
iast_TELEMETRY_OFF 497.2 µs [474.246 µs, 520.155 µs] 116.235 µs (30.5%)
tracing 452.109 µs [430.82 µs, 473.398 µs] 71.144 µs (18.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 379.796 µs [359.523 µs, 400.07 µs] -
iast 509.592 µs [486.791 µs, 532.393 µs] 129.796 µs (34.2%)
iast_FULL 726.215 µs [703.117 µs, 749.314 µs] 346.419 µs (91.2%)
iast_GLOBAL 565.59 µs [542.446 µs, 588.735 µs] 185.794 µs (48.9%)
iast_HARDCODED_SECRET_DISABLED 522.391 µs [499.865 µs, 544.917 µs] 142.594 µs (37.5%)
iast_INACTIVE 466.994 µs [444.078 µs, 489.911 µs] 87.198 µs (23.0%)
iast_TELEMETRY_OFF 507.86 µs [485.426 µs, 530.295 µs] 128.064 µs (33.7%)
tracing 457.426 µs [435.091 µs, 479.762 µs] 77.63 µs (20.4%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.49.0-SNAPSHOT~3f22322a94, baseline=1.49.0-SNAPSHOT~de593cc116
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.357 ms) : 1338, 1377
.   : milestone, 1357,
appsec (1.728 ms) : 1704, 1752
.   : milestone, 1728,
appsec_no_iast (1.734 ms) : 1711, 1757
.   : milestone, 1734,
code_origins (1.679 ms) : 1651, 1706
.   : milestone, 1679,
iast (1.531 ms) : 1506, 1557
.   : milestone, 1531,
profiling (1.513 ms) : 1489, 1537
.   : milestone, 1513,
tracing (1.489 ms) : 1464, 1513
.   : milestone, 1489,
section candidate
no_agent (1.355 ms) : 1335, 1375
.   : milestone, 1355,
appsec (1.72 ms) : 1696, 1743
.   : milestone, 1720,
appsec_no_iast (1.722 ms) : 1698, 1746
.   : milestone, 1722,
code_origins (1.661 ms) : 1634, 1688
.   : milestone, 1661,
iast (1.507 ms) : 1483, 1530
.   : milestone, 1507,
profiling (1.503 ms) : 1480, 1526
.   : milestone, 1503,
tracing (1.479 ms) : 1455, 1504
.   : milestone, 1479,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.357 ms [1.338 ms, 1.377 ms] -
appsec 1.728 ms [1.704 ms, 1.752 ms] 370.623 µs (27.3%)
appsec_no_iast 1.734 ms [1.711 ms, 1.757 ms] 376.81 µs (27.8%)
code_origins 1.679 ms [1.651 ms, 1.706 ms] 321.283 µs (23.7%)
iast 1.531 ms [1.506 ms, 1.557 ms] 173.721 µs (12.8%)
profiling 1.513 ms [1.489 ms, 1.537 ms] 155.788 µs (11.5%)
tracing 1.489 ms [1.464 ms, 1.513 ms] 131.275 µs (9.7%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.355 ms [1.335 ms, 1.375 ms] -
appsec 1.72 ms [1.696 ms, 1.743 ms] 364.815 µs (26.9%)
appsec_no_iast 1.722 ms [1.698 ms, 1.746 ms] 367.382 µs (27.1%)
code_origins 1.661 ms [1.634 ms, 1.688 ms] 306.011 µs (22.6%)
iast 1.507 ms [1.483 ms, 1.53 ms] 151.947 µs (11.2%)
profiling 1.503 ms [1.48 ms, 1.526 ms] 148.335 µs (10.9%)
tracing 1.479 ms [1.455 ms, 1.504 ms] 124.533 µs (9.2%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/use-byte-buddy-java8-classes
git_commit_date 1745533252 1745574664
git_commit_sha de593cc 3f22322
release_version 1.49.0-SNAPSHOT~de593cc116 1.49.0-SNAPSHOT~3f22322a94
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1745577303 1745577303
ci_job_id 912447465 912447465
ci_pipeline_id 63318017 63318017
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-ekfrqbyz-project-304-concurrent-1-uv2b9col 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-ekfrqbyz-project-304-concurrent-1-uv2b9col 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 11 metrics, 1 unstable metrics.

Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.49.0-SNAPSHOT~3f22322a94, baseline=1.49.0-SNAPSHOT~de593cc116
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.507 s) : 15507000, 15507000
.   : milestone, 15507000,
appsec (14.727 s) : 14727000, 14727000
.   : milestone, 14727000,
iast (18.465 s) : 18465000, 18465000
.   : milestone, 18465000,
iast_GLOBAL (17.92 s) : 17920000, 17920000
.   : milestone, 17920000,
profiling (15.321 s) : 15321000, 15321000
.   : milestone, 15321000,
tracing (15.052 s) : 15052000, 15052000
.   : milestone, 15052000,
section candidate
no_agent (15.652 s) : 15652000, 15652000
.   : milestone, 15652000,
appsec (14.964 s) : 14964000, 14964000
.   : milestone, 14964000,
iast (19.117 s) : 19117000, 19117000
.   : milestone, 19117000,
iast_GLOBAL (17.979 s) : 17979000, 17979000
.   : milestone, 17979000,
profiling (15.51 s) : 15510000, 15510000
.   : milestone, 15510000,
tracing (15.196 s) : 15196000, 15196000
.   : milestone, 15196000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.507 s [15.507 s, 15.507 s] -
appsec 14.727 s [14.727 s, 14.727 s] -780.0 ms (-5.0%)
iast 18.465 s [18.465 s, 18.465 s] 2.958 s (19.1%)
iast_GLOBAL 17.92 s [17.92 s, 17.92 s] 2.413 s (15.6%)
profiling 15.321 s [15.321 s, 15.321 s] -186.0 ms (-1.2%)
tracing 15.052 s [15.052 s, 15.052 s] -455.0 ms (-2.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.652 s [15.652 s, 15.652 s] -
appsec 14.964 s [14.964 s, 14.964 s] -688.0 ms (-4.4%)
iast 19.117 s [19.117 s, 19.117 s] 3.465 s (22.1%)
iast_GLOBAL 17.979 s [17.979 s, 17.979 s] 2.327 s (14.9%)
profiling 15.51 s [15.51 s, 15.51 s] -142.0 ms (-0.9%)
tracing 15.196 s [15.196 s, 15.196 s] -456.0 ms (-2.9%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.49.0-SNAPSHOT~3f22322a94, baseline=1.49.0-SNAPSHOT~de593cc116
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.477 ms) : 1466, 1489
.   : milestone, 1477,
appsec (2.376 ms) : 2330, 2423
.   : milestone, 2376,
iast (2.155 ms) : 2096, 2214
.   : milestone, 2155,
iast_GLOBAL (2.199 ms) : 2139, 2258
.   : milestone, 2199,
profiling (2.009 ms) : 1962, 2056
.   : milestone, 2009,
tracing (1.983 ms) : 1938, 2028
.   : milestone, 1983,
section candidate
no_agent (1.48 ms) : 1468, 1491
.   : milestone, 1480,
appsec (2.38 ms) : 2333, 2427
.   : milestone, 2380,
iast (2.156 ms) : 2097, 2214
.   : milestone, 2156,
iast_GLOBAL (2.193 ms) : 2134, 2252
.   : milestone, 2193,
profiling (2.451 ms) : 2285, 2618
.   : milestone, 2451,
tracing (1.983 ms) : 1938, 2028
.   : milestone, 1983,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.477 ms [1.466 ms, 1.489 ms] -
appsec 2.376 ms [2.33 ms, 2.423 ms] 899.078 µs (60.9%)
iast 2.155 ms [2.096 ms, 2.214 ms] 677.614 µs (45.9%)
iast_GLOBAL 2.199 ms [2.139 ms, 2.258 ms] 721.594 µs (48.8%)
profiling 2.009 ms [1.962 ms, 2.056 ms] 531.649 µs (36.0%)
tracing 1.983 ms [1.938 ms, 2.028 ms] 505.911 µs (34.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.48 ms [1.468 ms, 1.491 ms] -
appsec 2.38 ms [2.333 ms, 2.427 ms] 900.284 µs (60.8%)
iast 2.156 ms [2.097 ms, 2.214 ms] 675.744 µs (45.7%)
iast_GLOBAL 2.193 ms [2.134 ms, 2.252 ms] 713.191 µs (48.2%)
profiling 2.451 ms [2.285 ms, 2.618 ms] 971.562 µs (65.7%)
tracing 1.983 ms [1.938 ms, 2.028 ms] 503.197 µs (34.0%)

@mcculls mcculls marked this pull request as ready for review April 25, 2025 10:43
@mcculls mcculls requested a review from a team as a code owner April 25, 2025 10:43
@mcculls mcculls requested review from PerfectSlayer and dougqh April 25, 2025 10:43
Copy link
Contributor

@PerfectSlayer PerfectSlayer left a comment

Choose a reason for hiding this comment

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

Nice improvement.
Will CDS support impact Leyden compatibility in some way?

@mcculls
Copy link
Contributor Author

mcculls commented Apr 25, 2025

Will CDS support impact Leyden compatibility in some way?

Leyden doesn't currently support agents, so this doesn't change the situation there

@mcculls mcculls merged commit 75634fe into master Apr 25, 2025
463 of 464 checks passed
@mcculls mcculls deleted the mcculls/use-byte-buddy-java8-classes branch April 25, 2025 12:07
@github-actions github-actions bot added this to the 1.49.0 milestone Apr 25, 2025
@PerfectSlayer PerfectSlayer added the tag: performance Performance related changes label Apr 25, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request May 7, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[com.google.cloud:google-cloud-logging](https://github.com/googleapis/java-logging)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`3.22.2` -> `3.22.3` |
|
[com.google.cloud:google-cloud-datastore](https://github.com/googleapis/java-datastore)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.28.0` -> `2.28.1` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.48.2` -> `1.49.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |
| [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.31.36` -> `2.31.37` |

---

### Release Notes

<details>
<summary>googleapis/java-logging
(com.google.cloud:google-cloud-logging)</summary>

###
[`v3.22.3`](https://github.com/googleapis/java-logging/blob/HEAD/CHANGELOG.md#3223-2025-05-06)

##### Bug Fixes

- **deps:** Update the Java code generator (gapic-generator-java) to
2.56.3
([844f4fa](googleapis/java-logging@844f4fa))

##### Dependencies

- Update dependency com.google.cloud:sdk-platform-java-config to v3.46.3
([#&#8203;1801](googleapis/java-logging#1801))
([d7aa7bc](googleapis/java-logging@d7aa7bc))
- Update dependency com.google.cloud:sdk-platform-java-config to v3.47.0
([#&#8203;1803](googleapis/java-logging#1803))
([5967ffe](googleapis/java-logging@5967ffe))
- Update googleapis/sdk-platform-java action to v2.57.0
([#&#8203;1804](googleapis/java-logging#1804))
([e9a27ec](googleapis/java-logging@e9a27ec))

</details>

<details>
<summary>googleapis/java-datastore
(com.google.cloud:google-cloud-datastore)</summary>

###
[`v2.28.1`](https://github.com/googleapis/java-datastore/blob/HEAD/CHANGELOG.md#2281-2025-05-06)

##### Dependencies

- Update dependency com.google.cloud:sdk-platform-java-config to v3.47.0
([#&#8203;1841](googleapis/java-datastore#1841))
([ac393e6](googleapis/java-datastore@ac393e6))
- Update googleapis/sdk-platform-java action to v2.57.0
([#&#8203;1842](googleapis/java-datastore#1842))
([0745906](googleapis/java-datastore@0745906))

</details>

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

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

### Components

#### Configuration at Runtime

- ✨ Add process tags as list to remote config payload
([#&#8203;8705](DataDog/dd-trace-java#8705) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Continuous Integration Visibility

- 🐛 Add span propagation for Pekko scheduled tasks
([#&#8203;8765](DataDog/dd-trace-java#8765) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Update test.retry_reason to use full name of the feature
([#&#8203;8689](DataDog/dd-trace-java#8689) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- 🧹 Remove unused TestEventsHandler methods
([#&#8203;8674](DataDog/dd-trace-java#8674) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))

#### Dynamic Instrumentation

- 🐛 Fix exclude identifiers normalization
([#&#8203;8742](DataDog/dd-trace-java#8742) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Make source file tracking asynchronous
([#&#8203;8684](DataDog/dd-trace-java#8684) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add scope filtering for symbol extraction
([#&#8203;8676](DataDog/dd-trace-java#8676) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add support for [@&#8203;key](https://github.com/key) and
[@&#8203;value](https://github.com/value) for Map filtering
([#&#8203;8669](DataDog/dd-trace-java#8669) -
[@&#8203;jpbempel](https://github.com/jpbempel))

#### Library Injection

- ✨ Add system property to force injection of the tracing
library even though multiple javaagents have been detected
([#&#8203;8697](DataDog/dd-trace-java#8697) -
[@&#8203;cecile75](https://github.com/cecile75))

#### Metrics

- ✨ Allow dogstatsd port to be configurable with
DD_DOGSTATSD_PORT
([#&#8203;8693](DataDog/dd-trace-java#8693) -
[@&#8203;randomanderson](https://github.com/randomanderson))

#### Profiling

- ✨ Bump ddprof-java to 1.25.1
([#&#8203;8750](DataDog/dd-trace-java#8750) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- 🐛 Remove cleanup-on-shutdown for temporary files
([#&#8203;8746](DataDog/dd-trace-java#8746) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨⚡ Replace a regex-based SMAP parser with a hand-crafted
one
([#&#8203;8730](DataDog/dd-trace-java#8730) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Improve error reporting on profiler startup
([#&#8203;8714](DataDog/dd-trace-java#8714) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Exclude ProxyLeakTask exception from exception profiling
([#&#8203;8666](DataDog/dd-trace-java#8666) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Use jvmstat for JDKs 9+ programmatically
([#&#8203;8641](DataDog/dd-trace-java#8641) -
[@&#8203;MattAlp](https://github.com/MattAlp))

#### Telemetry

- ✨ Allow dogstatsd port to be configurable with
DD_DOGSTATSD_PORT
([#&#8203;8693](DataDog/dd-trace-java#8693) -
[@&#8203;randomanderson](https://github.com/randomanderson))
- 🐛 Fix appsec.waf.requests telemetry metric
([#&#8203;8644](DataDog/dd-trace-java#8644) -
[@&#8203;jandro996](https://github.com/jandro996))

#### Tracer core

- ✨ Exclude jackson afterburner dynamic classes from
instrumentation
([#&#8203;8747](DataDog/dd-trace-java#8747) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Introduce Java 8 bytecode bridge for instrumentation API
([#&#8203;8736](DataDog/dd-trace-java#8736) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ⚡🧹 Use byte-buddy classes optimized for Java8+
([#&#8203;8735](DataDog/dd-trace-java#8735) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🐛 Do not set the hibernate or datanucleus span service name when
disabled
([#&#8203;8727](DataDog/dd-trace-java#8727) -
[@&#8203;ygree](https://github.com/ygree))
- ✨ Update bytebuddy and ASM to support JDK 24
([#&#8203;8720](DataDog/dd-trace-java#8720) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))
- 🐛 Turn off JDK socket support by default
([#&#8203;8715](DataDog/dd-trace-java#8715) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🐛 Log warning when trace buffer overflow occurs
([#&#8203;8712](DataDog/dd-trace-java#8712) -
[@&#8203;ygree](https://github.com/ygree))
- ✨🧪 Introducing an internal integration name
([#&#8203;8708](DataDog/dd-trace-java#8708) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add process tags to client stats payload
([#&#8203;8704](DataDog/dd-trace-java#8704) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Collect process tags for tracing
([#&#8203;8698](DataDog/dd-trace-java#8698) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Stable Config file: target system properties in
process_arguments and support template variables in YamlParser
([#&#8203;8690](DataDog/dd-trace-java#8690) -
[@&#8203;mtoffl01](https://github.com/mtoffl01))
- ✨⚡ Use prefix trie for proxy ignores
([#&#8203;8678](DataDog/dd-trace-java#8678) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Allow agent to be automatically injected when running aside
Log4J patch agent
([#&#8203;8648](DataDog/dd-trace-java#8648) -
[@&#8203;paullegranddc](https://github.com/paullegranddc))
- ✨ Use jvmstat for JDKs 9+ programmatically
([#&#8203;8641](DataDog/dd-trace-java#8641) -
[@&#8203;MattAlp](https://github.com/MattAlp))

#### Tracer internal logging

- 🐛 Delete print line
([#&#8203;8686](DataDog/dd-trace-java#8686) -
[@&#8203;sarahchen6](https://github.com/sarahchen6))

### Instrumentations

#### Akka instrumentation

- 🐛 Handle reentrant scope cleanup in Akka/Pekko actor
instrumentations
([#&#8203;8722](DataDog/dd-trace-java#8722) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Apache Spark instrumentation

- ✨ Use OpenLineage root parent information to generate trace
id ([#&#8203;8726](DataDog/dd-trace-java#8726)
- [@&#8203;mobuchowski](https://github.com/mobuchowski))
- ✨ Spark job cancellation no longer marks application as
failed
([#&#8203;8701](DataDog/dd-trace-java#8701) -
[@&#8203;paul-laffon-dd](https://github.com/paul-laffon-dd))

#### JDBC instrumentation

- 💡 Add support for sybase tds jdbc driver
([#&#8203;8764](DataDog/dd-trace-java#8764) -
[@&#8203;amarziali](https://github.com/amarziali))

#### Kotlin instrumentation

- 🐛 Take defensive copy of parent scope stack when closing nested
coroutines
([#&#8203;8749](DataDog/dd-trace-java#8749) -
[@&#8203;mcculls](https://github.com/mcculls))

#### Reactor instrumentation

- ✨⚡ Do not inspect reactor context when not needed
([#&#8203;8745](DataDog/dd-trace-java#8745) -
[@&#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**: Enabled.

♻ **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: 795f347ae34d056efc1194c2f606cee7bca1beea
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: core Tracer core tag: dependencies Dependencies related changes tag: performance Performance related changes type: refactoring
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants