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 non default propagator registration #8310

Merged
merged 1 commit into from
Jan 30, 2025

Conversation

PerfectSlayer
Copy link
Contributor

@PerfectSlayer PerfectSlayer commented Jan 30, 2025

What Does This Do

This PR introduces the capability for registering propagators that are not used by default.

Motivation

The goal is to have product to register custom propagators that can be retrieved by concern, but not automatically used for every context extraction / injection by default.

Additional Notes

Contributor Checklist

Jira ticket: LANGPLAT-292

@PerfectSlayer PerfectSlayer requested a review from a team as a code owner January 30, 2025 10:26
@pr-commenter
Copy link

pr-commenter bot commented Jan 30, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bbujon/context-propagation-step1
git_commit_date 1738231846 1738231085
git_commit_sha 77fbf0a 41e2d51
release_version 1.46.0-SNAPSHOT~77fbf0ae93 1.46.0-SNAPSHOT~41e2d51b8b
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1738235115 1738235115
ci_job_id 787008305 787008305
ci_pipeline_id 54422786 54422786
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-pgoe76dg-project-304-concurrent-0-b7mtyk67 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-pgoe76dg-project-304-concurrent-0-b7mtyk67 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None
variant iast iast

Summary

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

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.46.0-SNAPSHOT~41e2d51b8b, baseline=1.46.0-SNAPSHOT~77fbf0ae93

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.041 s) : 0, 1041226
Total [baseline] (8.632 s) : 0, 8631909
Agent [candidate] (1.044 s) : 0, 1043535
Total [candidate] (8.654 s) : 0, 8654309
section iast
Agent [baseline] (1.168 s) : 0, 1168220
Total [baseline] (9.209 s) : 0, 9208847
Agent [candidate] (1.171 s) : 0, 1171407
Total [candidate] (9.262 s) : 0, 9262226
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.167 s) : 0, 1166570
Total [baseline] (9.189 s) : 0, 9189040
Agent [candidate] (1.176 s) : 0, 1176342
Total [candidate] (9.262 s) : 0, 9261894
section iast_TELEMETRY_OFF
Agent [baseline] (1.168 s) : 0, 1167808
Total [baseline] (9.22 s) : 0, 9219708
Agent [candidate] (1.166 s) : 0, 1165553
Total [candidate] (9.218 s) : 0, 9218469
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.041 s -
Agent iast 1.168 s 126.994 ms (12.2%)
Agent iast_HARDCODED_SECRET_DISABLED 1.167 s 125.344 ms (12.0%)
Agent iast_TELEMETRY_OFF 1.168 s 126.582 ms (12.2%)
Total tracing 8.632 s -
Total iast 9.209 s 576.938 ms (6.7%)
Total iast_HARDCODED_SECRET_DISABLED 9.189 s 557.131 ms (6.5%)
Total iast_TELEMETRY_OFF 9.22 s 587.8 ms (6.8%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.044 s -
Agent iast 1.171 s 127.873 ms (12.3%)
Agent iast_HARDCODED_SECRET_DISABLED 1.176 s 132.807 ms (12.7%)
Agent iast_TELEMETRY_OFF 1.166 s 122.018 ms (11.7%)
Total tracing 8.654 s -
Total iast 9.262 s 607.918 ms (7.0%)
Total iast_HARDCODED_SECRET_DISABLED 9.262 s 607.585 ms (7.0%)
Total iast_TELEMETRY_OFF 9.218 s 564.161 ms (6.5%)
gantt
    title insecure-bank - break down per module: candidate=1.46.0-SNAPSHOT~41e2d51b8b, baseline=1.46.0-SNAPSHOT~77fbf0ae93

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (714.965 ms) : 0, 714965
BytebuddyAgent [candidate] (715.904 ms) : 0, 715904
GlobalTracer [baseline] (239.839 ms) : 0, 239839
GlobalTracer [candidate] (241.253 ms) : 0, 241253
AppSec [baseline] (56.425 ms) : 0, 56425
AppSec [candidate] (55.615 ms) : 0, 55615
Remote Config [baseline] (720.668 µs) : 0, 721
Remote Config [candidate] (724.833 µs) : 0, 725
Telemetry [baseline] (14.047 ms) : 0, 14047
Telemetry [candidate] (14.816 ms) : 0, 14816
section iast
BytebuddyAgent [baseline] (833.423 ms) : 0, 833423
BytebuddyAgent [candidate] (835.607 ms) : 0, 835607
GlobalTracer [baseline] (230.618 ms) : 0, 230618
GlobalTracer [candidate] (231.433 ms) : 0, 231433
IAST [baseline] (24.891 ms) : 0, 24891
IAST [candidate] (28.961 ms) : 0, 28961
AppSec [baseline] (54.705 ms) : 0, 54705
AppSec [candidate] (50.738 ms) : 0, 50738
Remote Config [baseline] (609.055 µs) : 0, 609
Remote Config [candidate] (622.187 µs) : 0, 622
Telemetry [baseline] (8.696 ms) : 0, 8696
Telemetry [candidate] (8.738 ms) : 0, 8738
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (832.489 ms) : 0, 832489
BytebuddyAgent [candidate] (838.881 ms) : 0, 838881
GlobalTracer [baseline] (230.018 ms) : 0, 230018
GlobalTracer [candidate] (232.142 ms) : 0, 232142
IAST [baseline] (25.806 ms) : 0, 25806
IAST [candidate] (26.111 ms) : 0, 26111
AppSec [baseline] (53.777 ms) : 0, 53777
AppSec [candidate] (54.339 ms) : 0, 54339
Remote Config [baseline] (619.418 µs) : 0, 619
Remote Config [candidate] (628.294 µs) : 0, 628
Telemetry [baseline] (8.599 ms) : 0, 8599
Telemetry [candidate] (8.903 ms) : 0, 8903
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (834.295 ms) : 0, 834295
BytebuddyAgent [candidate] (830.965 ms) : 0, 830965
GlobalTracer [baseline] (229.924 ms) : 0, 229924
GlobalTracer [candidate] (230.866 ms) : 0, 230866
IAST [baseline] (24.595 ms) : 0, 24595
IAST [candidate] (26.037 ms) : 0, 26037
AppSec [baseline] (54.466 ms) : 0, 54466
AppSec [candidate] (53.118 ms) : 0, 53118
Remote Config [baseline] (607.095 µs) : 0, 607
Remote Config [candidate] (608.237 µs) : 0, 608
Telemetry [baseline] (8.585 ms) : 0, 8585
Telemetry [candidate] (8.674 ms) : 0, 8674
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.46.0-SNAPSHOT~41e2d51b8b, baseline=1.46.0-SNAPSHOT~77fbf0ae93

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.038 s) : 0, 1037588
Total [baseline] (10.498 s) : 0, 10498193
Agent [candidate] (1.039 s) : 0, 1039253
Total [candidate] (10.472 s) : 0, 10472001
section appsec
Agent [baseline] (1.186 s) : 0, 1186238
Total [baseline] (10.775 s) : 0, 10774518
Agent [candidate] (1.185 s) : 0, 1184823
Total [candidate] (10.75 s) : 0, 10750200
section iast
Agent [baseline] (1.177 s) : 0, 1177103
Total [baseline] (10.951 s) : 0, 10950934
Agent [candidate] (1.179 s) : 0, 1178947
Total [candidate] (11.032 s) : 0, 11032236
section profiling
Agent [baseline] (1.26 s) : 0, 1260188
Total [baseline] (10.875 s) : 0, 10875128
Agent [candidate] (1.273 s) : 0, 1272885
Total [candidate] (10.913 s) : 0, 10912815
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.038 s -
Agent appsec 1.186 s 148.65 ms (14.3%)
Agent iast 1.177 s 139.515 ms (13.4%)
Agent profiling 1.26 s 222.6 ms (21.5%)
Total tracing 10.498 s -
Total appsec 10.775 s 276.324 ms (2.6%)
Total iast 10.951 s 452.74 ms (4.3%)
Total profiling 10.875 s 376.935 ms (3.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.039 s -
Agent appsec 1.185 s 145.57 ms (14.0%)
Agent iast 1.179 s 139.694 ms (13.4%)
Agent profiling 1.273 s 233.632 ms (22.5%)
Total tracing 10.472 s -
Total appsec 10.75 s 278.2 ms (2.7%)
Total iast 11.032 s 560.235 ms (5.3%)
Total profiling 10.913 s 440.815 ms (4.2%)
gantt
    title petclinic - break down per module: candidate=1.46.0-SNAPSHOT~41e2d51b8b, baseline=1.46.0-SNAPSHOT~77fbf0ae93

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (713.855 ms) : 0, 713855
BytebuddyAgent [candidate] (713.549 ms) : 0, 713549
GlobalTracer [baseline] (239.068 ms) : 0, 239068
GlobalTracer [candidate] (239.57 ms) : 0, 239570
AppSec [baseline] (56.277 ms) : 0, 56277
AppSec [candidate] (56.37 ms) : 0, 56370
Remote Config [baseline] (718.683 µs) : 0, 719
Remote Config [candidate] (710.819 µs) : 0, 711
Telemetry [baseline] (12.472 ms) : 0, 12472
Telemetry [candidate] (13.827 ms) : 0, 13827
section appsec
BytebuddyAgent [baseline] (736.141 ms) : 0, 736141
BytebuddyAgent [candidate] (734.762 ms) : 0, 734762
GlobalTracer [baseline] (238.461 ms) : 0, 238461
GlobalTracer [candidate] (238.04 ms) : 0, 238040
AppSec [baseline] (176.55 ms) : 0, 176550
AppSec [candidate] (176.774 ms) : 0, 176774
Remote Config [baseline] (647.464 µs) : 0, 647
Remote Config [candidate] (651.383 µs) : 0, 651
Telemetry [baseline] (8.309 ms) : 0, 8309
Telemetry [candidate] (8.379 ms) : 0, 8379
IAST [baseline] (21.643 ms) : 0, 21643
IAST [candidate] (21.886 ms) : 0, 21886
section iast
BytebuddyAgent [baseline] (839.955 ms) : 0, 839955
BytebuddyAgent [candidate] (841.275 ms) : 0, 841275
GlobalTracer [baseline] (232.09 ms) : 0, 232090
GlobalTracer [candidate] (232.545 ms) : 0, 232545
AppSec [baseline] (55.889 ms) : 0, 55889
AppSec [candidate] (53.632 ms) : 0, 53632
Remote Config [baseline] (616.221 µs) : 0, 616
Remote Config [candidate] (605.754 µs) : 0, 606
Telemetry [baseline] (8.684 ms) : 0, 8684
Telemetry [candidate] (8.825 ms) : 0, 8825
IAST [baseline] (24.451 ms) : 0, 24451
IAST [candidate] (26.655 ms) : 0, 26655
section profiling
ProfilingAgent [baseline] (96.473 ms) : 0, 96473
ProfilingAgent [candidate] (97.067 ms) : 0, 97067
BytebuddyAgent [baseline] (706.046 ms) : 0, 706046
BytebuddyAgent [candidate] (714.283 ms) : 0, 714283
GlobalTracer [baseline] (350.622 ms) : 0, 350622
GlobalTracer [candidate] (354.209 ms) : 0, 354209
AppSec [baseline] (55.156 ms) : 0, 55156
AppSec [candidate] (54.907 ms) : 0, 54907
Remote Config [baseline] (711.053 µs) : 0, 711
Remote Config [candidate] (718.542 µs) : 0, 719
Telemetry [baseline] (8.937 ms) : 0, 8937
Telemetry [candidate] (9.072 ms) : 0, 9072
Profiling [baseline] (96.496 ms) : 0, 96496
Profiling [candidate] (97.092 ms) : 0, 97092
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-01-30T10:39:21 2025-01-30T10:46:25
git_branch master bbujon/context-propagation-step1
git_commit_date 1738231846 1738231085
git_commit_sha 77fbf0a 41e2d51
release_version 1.46.0-SNAPSHOT~77fbf0ae93 1.46.0-SNAPSHOT~41e2d51b8b
start_time 2025-01-30T10:39:07 2025-01-30T10:46:11
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1738234344 1738234344
ci_job_id 787008306 787008306
ci_pipeline_id 54422786 54422786
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-9ettutkp-project-304-concurrent-0-ufxil481 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-9ettutkp-project-304-concurrent-0-ufxil481 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 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 10 metrics, 18 unstable metrics.

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~41e2d51b8b, baseline=1.46.0-SNAPSHOT~77fbf0ae93
    dateFormat X
    axisFormat %s
section baseline
no_agent (381.369 µs) : 361, 402
.   : milestone, 381,
iast (513.791 µs) : 490, 537
.   : milestone, 514,
iast_FULL (744.912 µs) : 723, 767
.   : milestone, 745,
iast_GLOBAL (563.542 µs) : 539, 588
.   : milestone, 564,
iast_HARDCODED_SECRET_DISABLED (508.737 µs) : 486, 531
.   : milestone, 509,
iast_INACTIVE (464.607 µs) : 443, 486
.   : milestone, 465,
iast_TELEMETRY_OFF (497.576 µs) : 475, 521
.   : milestone, 498,
tracing (461.125 µs) : 439, 483
.   : milestone, 461,
section candidate
no_agent (383.738 µs) : 364, 404
.   : milestone, 384,
iast (514.634 µs) : 493, 537
.   : milestone, 515,
iast_FULL (746.371 µs) : 724, 769
.   : milestone, 746,
iast_GLOBAL (559.695 µs) : 538, 582
.   : milestone, 560,
iast_HARDCODED_SECRET_DISABLED (515.6 µs) : 492, 539
.   : milestone, 516,
iast_INACTIVE (465.303 µs) : 443, 488
.   : milestone, 465,
iast_TELEMETRY_OFF (502.287 µs) : 479, 526
.   : milestone, 502,
tracing (462.179 µs) : 441, 483
.   : milestone, 462,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 381.369 µs [360.998 µs, 401.741 µs] -
iast 513.791 µs [490.482 µs, 537.1 µs] 132.422 µs (34.7%)
iast_FULL 744.912 µs [722.759 µs, 767.065 µs] 363.543 µs (95.3%)
iast_GLOBAL 563.542 µs [539.425 µs, 587.659 µs] 182.173 µs (47.8%)
iast_HARDCODED_SECRET_DISABLED 508.737 µs [485.992 µs, 531.482 µs] 127.368 µs (33.4%)
iast_INACTIVE 464.607 µs [443.298 µs, 485.915 µs] 83.238 µs (21.8%)
iast_TELEMETRY_OFF 497.576 µs [474.59 µs, 520.562 µs] 116.207 µs (30.5%)
tracing 461.125 µs [439.103 µs, 483.147 µs] 79.756 µs (20.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 383.738 µs [363.946 µs, 403.529 µs] -
iast 514.634 µs [492.702 µs, 536.565 µs] 130.896 µs (34.1%)
iast_FULL 746.371 µs [723.576 µs, 769.166 µs] 362.633 µs (94.5%)
iast_GLOBAL 559.695 µs [537.676 µs, 581.714 µs] 175.958 µs (45.9%)
iast_HARDCODED_SECRET_DISABLED 515.6 µs [492.185 µs, 539.016 µs] 131.863 µs (34.4%)
iast_INACTIVE 465.303 µs [442.94 µs, 487.666 µs] 81.566 µs (21.3%)
iast_TELEMETRY_OFF 502.287 µs [478.993 µs, 525.582 µs] 118.55 µs (30.9%)
tracing 462.179 µs [441.039 µs, 483.32 µs] 78.442 µs (20.4%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~41e2d51b8b, baseline=1.46.0-SNAPSHOT~77fbf0ae93
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.354 ms) : 1334, 1374
.   : milestone, 1354,
appsec (1.755 ms) : 1731, 1778
.   : milestone, 1755,
appsec_no_iast (1.763 ms) : 1738, 1787
.   : milestone, 1763,
iast (1.511 ms) : 1488, 1535
.   : milestone, 1511,
profiling (1.502 ms) : 1479, 1526
.   : milestone, 1502,
tracing (1.483 ms) : 1457, 1508
.   : milestone, 1483,
section candidate
no_agent (1.362 ms) : 1342, 1382
.   : milestone, 1362,
appsec (1.751 ms) : 1728, 1774
.   : milestone, 1751,
appsec_no_iast (1.741 ms) : 1716, 1765
.   : milestone, 1741,
iast (1.53 ms) : 1506, 1554
.   : milestone, 1530,
profiling (1.507 ms) : 1483, 1531
.   : milestone, 1507,
tracing (1.502 ms) : 1478, 1525
.   : milestone, 1502,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.354 ms [1.334 ms, 1.374 ms] -
appsec 1.755 ms [1.731 ms, 1.778 ms] 400.528 µs (29.6%)
appsec_no_iast 1.763 ms [1.738 ms, 1.787 ms] 408.203 µs (30.1%)
iast 1.511 ms [1.488 ms, 1.535 ms] 156.927 µs (11.6%)
profiling 1.502 ms [1.479 ms, 1.526 ms] 147.98 µs (10.9%)
tracing 1.483 ms [1.457 ms, 1.508 ms] 128.201 µs (9.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.362 ms [1.342 ms, 1.382 ms] -
appsec 1.751 ms [1.728 ms, 1.774 ms] 389.138 µs (28.6%)
appsec_no_iast 1.741 ms [1.716 ms, 1.765 ms] 378.938 µs (27.8%)
iast 1.53 ms [1.506 ms, 1.554 ms] 168.448 µs (12.4%)
profiling 1.507 ms [1.483 ms, 1.531 ms] 145.182 µs (10.7%)
tracing 1.502 ms [1.478 ms, 1.525 ms] 139.879 µs (10.3%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bbujon/context-propagation-step1
git_commit_date 1738231846 1738231085
git_commit_sha 77fbf0a 41e2d51
release_version 1.46.0-SNAPSHOT~77fbf0ae93 1.46.0-SNAPSHOT~41e2d51b8b
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1738234895 1738234895
ci_job_id 787008307 787008307
ci_pipeline_id 54422786 54422786
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-jfyxvynv-project-304-concurrent-0-srl177yi 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Linux runner-jfyxvynv-project-304-concurrent-0-srl177yi 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:50:46 UTC 2024 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 12 metrics, 0 unstable metrics.

Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~41e2d51b8b, baseline=1.46.0-SNAPSHOT~77fbf0ae93
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.399 s) : 15399000, 15399000
.   : milestone, 15399000,
appsec (15.094 s) : 15094000, 15094000
.   : milestone, 15094000,
iast (19.04 s) : 19040000, 19040000
.   : milestone, 19040000,
iast_GLOBAL (17.97 s) : 17970000, 17970000
.   : milestone, 17970000,
profiling (15.257 s) : 15257000, 15257000
.   : milestone, 15257000,
tracing (14.764 s) : 14764000, 14764000
.   : milestone, 14764000,
section candidate
no_agent (15.231 s) : 15231000, 15231000
.   : milestone, 15231000,
appsec (15.173 s) : 15173000, 15173000
.   : milestone, 15173000,
iast (18.473 s) : 18473000, 18473000
.   : milestone, 18473000,
iast_GLOBAL (18.22 s) : 18220000, 18220000
.   : milestone, 18220000,
profiling (15.188 s) : 15188000, 15188000
.   : milestone, 15188000,
tracing (14.928 s) : 14928000, 14928000
.   : milestone, 14928000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.399 s [15.399 s, 15.399 s] -
appsec 15.094 s [15.094 s, 15.094 s] -305.0 ms (-2.0%)
iast 19.04 s [19.04 s, 19.04 s] 3.641 s (23.6%)
iast_GLOBAL 17.97 s [17.97 s, 17.97 s] 2.571 s (16.7%)
profiling 15.257 s [15.257 s, 15.257 s] -142.0 ms (-0.9%)
tracing 14.764 s [14.764 s, 14.764 s] -635.0 ms (-4.1%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.231 s [15.231 s, 15.231 s] -
appsec 15.173 s [15.173 s, 15.173 s] -58.0 ms (-0.4%)
iast 18.473 s [18.473 s, 18.473 s] 3.242 s (21.3%)
iast_GLOBAL 18.22 s [18.22 s, 18.22 s] 2.989 s (19.6%)
profiling 15.188 s [15.188 s, 15.188 s] -43.0 ms (-0.3%)
tracing 14.928 s [14.928 s, 14.928 s] -303.0 ms (-2.0%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~41e2d51b8b, baseline=1.46.0-SNAPSHOT~77fbf0ae93
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.475 ms) : 1463, 1486
.   : milestone, 1475,
appsec (2.364 ms) : 2320, 2407
.   : milestone, 2364,
iast (2.105 ms) : 2051, 2160
.   : milestone, 2105,
iast_GLOBAL (2.155 ms) : 2100, 2210
.   : milestone, 2155,
profiling (1.968 ms) : 1925, 2011
.   : milestone, 1968,
tracing (1.942 ms) : 1900, 1984
.   : milestone, 1942,
section candidate
no_agent (1.472 ms) : 1460, 1483
.   : milestone, 1472,
appsec (2.367 ms) : 2323, 2410
.   : milestone, 2367,
iast (2.111 ms) : 2056, 2166
.   : milestone, 2111,
iast_GLOBAL (2.153 ms) : 2098, 2208
.   : milestone, 2153,
profiling (1.959 ms) : 1915, 2002
.   : milestone, 1959,
tracing (1.948 ms) : 1906, 1990
.   : milestone, 1948,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.475 ms [1.463 ms, 1.486 ms] -
appsec 2.364 ms [2.32 ms, 2.407 ms] 888.994 µs (60.3%)
iast 2.105 ms [2.051 ms, 2.16 ms] 630.649 µs (42.8%)
iast_GLOBAL 2.155 ms [2.1 ms, 2.21 ms] 680.558 µs (46.2%)
profiling 1.968 ms [1.925 ms, 2.011 ms] 493.233 µs (33.4%)
tracing 1.942 ms [1.9 ms, 1.984 ms] 467.109 µs (31.7%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.472 ms [1.46 ms, 1.483 ms] -
appsec 2.367 ms [2.323 ms, 2.41 ms] 894.828 µs (60.8%)
iast 2.111 ms [2.056 ms, 2.166 ms] 638.822 µs (43.4%)
iast_GLOBAL 2.153 ms [2.098 ms, 2.208 ms] 680.988 µs (46.3%)
profiling 1.959 ms [1.915 ms, 2.002 ms] 486.666 µs (33.1%)
tracing 1.948 ms [1.906 ms, 1.99 ms] 476.091 µs (32.3%)

@@ -57,4 +57,9 @@ public int hashCode() {
result = 31 * result + Objects.hashCode(this.value);
return result;
}

@Override
public String toString() {
Copy link
Contributor

Choose a reason for hiding this comment

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

Can you add toString to the empty and indexed cases for consistency? thanks

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sure, I originally kept those change in stash but I will happen them with their tests in this commit.

synchronizedMap(new IdentityHashMap<>());
private static final RegisteredPropagator NOOP = of(NoopPropagator.INSTANCE, false);
Copy link
Contributor

Choose a reason for hiding this comment

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

I would use RegisteredPropagator.of here instead of just of (I typically avoid static imports of methods with very generic names like of)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Me too. I used it as I wanted to avoid multi-line statement due to spotless...
As the field type was the one owning the of method, it was fine.
But I tend to not do it (especially when using var).

public static void register(Concern concern, Propagator propagator, boolean usedAsDefault) {
PROPAGATORS.put(concern, of(propagator, usedAsDefault));
if (usedAsDefault) {
defaultPropagatorSet = false;
Copy link
Contributor

Choose a reason for hiding this comment

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

I found this flag confusing at first before I realized it meant whether the default propagator had been built in defaultPropagator()

Maybe we should rename this to rebuildDefaultPropagator and flip the status, i.e. we set rebuildDefaultPropagator = true whenever we need to rebuild the default propagator?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, that's a static field I did not document. I can rework it if it makes it clearer.

return new RegisteredPropagator(propagator, useAsDefault);
}

protected Propagator propagator() {
Copy link
Contributor

Choose a reason for hiding this comment

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

is there a reason this needs to be protected? I didn't see any classes extend RegisteredPropagator

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Not particularly (especially since isUsedAsDefault() as no scope qualifier. I will set them as package-private (by default).
They could be public too, but this class would have been a private local record if the feature was available 😞

Copy link
Contributor

@mcculls mcculls left a comment

Choose a reason for hiding this comment

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

+1 just some consistency/readability suggestions

@PerfectSlayer PerfectSlayer force-pushed the bbujon/context-propagation-step1 branch from 41e2d51 to 6f3b8dd Compare January 30, 2025 15:17
@PerfectSlayer
Copy link
Contributor Author

I updated the commit to take into all comments.
I will enable auto-merge and can still address comments in later PRs if needed 🙏

@PerfectSlayer PerfectSlayer enabled auto-merge (squash) January 30, 2025 15:19
@PerfectSlayer PerfectSlayer merged commit dbbe55c into master Jan 30, 2025
192 of 195 checks passed
@PerfectSlayer PerfectSlayer deleted the bbujon/context-propagation-step1 branch January 30, 2025 15:52
@github-actions github-actions bot added this to the 1.46.0 milestone Jan 30, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jan 31, 2025
| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
|
[com.google.cloud:google-cloud-datastore](https://github.com/googleapis/java-datastore)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.25.4` -> `2.26.0` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.45.2` -> `1.46.0` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.45.2` -> `1.46.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.30.9` -> `2.30.10` |

---

### Release Notes

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

###
[`v2.26.0`](https://github.com/googleapis/java-datastore/blob/HEAD/CHANGELOG.md#2260-2025-01-29)

##### Features

- Add firestoreInDatastoreMode for datastore emulator
([#&#8203;1698](googleapis/java-datastore#1698))
([50f106d](googleapis/java-datastore@50f106d))

##### Dependencies

- Update dependency com.google.cloud:sdk-platform-java-config to v3.42.0
([#&#8203;1725](googleapis/java-datastore#1725))
([1cbaf22](googleapis/java-datastore@1cbaf22))

</details>

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

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

##### Breaking Changes

> \[!WARNING]
> jnr-unixsocket is now an external dependency of dd-trace-ot and must
be included when deploying dd-trace-ot.

> \[!NOTE]
> The API `TracerScope.setAsync(boolean)`, used to manually control
asynchronous span propagation, does no more apply to the scope instance
but to the active span scope.

##### Components

##### Application Security Management (IAST)

- 🐛 Fix String.replace instrumentation for IAST
([#&#8203;8281](DataDog/dd-trace-java#8281) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Apply the standard nomenclature to the stacktrace configs
([#&#8203;8244](DataDog/dd-trace-java#8244) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Exclude false positive weak randomness
([#&#8203;8232](DataDog/dd-trace-java#8232) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Propagation of translateEscapes of String class
([#&#8203;8186](DataDog/dd-trace-java#8186) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))
- ✨ Add security control metrics
([#&#8203;8175](DataDog/dd-trace-java#8175) -
[@&#8203;jandro996](https://github.com/jandro996))
- ✨ Increase IAST propagation to StringBuffer setLength
([#&#8203;8128](DataDog/dd-trace-java#8128) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Add IAST taint tracking for DB values
([#&#8203;8072](DataDog/dd-trace-java#8072) -
[@&#8203;Mariovido](https://github.com/Mariovido))

##### Application Security Management (WAF)

- 🐛 Prevents a NPE when there is no subscriber for user events
([#&#8203;8258](DataDog/dd-trace-java#8258) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Apply the standard nomenclature to the stacktrace configs
([#&#8203;8244](DataDog/dd-trace-java#8244) -
[@&#8203;jandro996](https://github.com/jandro996))
- 🐛 Ensure cached subscriptions are cleared on reconfiguration via
RC ([#&#8203;8229](DataDog/dd-trace-java#8229)
-
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Add support for session tracking in Vertx
([#&#8203;8167](DataDog/dd-trace-java#8167) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Create span tag: \_dd.appsec.rasp.timeout
([#&#8203;8269](DataDog/dd-trace-java#8269) -
[@&#8203;Mariovido](https://github.com/Mariovido))

##### Build & Tooling

- 🐛 Ensure shaded helpers have unique names when injected into
class-loaders
([#&#8203;8192](DataDog/dd-trace-java#8192) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Configuration at Runtime

- 🐛 Remove filtering of `DD_SERVICE` and `DD_ENV` from the tracer
([#&#8203;8176](DataDog/dd-trace-java#8176) -
[@&#8203;mhlidd](https://github.com/mhlidd))

##### Continuous Integration Visibility

- 🧹 Generalize TestRetryPolicy to TestExecutionPolicy
([#&#8203;8302](DataDog/dd-trace-java#8302) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Parallelize CI Visibility settings requests
([#&#8203;8299](DataDog/dd-trace-java#8299) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Generalize test retry logic
([#&#8203;8289](DataDog/dd-trace-java#8289) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Generalize tests skipping logic
([#&#8203;8288](DataDog/dd-trace-java#8288) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🧹 Remove skip and shouldBeSkipped methods from TestEventsHandler
in favor of isSkippable
([#&#8203;8286](DataDog/dd-trace-java#8286) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨⚡ Optimize Git repository information computation
([#&#8203;8270](DataDog/dd-trace-java#8270) -
[@&#8203;dougqh](https://github.com/dougqh))
- ✨ Always request known tests from the backend
([#&#8203;8268](DataDog/dd-trace-java#8268) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Fix NPE when trying to get retry analyzer in Test NG
([#&#8203;8253](DataDog/dd-trace-java#8253) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Set test framework and test framework version tags atomically
([#&#8203;8252](DataDog/dd-trace-java#8252) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add debug logging to Android Gradle module layout logic
([#&#8203;8251](DataDog/dd-trace-java#8251) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- 🐛 Fix source and destination folders computation for Android
Gradle projects
([#&#8203;8190](DataDog/dd-trace-java#8190) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add basic Scala Weaver sbt support
([#&#8203;8189](DataDog/dd-trace-java#8189) -
[@&#8203;daniel-mohedano](https://github.com/daniel-mohedano))
- ✨ Implement impacted tests detection
([#&#8203;8188](DataDog/dd-trace-java#8188) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))

##### Data Streams Monitoring

- ✨ Change hash computation for protobuf to better represent
impacting changes + save proto number in schema
([#&#8203;8201](DataDog/dd-trace-java#8201) -
[@&#8203;vandonr](https://github.com/vandonr))

##### Database Monitoring

- Add peer service tag in dbm sql commenter
([#&#8203;7913](DataDog/dd-trace-java#7913) -
[@&#8203;jordan-wong](https://github.com/jordan-wong))

##### Dynamic Instrumentation

- ✨ Add support for SymDB to scan directories
([#&#8203;8306](DataDog/dd-trace-java#8306) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Add SymDB report for any jar scanning failures
([#&#8203;8300](DataDog/dd-trace-java#8300) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Use two budgets depending on type
([#&#8203;8283](DataDog/dd-trace-java#8283) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Institute a 10 snapshot per probe per trace budget
([#&#8203;8277](DataDog/dd-trace-java#8277) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Avoid double snapshots for Exception Replay
([#&#8203;8273](DataDog/dd-trace-java#8273) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Simplify code origins. Separate out snapshot generation.
([#&#8203;8263](DataDog/dd-trace-java#8263) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- ✨ Add Exception probe custom instrumentation
([#&#8203;8230](DataDog/dd-trace-java#8230) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Enhance log probes to honor debug session tags
([#&#8203;8215](DataDog/dd-trace-java#8215) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Don't redact env tokens from debugger probe snapshots
([#&#8203;8211](DataDog/dd-trace-java#8211) -
[@&#8203;watson](https://github.com/watson))
- ✨⚡ Move Trace/SpanId capture at commit time
([#&#8203;8184](DataDog/dd-trace-java#8184) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Capture values at entry for method probe
([#&#8203;8169](DataDog/dd-trace-java#8169) -
[@&#8203;jpbempel](https://github.com/jpbempel))

##### JMX fetch

- 🐛 Mute JMXFetch Shutdown in progress error
([#&#8203;8068](DataDog/dd-trace-java#8068) -
[@&#8203;ygree](https://github.com/ygree))

##### OpenTracing

- ⚠️🧹 Make jnr-unixsocket an explicit dependency of
dd-trace-ot
([#&#8203;8307](DataDog/dd-trace-java#8307) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Profiling

- 🐛 Avoid unsupported API call for creating folders on windows
([#&#8203;8304](DataDog/dd-trace-java#8304) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Tag profiles for serverless
([#&#8203;8279](DataDog/dd-trace-java#8279) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ add queue type and length to queue events
([#&#8203;8242](DataDog/dd-trace-java#8242) -
[@&#8203;richardstartin](https://github.com/richardstartin))
- 🐛 TempLocationManager Fixes and Improvements
([#&#8203;8191](DataDog/dd-trace-java#8191) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Bump ddprof to 1.18.0
([#&#8203;8173](DataDog/dd-trace-java#8173) -
[@&#8203;jbachorik](https://github.com/jbachorik))
- ✨ Report profiler initialization and configuration errors to
telemetry
([#&#8203;8171](DataDog/dd-trace-java#8171) -
[@&#8203;jbachorik](https://github.com/jbachorik))

##### Telemetry

- ✨ Add pending traces report in tracer flares
([#&#8203;8053](DataDog/dd-trace-java#8053) -
[@&#8203;mhlidd](https://github.com/mhlidd))

##### Testing

- ✨ Test http server requests in parallel
([#&#8203;8222](DataDog/dd-trace-java#8222) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Trace context propagation

- ✨ Add non default propagator registration
([#&#8203;8310](DataDog/dd-trace-java#8310) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

##### Tracer core

- ✨ Probe for existence of IBMSASL or ACCP security providers
([#&#8203;8276](DataDog/dd-trace-java#8276) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨⚡ Overhead improvement to agent feedback based sampling
([#&#8203;8265](DataDog/dd-trace-java#8265) -
[@&#8203;dougqh](https://github.com/dougqh))
- 🧹 Move async propagation API from scope to tracer
([#&#8203;8231](DataDog/dd-trace-java#8231) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Introduce context propagation API
([#&#8203;8161](DataDog/dd-trace-java#8161) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨🧪 Use env-entry to add tags per webapp deployment
([#&#8203;8138](DataDog/dd-trace-java#8138) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Introduce context helpers API
([#&#8203;8134](DataDog/dd-trace-java#8134) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- ✨ Support IPv6 values for `DD_AGENT_HOST` and
`DD_TRACE_AGENT_URL`
([#&#8203;7984](DataDog/dd-trace-java#7984) -
[@&#8203;mhlidd](https://github.com/mhlidd))

##### Instrumentations

##### Apache HttpComponents

- 🐛 Properly finish spans and support latest apache httpclient5
([#&#8203;8272](DataDog/dd-trace-java#8272) -
[@&#8203;amarziali](https://github.com/amarziali))

##### AWS Lambda instrumentation

- 🐛 Properly capture lambda payloads for all handler types.
([#&#8203;8264](DataDog/dd-trace-java#8264) -
[@&#8203;purple4reina](https://github.com/purple4reina))

##### AWS S3 instrumentation

- 💡 Create S3 instrumentation + add span pointers
([#&#8203;8075](DataDog/dd-trace-java#8075) -
[@&#8203;nhulston](https://github.com/nhulston))

##### AWS SDK instrumentation

- 🐛 Revert "Add avoid double instrumenting lambda non-streaming
handlers."
([#&#8203;8247](DataDog/dd-trace-java#8247) -
[@&#8203;nhulston](https://github.com/nhulston))

##### Cassandra

- ✨ Allow extracting keyspace from statement result
([#&#8203;8239](DataDog/dd-trace-java#8239) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Core Java language instrumentation

- ✨ Propagation of translateEscapes of String class
([#&#8203;8186](DataDog/dd-trace-java#8186) -
[@&#8203;sezen-datadog](https://github.com/sezen-datadog))

##### Eclipse Vert.x instrumentation

- 🐛 Fix vertx worker propagation and error handling
([#&#8203;8237](DataDog/dd-trace-java#8237) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Support vertx 5
([#&#8203;8220](DataDog/dd-trace-java#8220) -
[@&#8203;amarziali](https://github.com/amarziali))
- ✨ Add support for session tracking in Vertx
([#&#8203;8167](DataDog/dd-trace-java#8167) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))

##### Kafka instrumentation

- 🐛 Prevent possible NPE calculating Kafka record header size
([#&#8203;8292](DataDog/dd-trace-java#8292) -
[@&#8203;ygree](https://github.com/ygree))

##### Mule instrumentation

- 🐛 Fix crash using Mule with JPMS
([#&#8203;8187](DataDog/dd-trace-java#8187) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Protocol Buffer instrumentation

- ✨ Change hash computation for protobuf to better represent
impacting changes + save proto number in schema
([#&#8203;8201](DataDog/dd-trace-java#8201) -
[@&#8203;vandonr](https://github.com/vandonr))

##### Spring instrumentation

- 🐛 Preserve getQualifier from spring scheduling runnables
([#&#8203;8293](DataDog/dd-trace-java#8293) -
[@&#8203;amarziali](https://github.com/amarziali))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am
every weekday" in timezone Australia/Melbourne, Automerge - At any time
(no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: 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: bb09d47e4eed77a003f630273b4d0a84003eb899
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants