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

Ensure shaded helpers have unique names when injected into class-loaders #8192

Merged
merged 2 commits into from
Jan 14, 2025

Conversation

mcculls
Copy link
Contributor

@mcculls mcculls commented Jan 13, 2025

What Does This Do

Fixes an issue with #8153 where if the original module and relocated module both matched a class-loader then their injected helpers clashed. This could lead to a ClassCastException if the wrong helper was used by the injected advice. We now automatically relocate the injected helpers of relocated modules to avoid this scenario.

Additional Notes

As part of this change we also make some of the processing lazy, so it's only run when required.

Contributor Checklist

Jira ticket: APMAPI-858

@mcculls mcculls added type: bug comp: tooling Build & Tooling labels Jan 13, 2025
@mcculls mcculls force-pushed the mcculls/unique-packages-for-shaded-advice branch from fe4bee2 to 59746e2 Compare January 13, 2025 21:31
@mcculls mcculls added tag: no release notes Changes to exclude from release notes and removed tag: no release notes Changes to exclude from release notes labels Jan 13, 2025
@pr-commenter
Copy link

pr-commenter bot commented Jan 13, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/unique-packages-for-shaded-advice
git_commit_date 1736792263 1736804587
git_commit_sha d402356 e8e337c
release_version 1.46.0-SNAPSHOT~d402356031 1.46.0-SNAPSHOT~e8e337c52d
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1736810245 1736810245
ci_job_id 764817602 764817602
ci_pipeline_id 52888661 52888661
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 59 metrics, 4 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.46.0-SNAPSHOT~e8e337c52d, baseline=1.46.0-SNAPSHOT~d402356031

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.054 s) : 0, 1054037
Total [baseline] (8.624 s) : 0, 8624461
Agent [candidate] (1.059 s) : 0, 1059083
Total [candidate] (8.646 s) : 0, 8645911
section iast
Agent [baseline] (1.185 s) : 0, 1184958
Total [baseline] (9.207 s) : 0, 9207399
Agent [candidate] (1.187 s) : 0, 1186592
Total [candidate] (9.208 s) : 0, 9207952
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.182 s) : 0, 1181621
Total [baseline] (9.176 s) : 0, 9175683
Agent [candidate] (1.193 s) : 0, 1192614
Total [candidate] (9.242 s) : 0, 9242168
section iast_TELEMETRY_OFF
Agent [baseline] (1.179 s) : 0, 1178778
Total [baseline] (9.192 s) : 0, 9192241
Agent [candidate] (1.181 s) : 0, 1180895
Total [candidate] (9.2 s) : 0, 9200017
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.054 s -
Agent iast 1.185 s 130.921 ms (12.4%)
Agent iast_HARDCODED_SECRET_DISABLED 1.182 s 127.584 ms (12.1%)
Agent iast_TELEMETRY_OFF 1.179 s 124.741 ms (11.8%)
Total tracing 8.624 s -
Total iast 9.207 s 582.938 ms (6.8%)
Total iast_HARDCODED_SECRET_DISABLED 9.176 s 551.222 ms (6.4%)
Total iast_TELEMETRY_OFF 9.192 s 567.78 ms (6.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.059 s -
Agent iast 1.187 s 127.51 ms (12.0%)
Agent iast_HARDCODED_SECRET_DISABLED 1.193 s 133.532 ms (12.6%)
Agent iast_TELEMETRY_OFF 1.181 s 121.813 ms (11.5%)
Total tracing 8.646 s -
Total iast 9.208 s 562.04 ms (6.5%)
Total iast_HARDCODED_SECRET_DISABLED 9.242 s 596.256 ms (6.9%)
Total iast_TELEMETRY_OFF 9.2 s 554.106 ms (6.4%)
gantt
    title insecure-bank - break down per module: candidate=1.46.0-SNAPSHOT~e8e337c52d, baseline=1.46.0-SNAPSHOT~d402356031

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (712.684 ms) : 0, 712684
BytebuddyAgent [candidate] (715.701 ms) : 0, 715701
GlobalTracer [baseline] (255.801 ms) : 0, 255801
GlobalTracer [candidate] (256.521 ms) : 0, 256521
AppSec [baseline] (57.112 ms) : 0, 57112
AppSec [candidate] (55.213 ms) : 0, 55213
Remote Config [baseline] (726.71 µs) : 0, 727
Remote Config [candidate] (718.352 µs) : 0, 718
Telemetry [baseline] (12.794 ms) : 0, 12794
Telemetry [candidate] (15.851 ms) : 0, 15851
section iast
BytebuddyAgent [baseline] (834.032 ms) : 0, 834032
BytebuddyAgent [candidate] (835.664 ms) : 0, 835664
GlobalTracer [baseline] (247.321 ms) : 0, 247321
GlobalTracer [candidate] (246.777 ms) : 0, 246777
AppSec [baseline] (57.944 ms) : 0, 57944
AppSec [candidate] (58.264 ms) : 0, 58264
IAST [baseline] (21.259 ms) : 0, 21259
IAST [candidate] (21.387 ms) : 0, 21387
Remote Config [baseline] (656.41 µs) : 0, 656
Remote Config [candidate] (658.262 µs) : 0, 658
Telemetry [baseline] (8.715 ms) : 0, 8715
Telemetry [candidate] (8.646 ms) : 0, 8646
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (831.419 ms) : 0, 831419
BytebuddyAgent [candidate] (838.733 ms) : 0, 838733
GlobalTracer [baseline] (246.785 ms) : 0, 246785
GlobalTracer [candidate] (249.145 ms) : 0, 249145
AppSec [baseline] (57.756 ms) : 0, 57756
AppSec [candidate] (58.479 ms) : 0, 58479
IAST [baseline] (21.364 ms) : 0, 21364
IAST [candidate] (21.504 ms) : 0, 21504
Remote Config [baseline] (664.907 µs) : 0, 665
Remote Config [candidate] (686.111 µs) : 0, 686
Telemetry [baseline] (8.695 ms) : 0, 8695
Telemetry [candidate] (8.973 ms) : 0, 8973
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (828.513 ms) : 0, 828513
BytebuddyAgent [candidate] (829.891 ms) : 0, 829891
GlobalTracer [baseline] (247.063 ms) : 0, 247063
GlobalTracer [candidate] (247.909 ms) : 0, 247909
AppSec [baseline] (58.035 ms) : 0, 58035
AppSec [candidate] (57.913 ms) : 0, 57913
IAST [baseline] (20.841 ms) : 0, 20841
IAST [candidate] (20.793 ms) : 0, 20793
Remote Config [baseline] (652.075 µs) : 0, 652
Remote Config [candidate] (663.933 µs) : 0, 664
Telemetry [baseline] (8.634 ms) : 0, 8634
Telemetry [candidate] (8.63 ms) : 0, 8630
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.46.0-SNAPSHOT~e8e337c52d, baseline=1.46.0-SNAPSHOT~d402356031

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.058 s) : 0, 1057986
Total [baseline] (10.485 s) : 0, 10485064
Agent [candidate] (1.062 s) : 0, 1062230
Total [candidate] (10.555 s) : 0, 10555169
section appsec
Agent [baseline] (1.19 s) : 0, 1189782
Total [baseline] (10.709 s) : 0, 10709380
Agent [candidate] (1.193 s) : 0, 1192608
Total [candidate] (10.73 s) : 0, 10729898
section iast
Agent [baseline] (1.191 s) : 0, 1190928
Total [baseline] (10.953 s) : 0, 10952640
Agent [candidate] (1.183 s) : 0, 1183356
Total [candidate] (10.977 s) : 0, 10977075
section profiling
Agent [baseline] (1.272 s) : 0, 1272167
Total [baseline] (10.848 s) : 0, 10847775
Agent [candidate] (1.271 s) : 0, 1271228
Total [candidate] (10.888 s) : 0, 10888031
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.058 s -
Agent appsec 1.19 s 131.796 ms (12.5%)
Agent iast 1.191 s 132.942 ms (12.6%)
Agent profiling 1.272 s 214.181 ms (20.2%)
Total tracing 10.485 s -
Total appsec 10.709 s 224.316 ms (2.1%)
Total iast 10.953 s 467.576 ms (4.5%)
Total profiling 10.848 s 362.711 ms (3.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.062 s -
Agent appsec 1.193 s 130.378 ms (12.3%)
Agent iast 1.183 s 121.126 ms (11.4%)
Agent profiling 1.271 s 208.998 ms (19.7%)
Total tracing 10.555 s -
Total appsec 10.73 s 174.729 ms (1.7%)
Total iast 10.977 s 421.906 ms (4.0%)
Total profiling 10.888 s 332.862 ms (3.2%)
gantt
    title petclinic - break down per module: candidate=1.46.0-SNAPSHOT~e8e337c52d, baseline=1.46.0-SNAPSHOT~d402356031

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (715.025 ms) : 0, 715025
BytebuddyAgent [candidate] (720.143 ms) : 0, 720143
GlobalTracer [baseline] (256.293 ms) : 0, 256293
GlobalTracer [candidate] (257.74 ms) : 0, 257740
AppSec [baseline] (56.176 ms) : 0, 56176
AppSec [candidate] (56.313 ms) : 0, 56313
Remote Config [baseline] (726.475 µs) : 0, 726
Remote Config [candidate] (726.728 µs) : 0, 727
Telemetry [baseline] (14.786 ms) : 0, 14786
Telemetry [candidate] (12.111 ms) : 0, 12111
section appsec
BytebuddyAgent [baseline] (732.485 ms) : 0, 732485
BytebuddyAgent [candidate] (733.443 ms) : 0, 733443
GlobalTracer [baseline] (253.501 ms) : 0, 253501
GlobalTracer [candidate] (254.348 ms) : 0, 254348
AppSec [baseline] (170.199 ms) : 0, 170199
AppSec [candidate] (170.524 ms) : 0, 170524
Remote Config [baseline] (665.859 µs) : 0, 666
Remote Config [candidate] (661.066 µs) : 0, 661
Telemetry [baseline] (8.217 ms) : 0, 8217
Telemetry [candidate] (8.911 ms) : 0, 8911
IAST [baseline] (19.466 ms) : 0, 19466
IAST [candidate] (19.28 ms) : 0, 19280
section iast
BytebuddyAgent [baseline] (837.931 ms) : 0, 837931
BytebuddyAgent [candidate] (832.396 ms) : 0, 832396
GlobalTracer [baseline] (248.852 ms) : 0, 248852
GlobalTracer [candidate] (247.119 ms) : 0, 247119
AppSec [baseline] (58.288 ms) : 0, 58288
AppSec [candidate] (58.116 ms) : 0, 58116
Remote Config [baseline] (694.364 µs) : 0, 694
Remote Config [candidate] (672.176 µs) : 0, 672
Telemetry [baseline] (8.805 ms) : 0, 8805
Telemetry [candidate] (8.7 ms) : 0, 8700
IAST [baseline] (21.252 ms) : 0, 21252
IAST [candidate] (21.268 ms) : 0, 21268
section profiling
BytebuddyAgent [baseline] (702.446 ms) : 0, 702446
BytebuddyAgent [candidate] (702.408 ms) : 0, 702408
GlobalTracer [baseline] (368.414 ms) : 0, 368414
GlobalTracer [candidate] (367.895 ms) : 0, 367895
AppSec [baseline] (54.122 ms) : 0, 54122
AppSec [candidate] (53.991 ms) : 0, 53991
Remote Config [baseline] (696.925 µs) : 0, 697
Remote Config [candidate] (686.377 µs) : 0, 686
Telemetry [baseline] (8.86 ms) : 0, 8860
Telemetry [candidate] (8.912 ms) : 0, 8912
ProfilingAgent [baseline] (95.878 ms) : 0, 95878
ProfilingAgent [candidate] (95.461 ms) : 0, 95461
Profiling [baseline] (95.902 ms) : 0, 95902
Profiling [candidate] (95.485 ms) : 0, 95485
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-01-13T22:47:43 2025-01-13T22:54:44
git_branch master mcculls/unique-packages-for-shaded-advice
git_commit_date 1736792263 1736804587
git_commit_sha d402356 e8e337c
release_version 1.46.0-SNAPSHOT~d402356031 1.46.0-SNAPSHOT~e8e337c52d
start_time 2025-01-13T22:47:29 2025-01-13T22:54:31
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1736809239 1736809239
ci_job_id 764817603 764817603
ci_pipeline_id 52888661 52888661
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 petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~e8e337c52d, baseline=1.46.0-SNAPSHOT~d402356031
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.354 ms) : 1334, 1375
.   : milestone, 1354,
appsec (1.744 ms) : 1720, 1767
.   : milestone, 1744,
appsec_no_iast (1.785 ms) : 1760, 1810
.   : milestone, 1785,
iast (1.516 ms) : 1493, 1539
.   : milestone, 1516,
profiling (1.525 ms) : 1502, 1548
.   : milestone, 1525,
tracing (1.492 ms) : 1467, 1517
.   : milestone, 1492,
section candidate
no_agent (1.383 ms) : 1363, 1402
.   : milestone, 1383,
appsec (1.76 ms) : 1736, 1784
.   : milestone, 1760,
appsec_no_iast (1.744 ms) : 1719, 1768
.   : milestone, 1744,
iast (1.508 ms) : 1485, 1531
.   : milestone, 1508,
profiling (1.507 ms) : 1483, 1530
.   : milestone, 1507,
tracing (1.497 ms) : 1473, 1521
.   : milestone, 1497,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.354 ms [1.334 ms, 1.375 ms] -
appsec 1.744 ms [1.72 ms, 1.767 ms] 389.039 µs (28.7%)
appsec_no_iast 1.785 ms [1.76 ms, 1.81 ms] 430.631 µs (31.8%)
iast 1.516 ms [1.493 ms, 1.539 ms] 161.361 µs (11.9%)
profiling 1.525 ms [1.502 ms, 1.548 ms] 170.258 µs (12.6%)
tracing 1.492 ms [1.467 ms, 1.517 ms] 137.111 µs (10.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.383 ms [1.363 ms, 1.402 ms] -
appsec 1.76 ms [1.736 ms, 1.784 ms] 377.698 µs (27.3%)
appsec_no_iast 1.744 ms [1.719 ms, 1.768 ms] 361.01 µs (26.1%)
iast 1.508 ms [1.485 ms, 1.531 ms] 125.259 µs (9.1%)
profiling 1.507 ms [1.483 ms, 1.53 ms] 124.233 µs (9.0%)
tracing 1.497 ms [1.473 ms, 1.521 ms] 114.111 µs (8.3%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.46.0-SNAPSHOT~e8e337c52d, baseline=1.46.0-SNAPSHOT~d402356031
    dateFormat X
    axisFormat %s
section baseline
no_agent (382.002 µs) : 361, 403
.   : milestone, 382,
iast (500.586 µs) : 478, 523
.   : milestone, 501,
iast_FULL (660.507 µs) : 639, 682
.   : milestone, 661,
iast_GLOBAL (536.276 µs) : 514, 559
.   : milestone, 536,
iast_HARDCODED_SECRET_DISABLED (510.445 µs) : 488, 533
.   : milestone, 510,
iast_INACTIVE (459.758 µs) : 438, 481
.   : milestone, 460,
iast_TELEMETRY_OFF (491.286 µs) : 469, 513
.   : milestone, 491,
tracing (459.103 µs) : 438, 480
.   : milestone, 459,
section candidate
no_agent (386.053 µs) : 365, 407
.   : milestone, 386,
iast (496.008 µs) : 474, 518
.   : milestone, 496,
iast_FULL (657.508 µs) : 636, 679
.   : milestone, 658,
iast_GLOBAL (517.958 µs) : 496, 539
.   : milestone, 518,
iast_HARDCODED_SECRET_DISABLED (498.067 µs) : 476, 520
.   : milestone, 498,
iast_INACTIVE (461.442 µs) : 440, 483
.   : milestone, 461,
iast_TELEMETRY_OFF (488.65 µs) : 467, 511
.   : milestone, 489,
tracing (453.731 µs) : 433, 475
.   : milestone, 454,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 382.002 µs [361.212 µs, 402.791 µs] -
iast 500.586 µs [478.305 µs, 522.868 µs] 118.585 µs (31.0%)
iast_FULL 660.507 µs [638.73 µs, 682.283 µs] 278.505 µs (72.9%)
iast_GLOBAL 536.276 µs [513.601 µs, 558.952 µs] 154.275 µs (40.4%)
iast_HARDCODED_SECRET_DISABLED 510.445 µs [488.25 µs, 532.64 µs] 128.444 µs (33.6%)
iast_INACTIVE 459.758 µs [438.042 µs, 481.474 µs] 77.756 µs (20.4%)
iast_TELEMETRY_OFF 491.286 µs [469.092 µs, 513.481 µs] 109.285 µs (28.6%)
tracing 459.103 µs [438.063 µs, 480.144 µs] 77.102 µs (20.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 386.053 µs [365.309 µs, 406.798 µs] -
iast 496.008 µs [474.449 µs, 517.568 µs] 109.955 µs (28.5%)
iast_FULL 657.508 µs [635.746 µs, 679.27 µs] 271.455 µs (70.3%)
iast_GLOBAL 517.958 µs [496.436 µs, 539.48 µs] 131.904 µs (34.2%)
iast_HARDCODED_SECRET_DISABLED 498.067 µs [476.25 µs, 519.884 µs] 112.014 µs (29.0%)
iast_INACTIVE 461.442 µs [440.215 µs, 482.668 µs] 75.388 µs (19.5%)
iast_TELEMETRY_OFF 488.65 µs [466.765 µs, 510.535 µs] 102.597 µs (26.6%)
tracing 453.731 µs [432.921 µs, 474.541 µs] 67.678 µs (17.5%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master mcculls/unique-packages-for-shaded-advice
git_commit_date 1736792263 1736804587
git_commit_sha d402356 e8e337c
release_version 1.46.0-SNAPSHOT~d402356031 1.46.0-SNAPSHOT~e8e337c52d
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1736809790 1736809790
ci_job_id 764817604 764817604
ci_pipeline_id 52888661 52888661
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 tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~e8e337c52d, baseline=1.46.0-SNAPSHOT~d402356031
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.465 ms) : 1453, 1476
.   : milestone, 1465,
appsec (2.356 ms) : 2313, 2399
.   : milestone, 2356,
iast (2.095 ms) : 2040, 2150
.   : milestone, 2095,
iast_GLOBAL (2.146 ms) : 2091, 2202
.   : milestone, 2146,
profiling (1.963 ms) : 1919, 2007
.   : milestone, 1963,
tracing (1.949 ms) : 1907, 1992
.   : milestone, 1949,
section candidate
no_agent (1.472 ms) : 1460, 1483
.   : milestone, 1472,
appsec (2.345 ms) : 2301, 2388
.   : milestone, 2345,
iast (2.101 ms) : 2046, 2155
.   : milestone, 2101,
iast_GLOBAL (2.137 ms) : 2082, 2192
.   : milestone, 2137,
profiling (1.964 ms) : 1921, 2008
.   : milestone, 1964,
tracing (1.933 ms) : 1890, 1975
.   : milestone, 1933,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.465 ms [1.453 ms, 1.476 ms] -
appsec 2.356 ms [2.313 ms, 2.399 ms] 891.366 µs (60.9%)
iast 2.095 ms [2.04 ms, 2.15 ms] 630.0 µs (43.0%)
iast_GLOBAL 2.146 ms [2.091 ms, 2.202 ms] 681.41 µs (46.5%)
profiling 1.963 ms [1.919 ms, 2.007 ms] 498.421 µs (34.0%)
tracing 1.949 ms [1.907 ms, 1.992 ms] 484.606 µs (33.1%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.472 ms [1.46 ms, 1.483 ms] -
appsec 2.345 ms [2.301 ms, 2.388 ms] 873.066 µs (59.3%)
iast 2.101 ms [2.046 ms, 2.155 ms] 629.141 µs (42.8%)
iast_GLOBAL 2.137 ms [2.082 ms, 2.192 ms] 665.847 µs (45.2%)
profiling 1.964 ms [1.921 ms, 2.008 ms] 492.853 µs (33.5%)
tracing 1.933 ms [1.89 ms, 1.975 ms] 461.061 µs (31.3%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.46.0-SNAPSHOT~e8e337c52d, baseline=1.46.0-SNAPSHOT~d402356031
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.476 s) : 15476000, 15476000
.   : milestone, 15476000,
appsec (15.137 s) : 15137000, 15137000
.   : milestone, 15137000,
iast (18.782 s) : 18782000, 18782000
.   : milestone, 18782000,
iast_GLOBAL (17.734 s) : 17734000, 17734000
.   : milestone, 17734000,
profiling (15.295 s) : 15295000, 15295000
.   : milestone, 15295000,
tracing (15.285 s) : 15285000, 15285000
.   : milestone, 15285000,
section candidate
no_agent (15.481 s) : 15481000, 15481000
.   : milestone, 15481000,
appsec (15.063 s) : 15063000, 15063000
.   : milestone, 15063000,
iast (18.607 s) : 18607000, 18607000
.   : milestone, 18607000,
iast_GLOBAL (17.851 s) : 17851000, 17851000
.   : milestone, 17851000,
profiling (14.874 s) : 14874000, 14874000
.   : milestone, 14874000,
tracing (14.989 s) : 14989000, 14989000
.   : milestone, 14989000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.476 s [15.476 s, 15.476 s] -
appsec 15.137 s [15.137 s, 15.137 s] -339.0 ms (-2.2%)
iast 18.782 s [18.782 s, 18.782 s] 3.306 s (21.4%)
iast_GLOBAL 17.734 s [17.734 s, 17.734 s] 2.258 s (14.6%)
profiling 15.295 s [15.295 s, 15.295 s] -181.0 ms (-1.2%)
tracing 15.285 s [15.285 s, 15.285 s] -191.0 ms (-1.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.481 s [15.481 s, 15.481 s] -
appsec 15.063 s [15.063 s, 15.063 s] -418.0 ms (-2.7%)
iast 18.607 s [18.607 s, 18.607 s] 3.126 s (20.2%)
iast_GLOBAL 17.851 s [17.851 s, 17.851 s] 2.37 s (15.3%)
profiling 14.874 s [14.874 s, 14.874 s] -607.0 ms (-3.9%)
tracing 14.989 s [14.989 s, 14.989 s] -492.0 ms (-3.2%)

@mcculls mcculls force-pushed the mcculls/unique-packages-for-shaded-advice branch from 59746e2 to e8e337c Compare January 13, 2025 22:39
@mcculls mcculls marked this pull request as ready for review January 13, 2025 22:45
@mcculls mcculls requested a review from a team as a code owner January 13, 2025 22:45
@mcculls mcculls requested review from smola and amarziali January 13, 2025 22:45
@mcculls mcculls modified the milestone: 1.45.0 Jan 13, 2025
@mcculls mcculls enabled auto-merge (squash) January 14, 2025 00:03
@mcculls mcculls merged commit b0770e9 into master Jan 14, 2025
175 checks passed
@mcculls mcculls deleted the mcculls/unique-packages-for-shaded-advice branch January 14, 2025 10:04
@github-actions github-actions bot added this to the 1.46.0 milestone Jan 14, 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