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

Introduce marker mechanism for eagerly initializing helpers #8028

Merged
merged 1 commit into from
Nov 28, 2024

Conversation

mcculls
Copy link
Contributor

@mcculls mcculls commented Nov 27, 2024

What Does This Do

Builds on existing helper mechanism, eager helpers must declare a public static "init" method that takes no arguments.

Motivation

Use eager helper mechanism to register AsyncResultExtensions as we inject them, so we don't need to instrument lots of different constructors / methods.

Contributor Checklist

Jira ticket: AIDM-447

@pr-commenter
Copy link

pr-commenter bot commented Nov 27, 2024

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/introduce-eager-helper-mechanism
git_commit_date 1732735962 1732736900
git_commit_sha 207f770 bb3eabd
release_version 1.44.0-SNAPSHOT~207f770623 1.44.0-SNAPSHOT~bb3eabdb03
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1732739476 1732739476
ci_job_id 722390477 722390477
ci_pipeline_id 50080370 50080370
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 57 metrics, 6 unstable metrics.

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.44.0-SNAPSHOT~bb3eabdb03, baseline=1.44.0-SNAPSHOT~207f770623

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.093 s) : 0, 1093040
Total [baseline] (10.475 s) : 0, 10475402
Agent [candidate] (1.09 s) : 0, 1090277
Total [candidate] (10.416 s) : 0, 10416065
section appsec
Agent [baseline] (1.227 s) : 0, 1226507
Total [baseline] (10.742 s) : 0, 10742496
Agent [candidate] (1.23 s) : 0, 1230120
Total [candidate] (10.749 s) : 0, 10748696
section iast
Agent [baseline] (1.217 s) : 0, 1217277
Total [baseline] (10.96 s) : 0, 10960468
Agent [candidate] (1.221 s) : 0, 1220828
Total [candidate] (10.955 s) : 0, 10955277
section profiling
Agent [baseline] (1.314 s) : 0, 1313979
Total [baseline] (10.795 s) : 0, 10795259
Agent [candidate] (1.321 s) : 0, 1321323
Total [candidate] (10.844 s) : 0, 10843844
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.093 s -
Agent appsec 1.227 s 133.467 ms (12.2%)
Agent iast 1.217 s 124.237 ms (11.4%)
Agent profiling 1.314 s 220.94 ms (20.2%)
Total tracing 10.475 s -
Total appsec 10.742 s 267.094 ms (2.5%)
Total iast 10.96 s 485.066 ms (4.6%)
Total profiling 10.795 s 319.857 ms (3.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.09 s -
Agent appsec 1.23 s 139.843 ms (12.8%)
Agent iast 1.221 s 130.551 ms (12.0%)
Agent profiling 1.321 s 231.046 ms (21.2%)
Total tracing 10.416 s -
Total appsec 10.749 s 332.632 ms (3.2%)
Total iast 10.955 s 539.212 ms (5.2%)
Total profiling 10.844 s 427.78 ms (4.1%)
gantt
    title petclinic - break down per module: candidate=1.44.0-SNAPSHOT~bb3eabdb03, baseline=1.44.0-SNAPSHOT~207f770623

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (694.589 ms) : 0, 694589
BytebuddyAgent [candidate] (694.391 ms) : 0, 694391
GlobalTracer [baseline] (317.87 ms) : 0, 317870
GlobalTracer [candidate] (318.149 ms) : 0, 318149
AppSec [baseline] (54.759 ms) : 0, 54759
AppSec [candidate] (54.87 ms) : 0, 54870
Remote Config [baseline] (676.532 µs) : 0, 677
Remote Config [candidate] (677.248 µs) : 0, 677
Telemetry [baseline] (11.422 ms) : 0, 11422
Telemetry [candidate] (8.468 ms) : 0, 8468
section appsec
BytebuddyAgent [baseline] (712.627 ms) : 0, 712627
BytebuddyAgent [candidate] (714.019 ms) : 0, 714019
GlobalTracer [baseline] (314.65 ms) : 0, 314650
GlobalTracer [candidate] (316.292 ms) : 0, 316292
AppSec [baseline] (167.545 ms) : 0, 167545
AppSec [candidate] (166.18 ms) : 0, 166180
Remote Config [baseline] (647.653 µs) : 0, 648
Remote Config [candidate] (645.527 µs) : 0, 646
Telemetry [baseline] (7.812 ms) : 0, 7812
Telemetry [candidate] (9.675 ms) : 0, 9675
IAST [baseline] (18.927 ms) : 0, 18927
IAST [candidate] (19.079 ms) : 0, 19079
section iast
BytebuddyAgent [baseline] (810.949 ms) : 0, 810949
BytebuddyAgent [candidate] (813.308 ms) : 0, 813308
GlobalTracer [baseline] (305.832 ms) : 0, 305832
GlobalTracer [candidate] (306.649 ms) : 0, 306649
AppSec [baseline] (57.853 ms) : 0, 57853
AppSec [candidate] (58.145 ms) : 0, 58145
Remote Config [baseline] (630.079 µs) : 0, 630
Remote Config [candidate] (643.032 µs) : 0, 643
Telemetry [baseline] (7.478 ms) : 0, 7478
Telemetry [candidate] (7.556 ms) : 0, 7556
IAST [baseline] (20.783 ms) : 0, 20783
IAST [candidate] (20.768 ms) : 0, 20768
section profiling
BytebuddyAgent [baseline] (687.274 ms) : 0, 687274
BytebuddyAgent [candidate] (691.774 ms) : 0, 691774
GlobalTracer [baseline] (433.043 ms) : 0, 433043
GlobalTracer [candidate] (434.001 ms) : 0, 434001
AppSec [baseline] (53.448 ms) : 0, 53448
AppSec [candidate] (53.814 ms) : 0, 53814
Remote Config [baseline] (647.637 µs) : 0, 648
Remote Config [candidate] (664.403 µs) : 0, 664
Telemetry [baseline] (7.682 ms) : 0, 7682
Telemetry [candidate] (7.739 ms) : 0, 7739
ProfilingAgent [baseline] (92.85 ms) : 0, 92850
ProfilingAgent [candidate] (93.983 ms) : 0, 93983
Profiling [baseline] (92.874 ms) : 0, 92874
Profiling [candidate] (94.007 ms) : 0, 94007
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.44.0-SNAPSHOT~bb3eabdb03, baseline=1.44.0-SNAPSHOT~207f770623

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.092 s) : 0, 1092201
Total [baseline] (8.666 s) : 0, 8665822
Agent [candidate] (1.09 s) : 0, 1089888
Total [candidate] (8.693 s) : 0, 8692798
section iast
Agent [baseline] (1.225 s) : 0, 1225469
Total [baseline] (9.273 s) : 0, 9273019
Agent [candidate] (1.227 s) : 0, 1226625
Total [candidate] (9.23 s) : 0, 9230394
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.222 s) : 0, 1222087
Total [baseline] (9.166 s) : 0, 9166180
Agent [candidate] (1.227 s) : 0, 1226546
Total [candidate] (9.216 s) : 0, 9216081
section iast_TELEMETRY_OFF
Agent [baseline] (1.229 s) : 0, 1228680
Total [baseline] (9.209 s) : 0, 9208554
Agent [candidate] (1.221 s) : 0, 1221154
Total [candidate] (9.207 s) : 0, 9206671
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.092 s -
Agent iast 1.225 s 133.268 ms (12.2%)
Agent iast_HARDCODED_SECRET_DISABLED 1.222 s 129.887 ms (11.9%)
Agent iast_TELEMETRY_OFF 1.229 s 136.479 ms (12.5%)
Total tracing 8.666 s -
Total iast 9.273 s 607.198 ms (7.0%)
Total iast_HARDCODED_SECRET_DISABLED 9.166 s 500.358 ms (5.8%)
Total iast_TELEMETRY_OFF 9.209 s 542.732 ms (6.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.09 s -
Agent iast 1.227 s 136.737 ms (12.5%)
Agent iast_HARDCODED_SECRET_DISABLED 1.227 s 136.658 ms (12.5%)
Agent iast_TELEMETRY_OFF 1.221 s 131.266 ms (12.0%)
Total tracing 8.693 s -
Total iast 9.23 s 537.596 ms (6.2%)
Total iast_HARDCODED_SECRET_DISABLED 9.216 s 523.283 ms (6.0%)
Total iast_TELEMETRY_OFF 9.207 s 513.873 ms (5.9%)
gantt
    title insecure-bank - break down per module: candidate=1.44.0-SNAPSHOT~bb3eabdb03, baseline=1.44.0-SNAPSHOT~207f770623

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (694.317 ms) : 0, 694317
BytebuddyAgent [candidate] (693.681 ms) : 0, 693681
GlobalTracer [baseline] (317.815 ms) : 0, 317815
GlobalTracer [candidate] (317.588 ms) : 0, 317588
AppSec [baseline] (54.872 ms) : 0, 54872
AppSec [candidate] (54.852 ms) : 0, 54852
Remote Config [baseline] (678.645 µs) : 0, 679
Remote Config [candidate] (679.989 µs) : 0, 680
Telemetry [baseline] (10.719 ms) : 0, 10719
Telemetry [candidate] (9.329 ms) : 0, 9329
section iast
BytebuddyAgent [baseline] (815.8 ms) : 0, 815800
BytebuddyAgent [candidate] (817.627 ms) : 0, 817627
GlobalTracer [baseline] (307.656 ms) : 0, 307656
GlobalTracer [candidate] (307.698 ms) : 0, 307698
AppSec [baseline] (57.798 ms) : 0, 57798
AppSec [candidate] (56.704 ms) : 0, 56704
IAST [baseline] (22.089 ms) : 0, 22089
IAST [candidate] (22.591 ms) : 0, 22591
Remote Config [baseline] (649.05 µs) : 0, 649
Remote Config [candidate] (632.287 µs) : 0, 632
Telemetry [baseline] (7.652 ms) : 0, 7652
Telemetry [candidate] (7.51 ms) : 0, 7510
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (813.025 ms) : 0, 813025
BytebuddyAgent [candidate] (816.929 ms) : 0, 816929
GlobalTracer [baseline] (307.916 ms) : 0, 307916
GlobalTracer [candidate] (308.126 ms) : 0, 308126
AppSec [baseline] (58.258 ms) : 0, 58258
AppSec [candidate] (58.205 ms) : 0, 58205
IAST [baseline] (20.915 ms) : 0, 20915
IAST [candidate] (21.087 ms) : 0, 21087
Remote Config [baseline] (636.331 µs) : 0, 636
Remote Config [candidate] (640.025 µs) : 0, 640
Telemetry [baseline] (7.588 ms) : 0, 7588
Telemetry [candidate] (7.55 ms) : 0, 7550
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (816.26 ms) : 0, 816260
BytebuddyAgent [candidate] (811.57 ms) : 0, 811570
GlobalTracer [baseline] (310.553 ms) : 0, 310553
GlobalTracer [candidate] (308.732 ms) : 0, 308732
AppSec [baseline] (56.558 ms) : 0, 56558
AppSec [candidate] (58.323 ms) : 0, 58323
IAST [baseline] (23.365 ms) : 0, 23365
IAST [candidate] (20.602 ms) : 0, 20602
Remote Config [baseline] (625.709 µs) : 0, 626
Remote Config [candidate] (636.634 µs) : 0, 637
Telemetry [baseline] (7.491 ms) : 0, 7491
Telemetry [candidate] (7.512 ms) : 0, 7512
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2024-11-27T20:01:41 2024-11-27T20:08:42
git_branch master mcculls/introduce-eager-helper-mechanism
git_commit_date 1732735962 1732736900
git_commit_sha 207f770 bb3eabd
release_version 1.44.0-SNAPSHOT~207f770623 1.44.0-SNAPSHOT~bb3eabdb03
start_time 2024-11-27T20:01:27 2024-11-27T20:08:29
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1732738478 1732738478
ci_job_id 722390478 722390478
ci_pipeline_id 50080370 50080370
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 0 performance regressions! Performance is the same for 12 metrics, 16 unstable metrics.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.44.0-SNAPSHOT~bb3eabdb03, baseline=1.44.0-SNAPSHOT~207f770623
    dateFormat X
    axisFormat %s
section baseline
no_agent (374.409 µs) : 354, 395
.   : milestone, 374,
iast (503.693 µs) : 482, 526
.   : milestone, 504,
iast_FULL (659.945 µs) : 638, 681
.   : milestone, 660,
iast_GLOBAL (529.286 µs) : 507, 552
.   : milestone, 529,
iast_HARDCODED_SECRET_DISABLED (494.182 µs) : 473, 515
.   : milestone, 494,
iast_INACTIVE (462.771 µs) : 441, 484
.   : milestone, 463,
iast_TELEMETRY_OFF (487.857 µs) : 466, 509
.   : milestone, 488,
tracing (457.294 µs) : 436, 478
.   : milestone, 457,
section candidate
no_agent (376.36 µs) : 357, 396
.   : milestone, 376,
iast (505.46 µs) : 484, 527
.   : milestone, 505,
iast_FULL (658.899 µs) : 637, 681
.   : milestone, 659,
iast_GLOBAL (532.068 µs) : 510, 554
.   : milestone, 532,
iast_HARDCODED_SECRET_DISABLED (494.235 µs) : 473, 516
.   : milestone, 494,
iast_INACTIVE (467.843 µs) : 446, 489
.   : milestone, 468,
iast_TELEMETRY_OFF (491.389 µs) : 470, 513
.   : milestone, 491,
tracing (455.332 µs) : 435, 476
.   : milestone, 455,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 374.409 µs [354.071 µs, 394.747 µs] -
iast 503.693 µs [481.864 µs, 525.522 µs] 129.283 µs (34.5%)
iast_FULL 659.945 µs [638.459 µs, 681.43 µs] 285.535 µs (76.3%)
iast_GLOBAL 529.286 µs [506.689 µs, 551.884 µs] 154.877 µs (41.4%)
iast_HARDCODED_SECRET_DISABLED 494.182 µs [472.948 µs, 515.416 µs] 119.773 µs (32.0%)
iast_INACTIVE 462.771 µs [441.116 µs, 484.426 µs] 88.362 µs (23.6%)
iast_TELEMETRY_OFF 487.857 µs [466.423 µs, 509.29 µs] 113.447 µs (30.3%)
tracing 457.294 µs [436.479 µs, 478.109 µs] 82.885 µs (22.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 376.36 µs [356.676 µs, 396.043 µs] -
iast 505.46 µs [483.534 µs, 527.387 µs] 129.1 µs (34.3%)
iast_FULL 658.899 µs [637.05 µs, 680.749 µs] 282.54 µs (75.1%)
iast_GLOBAL 532.068 µs [510.403 µs, 553.732 µs] 155.708 µs (41.4%)
iast_HARDCODED_SECRET_DISABLED 494.235 µs [472.752 µs, 515.718 µs] 117.875 µs (31.3%)
iast_INACTIVE 467.843 µs [446.308 µs, 489.377 µs] 91.483 µs (24.3%)
iast_TELEMETRY_OFF 491.389 µs [469.688 µs, 513.09 µs] 115.029 µs (30.6%)
tracing 455.332 µs [434.73 µs, 475.934 µs] 78.972 µs (21.0%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.44.0-SNAPSHOT~bb3eabdb03, baseline=1.44.0-SNAPSHOT~207f770623
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.372 ms) : 1353, 1392
.   : milestone, 1372,
appsec (1.771 ms) : 1746, 1795
.   : milestone, 1771,
appsec_no_iast (1.77 ms) : 1746, 1794
.   : milestone, 1770,
iast (1.506 ms) : 1483, 1529
.   : milestone, 1506,
profiling (1.56 ms) : 1536, 1584
.   : milestone, 1560,
tracing (1.5 ms) : 1475, 1524
.   : milestone, 1500,
section candidate
no_agent (1.362 ms) : 1342, 1382
.   : milestone, 1362,
appsec (1.762 ms) : 1737, 1787
.   : milestone, 1762,
appsec_no_iast (1.767 ms) : 1742, 1791
.   : milestone, 1767,
iast (1.514 ms) : 1490, 1537
.   : milestone, 1514,
profiling (1.538 ms) : 1515, 1562
.   : milestone, 1538,
tracing (1.489 ms) : 1464, 1514
.   : milestone, 1489,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.372 ms [1.353 ms, 1.392 ms] -
appsec 1.771 ms [1.746 ms, 1.795 ms] 398.487 µs (29.0%)
appsec_no_iast 1.77 ms [1.746 ms, 1.794 ms] 397.731 µs (29.0%)
iast 1.506 ms [1.483 ms, 1.529 ms] 133.265 µs (9.7%)
profiling 1.56 ms [1.536 ms, 1.584 ms] 187.725 µs (13.7%)
tracing 1.5 ms [1.475 ms, 1.524 ms] 127.412 µs (9.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.362 ms [1.342 ms, 1.382 ms] -
appsec 1.762 ms [1.737 ms, 1.787 ms] 399.926 µs (29.4%)
appsec_no_iast 1.767 ms [1.742 ms, 1.791 ms] 404.657 µs (29.7%)
iast 1.514 ms [1.49 ms, 1.537 ms] 151.8 µs (11.1%)
profiling 1.538 ms [1.515 ms, 1.562 ms] 176.314 µs (12.9%)
tracing 1.489 ms [1.464 ms, 1.514 ms] 127.117 µs (9.3%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/introduce-eager-helper-mechanism
git_commit_date 1732735962 1732736900
git_commit_sha 207f770 bb3eabd
release_version 1.44.0-SNAPSHOT~207f770623 1.44.0-SNAPSHOT~bb3eabdb03
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1732738976 1732738976
ci_job_id 722390479 722390479
ci_pipeline_id 50080370 50080370
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
variant appsec appsec

Summary

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

Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.44.0-SNAPSHOT~bb3eabdb03, baseline=1.44.0-SNAPSHOT~207f770623
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.698 s) : 14698000, 14698000
.   : milestone, 14698000,
appsec (15.056 s) : 15056000, 15056000
.   : milestone, 15056000,
iast (18.762 s) : 18762000, 18762000
.   : milestone, 18762000,
iast_GLOBAL (18.06 s) : 18060000, 18060000
.   : milestone, 18060000,
profiling (14.864 s) : 14864000, 14864000
.   : milestone, 14864000,
tracing (15.096 s) : 15096000, 15096000
.   : milestone, 15096000,
section candidate
no_agent (15.419 s) : 15419000, 15419000
.   : milestone, 15419000,
appsec (14.961 s) : 14961000, 14961000
.   : milestone, 14961000,
iast (18.994 s) : 18994000, 18994000
.   : milestone, 18994000,
iast_GLOBAL (17.691 s) : 17691000, 17691000
.   : milestone, 17691000,
profiling (15.056 s) : 15056000, 15056000
.   : milestone, 15056000,
tracing (14.899 s) : 14899000, 14899000
.   : milestone, 14899000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.698 s [14.698 s, 14.698 s] -
appsec 15.056 s [15.056 s, 15.056 s] 358.0 ms (2.4%)
iast 18.762 s [18.762 s, 18.762 s] 4.064 s (27.7%)
iast_GLOBAL 18.06 s [18.06 s, 18.06 s] 3.362 s (22.9%)
profiling 14.864 s [14.864 s, 14.864 s] 166.0 ms (1.1%)
tracing 15.096 s [15.096 s, 15.096 s] 398.0 ms (2.7%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.419 s [15.419 s, 15.419 s] -
appsec 14.961 s [14.961 s, 14.961 s] -458.0 ms (-3.0%)
iast 18.994 s [18.994 s, 18.994 s] 3.575 s (23.2%)
iast_GLOBAL 17.691 s [17.691 s, 17.691 s] 2.272 s (14.7%)
profiling 15.056 s [15.056 s, 15.056 s] -363.0 ms (-2.4%)
tracing 14.899 s [14.899 s, 14.899 s] -520.0 ms (-3.4%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.44.0-SNAPSHOT~bb3eabdb03, baseline=1.44.0-SNAPSHOT~207f770623
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.467 ms) : 1455, 1478
.   : milestone, 1467,
appsec (2.33 ms) : 2289, 2372
.   : milestone, 2330,
iast (2.078 ms) : 2026, 2130
.   : milestone, 2078,
iast_GLOBAL (2.116 ms) : 2064, 2169
.   : milestone, 2116,
profiling (1.933 ms) : 1892, 1975
.   : milestone, 1933,
tracing (1.919 ms) : 1879, 1959
.   : milestone, 1919,
section candidate
no_agent (1.465 ms) : 1454, 1477
.   : milestone, 1465,
appsec (2.334 ms) : 2292, 2375
.   : milestone, 2334,
iast (2.071 ms) : 2019, 2124
.   : milestone, 2071,
iast_GLOBAL (2.118 ms) : 2065, 2170
.   : milestone, 2118,
profiling (1.949 ms) : 1905, 1992
.   : milestone, 1949,
tracing (1.92 ms) : 1880, 1960
.   : milestone, 1920,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.467 ms [1.455 ms, 1.478 ms] -
appsec 2.33 ms [2.289 ms, 2.372 ms] 863.508 µs (58.9%)
iast 2.078 ms [2.026 ms, 2.13 ms] 611.296 µs (41.7%)
iast_GLOBAL 2.116 ms [2.064 ms, 2.169 ms] 649.526 µs (44.3%)
profiling 1.933 ms [1.892 ms, 1.975 ms] 466.416 µs (31.8%)
tracing 1.919 ms [1.879 ms, 1.959 ms] 452.435 µs (30.8%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.465 ms [1.454 ms, 1.477 ms] -
appsec 2.334 ms [2.292 ms, 2.375 ms] 868.857 µs (59.3%)
iast 2.071 ms [2.019 ms, 2.124 ms] 606.293 µs (41.4%)
iast_GLOBAL 2.118 ms [2.065 ms, 2.17 ms] 652.426 µs (44.5%)
profiling 1.949 ms [1.905 ms, 1.992 ms] 483.433 µs (33.0%)
tracing 1.92 ms [1.88 ms, 1.96 ms] 454.873 µs (31.0%)

@mcculls mcculls marked this pull request as ready for review November 27, 2024 21:14
@mcculls mcculls requested review from a team as code owners November 27, 2024 21:14
.getClass()
.getName()
.endsWith("ThrowawayClassLoader")) {
return; // spring-native expects this to be thrown away, not persisted
Copy link
Collaborator

Choose a reason for hiding this comment

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

what's the story behind that?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

spring-native uses this special class-loader to perform its own analysis during native-image generation - classes loaded by it are not supposed to be recorded as "build-time". Since AsyncResultExtensions and anything it holds will be marked as "build-time" we must not keep hold of any throw-away classes here.

https://github.com/spring-projects/spring-framework/blob/main/spring-core/src/main/java/org/springframework/aot/nativex/feature/ThrowawayClassLoader.java#L25

Copy link
Collaborator

@amarziali amarziali left a comment

Choose a reason for hiding this comment

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

thank you Stuart

@mcculls mcculls merged commit a86c3ca into master Nov 28, 2024
109 checks passed
@mcculls mcculls deleted the mcculls/introduce-eager-helper-mechanism branch November 28, 2024 09:32
@github-actions github-actions bot added this to the 1.44.0 milestone Nov 28, 2024
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Dec 16, 2024
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[com.google.api.grpc:proto-google-common-protos](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.49.0` -> `2.50.0` |
|
[com.google.cloud:google-cloud-core-http](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.48.0` -> `2.49.0` |
|
[com.google.cloud:google-cloud-spanner](https://github.com/googleapis/java-spanner)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`6.82.0` -> `6.83.0` |
|
[com.google.cloud:google-cloud-logging](https://github.com/googleapis/java-logging)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`3.20.7` -> `3.21.0` |
|
[com.google.cloud:google-cloud-datastore](https://github.com/googleapis/java-datastore)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.24.3` -> `2.25.1` |
|
[com.google.cloud:google-cloud-core](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.48.0` -> `2.49.0` |
| [com.google.api:gax](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.58.0` -> `2.59.0` |
|
[com.autonomousapps.dependency-analysis](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin)
| plugin | misk/gradle/libs.versions.toml | gradle | patch | `2.6.0` ->
`2.6.1` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.43.0` -> `1.44.1` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.43.0` -> `1.44.1` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.32` -> `2.29.34` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.32` -> `2.29.34` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.32` -> `2.29.34` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.32` -> `2.29.34` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.32` -> `2.29.34` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.32` -> `2.29.34` |
| [com.amazonaws:aws-java-sdk-sqs](https://aws.amazon.com/sdkforjava)
([source](https://github.com/aws/aws-sdk-java)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `1.12.779` ->
`1.12.780` |
| [com.amazonaws:aws-java-sdk-s3](https://aws.amazon.com/sdkforjava)
([source](https://github.com/aws/aws-sdk-java)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `1.12.779` ->
`1.12.780` |
|
[com.amazonaws:aws-java-sdk-dynamodb](https://aws.amazon.com/sdkforjava)
([source](https://github.com/aws/aws-sdk-java)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `1.12.779` ->
`1.12.780` |
| [com.amazonaws:aws-java-sdk-core](https://aws.amazon.com/sdkforjava)
([source](https://github.com/aws/aws-sdk-java)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `1.12.779` ->
`1.12.780` |

---

### Release Notes

<details>
<summary>googleapis/sdk-platform-java
(com.google.api.grpc:proto-google-common-protos)</summary>

###
[`v2.50.0`](https://github.com/googleapis/sdk-platform-java/blob/HEAD/CHANGELOG.md#2500-2024-11-14)

##### Features

- Add experimental S2A integration in client libraries grpc transport
([#&#8203;3326](googleapis/sdk-platform-java#3326))
([1138ca6](googleapis/sdk-platform-java@1138ca6))
- enable selective generation based on service config include list
([#&#8203;3323](googleapis/sdk-platform-java#3323))
([0cddadb](googleapis/sdk-platform-java@0cddadb))
- introduce `java.time` to java-core
([#&#8203;3330](googleapis/sdk-platform-java#3330))
([f202c3b](googleapis/sdk-platform-java@f202c3b))
- Update Gapic-Generator to generate libraries using `java.time` methods
([#&#8203;3321](googleapis/sdk-platform-java#3321))
([b21c9a4](googleapis/sdk-platform-java@b21c9a4))

##### Bug Fixes

- Fix flaky test
ScheduledRetryingExecutorTest.testCancelOuterFutureAfterStart
([#&#8203;3335](googleapis/sdk-platform-java#3335))
([e73740d](googleapis/sdk-platform-java@e73740d))
- httpjson callables to trace attempts (started, failed)
([#&#8203;3300](googleapis/sdk-platform-java#3300))
([15a64ee](googleapis/sdk-platform-java@15a64ee))
- instantiate GaxProperties at build time to ensure we get the protobuf
version
([#&#8203;3365](googleapis/sdk-platform-java#3365))
([bb2a3be](googleapis/sdk-platform-java@bb2a3be))
- protobuf version not always getting set in headers
([#&#8203;3322](googleapis/sdk-platform-java#3322))
([7f6e470](googleapis/sdk-platform-java@7f6e470))
- use BuildKit instead of legacy builder to build the Hermetic Build
images
([#&#8203;3338](googleapis/sdk-platform-java#3338))
([222fb45](googleapis/sdk-platform-java@222fb45))

##### Dependencies

- update google auth library dependencies to v1.30.0
([#&#8203;3367](googleapis/sdk-platform-java#3367))
([a31c682](googleapis/sdk-platform-java@a31c682))
- update grpc dependencies to v1.68.1
([#&#8203;3240](googleapis/sdk-platform-java#3240))
([c8e3941](googleapis/sdk-platform-java@c8e3941))

##### Documentation

- fix list num
([#&#8203;3356](googleapis/sdk-platform-java#3356))
([b7d6296](googleapis/sdk-platform-java@b7d6296))
- **hermetic-build:** indicate usage of Docker Buildkit in development
guide
([#&#8203;3337](googleapis/sdk-platform-java#3337))
([01e742d](googleapis/sdk-platform-java@01e742d))
- modify hermetic build docs
([#&#8203;3331](googleapis/sdk-platform-java#3331))
([25023af](googleapis/sdk-platform-java@25023af))

</details>

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

###
[`v6.83.0`](https://github.com/googleapis/java-spanner/blob/HEAD/CHANGELOG.md#6830-2024-12-13)

##### Features

- Add Metrics host for built in metrics
([#&#8203;3519](googleapis/java-spanner#3519))
([4ed455a](googleapis/java-spanner@4ed455a))
- Add opt-in for using multiplexed sessions for blind writes
([#&#8203;3540](googleapis/java-spanner#3540))
([216f53e](googleapis/java-spanner@216f53e))
- Add UUID in Spanner TypeCode enum
([41f83dc](googleapis/java-spanner@41f83dc))
- Introduce java.time variables and methods
([#&#8203;3495](googleapis/java-spanner#3495))
([8a7d533](googleapis/java-spanner@8a7d533))
- **spanner:** Support multiplexed session for Partitioned operations
([#&#8203;3231](googleapis/java-spanner#3231))
([4501a3e](googleapis/java-spanner@4501a3e))
- Support 'set local' for retry_aborts_internally
([#&#8203;3532](googleapis/java-spanner#3532))
([331942f](googleapis/java-spanner@331942f))

##### Bug Fixes

- **deps:** Update the Java code generator (gapic-generator-java) to
2.51.0
([41f83dc](googleapis/java-spanner@41f83dc))

##### Dependencies

- Update sdk platform java dependencies
([#&#8203;3549](googleapis/java-spanner#3549))
([6235f0f](googleapis/java-spanner@6235f0f))

</details>

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

###
[`v3.21.0`](https://github.com/googleapis/java-logging/blob/HEAD/CHANGELOG.md#3210-2024-12-13)

##### Features

- Introduce `java.time` methods
([#&#8203;1729](googleapis/java-logging#1729))
([323eb33](googleapis/java-logging@323eb33))

##### Bug Fixes

- **deps:** Update the Java code generator (gapic-generator-java) to
2.51.0
([04d8868](googleapis/java-logging@04d8868))

##### Dependencies

- Update dependency io.opentelemetry:opentelemetry-bom to v1.45.0
([#&#8203;1638](googleapis/java-logging#1638))
([7e007d4](googleapis/java-logging@7e007d4))
- Update sdk platform java dependencies
([#&#8203;1736](googleapis/java-logging#1736))
([88b4cdf](googleapis/java-logging@88b4cdf))

</details>

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

###
[`v2.25.1`](https://github.com/googleapis/java-datastore/blob/HEAD/CHANGELOG.md#2251-2024-12-13)

##### Bug Fixes

- **deps:** Update the Java code generator (gapic-generator-java) to
2.51.0
([106ee4d](googleapis/java-datastore@106ee4d))

##### Dependencies

- Update sdk platform java dependencies
([#&#8203;1685](googleapis/java-datastore#1685))
([4372350](googleapis/java-datastore@4372350))

###
[`v2.25.0`](https://github.com/googleapis/java-datastore/blob/HEAD/CHANGELOG.md#2250-2024-12-11)

##### Features

- Introduce `java.time` methods and variables
([#&#8203;1671](googleapis/java-datastore#1671))
([5a78a80](googleapis/java-datastore@5a78a80))

##### Dependencies

- Update dependency com.google.cloud:gapic-libraries-bom to v1.48.0
([#&#8203;1605](googleapis/java-datastore#1605))
([5c6a678](googleapis/java-datastore@5c6a678))

##### Documentation

- Update gapic upgrade installation instructions
([#&#8203;1677](googleapis/java-datastore#1677))
([b3fbfcc](googleapis/java-datastore@b3fbfcc))

</details>

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

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

-   \[Fix]: `superClassName` can be null (Object has no superclass).

</details>

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

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

##### Components

##### Continuous Integration Visibility

- 🐛 Fix tracing JUnit5 tests in Maven projects with multiple forks
([#&#8203;8089](DataDog/dd-trace-java#8089) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))

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

##### Known Issues

> \[!WARNING]\
> This release contains a known issue that causes failures when using
Test Optimization to trace JUnit 5 tests in a Maven project where Maven
Surefire is configured with `forkCount` > 1.
> The issue is fixed in v1.44.1

##### Breaking Changes

> \[!WARNING]\
> Support for `X-Forwarded` header is dropped from default client IP
resolution.
> It can still be re-activated using the
`dd.trace.client-ip-header=x-forwarded` system property, or the
`DD_TRACE_CLIENT_IP_HEADER=x-forwarded` environment variable. See
[#&#8203;7946](DataDog/dd-trace-java#7946).

##### Components

##### Application Security Management (IAST)

- ✨ Set unexpected IAST exceptions to debug log level
([#&#8203;8044](DataDog/dd-trace-java#8044) -
[@&#8203;smola](https://github.com/smola))
- ✨ Increase IAST propagation to StringBuffer subSequence
([#&#8203;8038](DataDog/dd-trace-java#8038) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Increase IAST propagation to StringBuilder subSequence
([#&#8203;8026](DataDog/dd-trace-java#8026) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Add IAST propagation to String valueOf
([#&#8203;8013](DataDog/dd-trace-java#8013) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Increase IAST propagation to StringBuilder append
([#&#8203;8010](DataDog/dd-trace-java#8010) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Expand SSRF support in IAST to apache-httpclient-5 and
apache-httpasyncclient-4
([#&#8203;7920](DataDog/dd-trace-java#7920) -
[@&#8203;Mariovido](https://github.com/Mariovido))

##### Build & Tooling

- ✨ Generate Muzzle classes for Groovy instrumentations
([#&#8203;8004](DataDog/dd-trace-java#8004) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))

##### Continuous Integration Visibility

- ✨ Support distributed traces in tests
([#&#8203;8078](DataDog/dd-trace-java#8078) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Implement fail-fast tests ordering for JUnit 5
([#&#8203;8055](DataDog/dd-trace-java#8055) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Mark JUnit 5 setup and teardown action spans as failed if
there is an error
([#&#8203;8033](DataDog/dd-trace-java#8033) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add tracing of setup and teardown actions in JUnit 4
([#&#8203;8030](DataDog/dd-trace-java#8030) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))

##### Crash tracking

- ✨ Improve crash tracking install logging
([#&#8203;8045](DataDog/dd-trace-java#8045) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

##### Data Streams Monitoring

- 🐛 Add Data Streams support in AWS SQS without raw message delivery
([#&#8203;8071](DataDog/dd-trace-java#8071) -
[@&#8203;piochelepiotr](https://github.com/piochelepiotr))
- ✨ Add new tag for enabled products / features to DSM
checkpoints
([#&#8203;8051](DataDog/dd-trace-java#8051) -
[@&#8203;kr-igor](https://github.com/kr-igor))
- 💡 Instrument self hosted Kafka connectors
([#&#8203;7959](DataDog/dd-trace-java#7959) -
[@&#8203;piochelepiotr](https://github.com/piochelepiotr))

##### Dynamic Instrumentation

- ✨ Add Micronaut 4 support for code origin for spans
([#&#8203;8039](DataDog/dd-trace-java#8039) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Refactor probe matching for methods
([#&#8203;8021](DataDog/dd-trace-java#8021) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Update the CodeOriginProbe fingerprint to not rely on a
stack walk
([#&#8203;8016](DataDog/dd-trace-java#8016) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Implement code origin support for grpc server entry spans
([#&#8203;7942](DataDog/dd-trace-java#7942) -
[@&#8203;evanchooly](https://github.com/evanchooly))

##### GraalVM native-image

- 🐛 Update Graal build-time instrumentation config for
TracePropagationStyle
([#&#8203;8065](DataDog/dd-trace-java#8065) -
[@&#8203;MattAlp](https://github.com/MattAlp))
- 🐛 Fix NoClassDefFoundError: Could not initialize class
DDSpanLink$EncoderHolder in Graal native-image
([#&#8203;8036](DataDog/dd-trace-java#8036) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🐛🧹 Fix native-image generation of reactive applications
([#&#8203;8012](DataDog/dd-trace-java#8012) -
[@&#8203;mcculls](https://github.com/mcculls))

##### OpenTracing

- 🧹 Custom ScopeManagers are deprecated and will be removed in a
future release of dd-trace-ot
([#&#8203;8058](DataDog/dd-trace-java#8058) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Tracer core

- ✨🧪 Service naming: split by jee deployment
([#&#8203;8064](DataDog/dd-trace-java#8064) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Exclude jboss mdb proxies from instrumenting
([#&#8203;8061](DataDog/dd-trace-java#8061) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add a built-in trace interceptor for keeping traces
depending of their latency
([#&#8203;8040](DataDog/dd-trace-java#8040) -
[@&#8203;cecile75](https://github.com/cecile75))
- 💡 Introduce marker mechanism for eagerly initializing helpers
([#&#8203;8028](DataDog/dd-trace-java#8028) -
[@&#8203;mcculls](https://github.com/mcculls))
- 💡 Add JSON component
([#&#8203;7973](DataDog/dd-trace-java#7973) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨⚠️ Remove support for X-Forwarded in client IP
resolution
([#&#8203;7946](DataDog/dd-trace-java#7946) -
[@&#8203;smola](https://github.com/smola))

##### Instrumentations

##### Apache HttpComponents

- ✨ Expand SSRF support in IAST to apache-httpclient-5 and
apache-httpasyncclient-4
([#&#8203;7920](DataDog/dd-trace-java#7920) -
[@&#8203;Mariovido](https://github.com/Mariovido))

##### gRPC instrumentation

- 🐛 Use lower priorities for grpc server errors
([#&#8203;8043](DataDog/dd-trace-java#8043) -
[@&#8203;amarziali](https://github.com/amarziali))

##### JDBC instrumentation

- ✨ Add trace injection for prepared statements in Postgres
([#&#8203;7940](DataDog/dd-trace-java#7940) -
[@&#8203;nenadnoveljic](https://github.com/nenadnoveljic))

##### JMS instrumentation

- 🐛 Protect mdb from instrumenting multiple time the same event
([#&#8203;8062](DataDog/dd-trace-java#8062) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Kafka instrumentation

- 💡 Instrument self hosted Kafka connectors
([#&#8203;7959](DataDog/dd-trace-java#7959) -
[@&#8203;piochelepiotr](https://github.com/piochelepiotr))

##### OpenTelemetry instrumentation

- 🐛 Support using OpenTelemetry Event API inside `@WithSpan`
annotated method
([#&#8203;8019](DataDog/dd-trace-java#8019) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Reactor instrumentation

- 🐛🧹 Fix native-image generation of reactive applications
([#&#8203;8012](DataDog/dd-trace-java#8012) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Spring instrumentation

- 🐛 Avoid double instrumenting lambdas on latest spring scheduling
([#&#8203;8005](DataDog/dd-trace-java#8005) -
[@&#8203;amarziali](https://github.com/amarziali))

##### All other instrumentations

- 🐛 Twilio: allow service name flattening
([#&#8203;8025](DataDog/dd-trace-java#8025) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Instrument Mulesoft 4.5.0+
([#&#8203;7981](DataDog/dd-trace-java#7981) -
[@&#8203;amarziali](https://github.com/amarziali))

</details>

<details>
<summary>aws/aws-sdk-java (com.amazonaws:aws-java-sdk-sqs)</summary>

###
[`v1.12.780`](https://github.com/aws/aws-sdk-java/blob/HEAD/CHANGELOG.md#112780-2024-12-11)

[Compare
Source](aws/aws-sdk-java@1.12.779...1.12.780)

#### **Amazon Simple Storage Service**

-   ### Bugfixes
- AWS SDK for Java 1.x now includes additional validation for Amazon S3
client APIs to handle scenarios where an empty string ('') is passed as
the key argument to the following operations: PutObject, DeleteObject,
ListObjects, GetObjectMetaData, ListObjectsV2, SetObjectTagging,
GetObjectTagging, SetObjectAcl, GetObjectAcl, SetObjectLegalHold,
GetObjectLegalHold, CopyObject, CopyPart, SelectObjectContent,
SetObjectRetention, GetObjectRetention, AbortMultipartUpload,
CompleteMultipartUpload, InitiateMultipartUpload, ListParts, UploadPart,
RestoreObjectV2, and RestoreObject. The SDK will validate the key
argument and throw an exception if it is an empty string, ensuring
correct and expected behavior.

</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**: Whenever PR becomes conflicted, 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: 69831bc62ea4d80cdcd42cef2aa9bd8eda28ae8c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants