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

make local var hoisting disabled by default #8158

Merged
merged 3 commits into from
Jan 7, 2025

Conversation

jpbempel
Copy link
Member

@jpbempel jpbempel commented Jan 6, 2025

What Does This Do

make local var hoisting disabled by default
until we have a complete data and CFG analysis make it safe.

Motivation

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@jpbempel jpbempel added type: bug comp: debugger Dynamic Instrumentation labels Jan 6, 2025
@jpbempel jpbempel requested a review from a team as a code owner January 6, 2025 08:48
@jpbempel jpbempel requested a review from amarziali January 6, 2025 08:48
@pr-commenter
Copy link

pr-commenter bot commented Jan 6, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/disable-hoisting-by-default
git_commit_date 1736160002 1736255120
git_commit_sha 0c2f7ff 2413b07
release_version 1.45.0-SNAPSHOT~0c2f7ff792 1.45.0-SNAPSHOT~2413b07cae
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1736257812 1736257812
ci_job_id 756689298 756689298
ci_pipeline_id 52322453 52322453
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.45.0-SNAPSHOT~2413b07cae, baseline=1.45.0-SNAPSHOT~0c2f7ff792

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.061 s) : 0, 1061476
Total [baseline] (10.415 s) : 0, 10414535
Agent [candidate] (1.055 s) : 0, 1054717
Total [candidate] (10.46 s) : 0, 10460190
section appsec
Agent [baseline] (1.186 s) : 0, 1185841
Total [baseline] (10.697 s) : 0, 10696789
Agent [candidate] (1.194 s) : 0, 1193579
Total [candidate] (10.745 s) : 0, 10745237
section iast
Agent [baseline] (1.182 s) : 0, 1182154
Total [baseline] (10.998 s) : 0, 10997838
Agent [candidate] (1.187 s) : 0, 1187084
Total [candidate] (11.032 s) : 0, 11031613
section profiling
Agent [baseline] (1.276 s) : 0, 1276054
Total [baseline] (10.902 s) : 0, 10901863
Agent [candidate] (1.277 s) : 0, 1276716
Total [candidate] (10.834 s) : 0, 10834287
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.061 s -
Agent appsec 1.186 s 124.365 ms (11.7%)
Agent iast 1.182 s 120.678 ms (11.4%)
Agent profiling 1.276 s 214.578 ms (20.2%)
Total tracing 10.415 s -
Total appsec 10.697 s 282.254 ms (2.7%)
Total iast 10.998 s 583.303 ms (5.6%)
Total profiling 10.902 s 487.328 ms (4.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.055 s -
Agent appsec 1.194 s 138.862 ms (13.2%)
Agent iast 1.187 s 132.367 ms (12.6%)
Agent profiling 1.277 s 222.0 ms (21.0%)
Total tracing 10.46 s -
Total appsec 10.745 s 285.047 ms (2.7%)
Total iast 11.032 s 571.423 ms (5.5%)
Total profiling 10.834 s 374.097 ms (3.6%)
gantt
    title petclinic - break down per module: candidate=1.45.0-SNAPSHOT~2413b07cae, baseline=1.45.0-SNAPSHOT~0c2f7ff792

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (718.759 ms) : 0, 718759
BytebuddyAgent [candidate] (712.609 ms) : 0, 712609
GlobalTracer [baseline] (257.081 ms) : 0, 257081
GlobalTracer [candidate] (255.77 ms) : 0, 255770
AppSec [baseline] (56.909 ms) : 0, 56909
AppSec [candidate] (56.352 ms) : 0, 56352
Remote Config [baseline] (760.242 µs) : 0, 760
Remote Config [candidate] (729.467 µs) : 0, 729
Telemetry [baseline] (12.889 ms) : 0, 12889
Telemetry [candidate] (14.189 ms) : 0, 14189
section appsec
BytebuddyAgent [baseline] (729.416 ms) : 0, 729416
BytebuddyAgent [candidate] (735.537 ms) : 0, 735537
GlobalTracer [baseline] (252.502 ms) : 0, 252502
GlobalTracer [candidate] (253.938 ms) : 0, 253938
AppSec [baseline] (170.712 ms) : 0, 170712
AppSec [candidate] (170.693 ms) : 0, 170693
Remote Config [baseline] (658.445 µs) : 0, 658
Remote Config [candidate] (654.364 µs) : 0, 654
Telemetry [baseline] (7.962 ms) : 0, 7962
Telemetry [candidate] (7.968 ms) : 0, 7968
IAST [baseline] (19.226 ms) : 0, 19226
IAST [candidate] (19.307 ms) : 0, 19307
section iast
BytebuddyAgent [baseline] (831.771 ms) : 0, 831771
BytebuddyAgent [candidate] (836.588 ms) : 0, 836588
GlobalTracer [baseline] (247.042 ms) : 0, 247042
GlobalTracer [candidate] (246.886 ms) : 0, 246886
AppSec [baseline] (58.081 ms) : 0, 58081
AppSec [candidate] (58.018 ms) : 0, 58018
Remote Config [baseline] (647.467 µs) : 0, 647
Remote Config [candidate] (647.718 µs) : 0, 648
Telemetry [baseline] (8.535 ms) : 0, 8535
Telemetry [candidate] (8.573 ms) : 0, 8573
IAST [baseline] (21.146 ms) : 0, 21146
IAST [candidate] (21.214 ms) : 0, 21214
section profiling
BytebuddyAgent [baseline] (701.723 ms) : 0, 701723
BytebuddyAgent [candidate] (704.041 ms) : 0, 704041
GlobalTracer [baseline] (372.597 ms) : 0, 372597
GlobalTracer [candidate] (372.491 ms) : 0, 372491
AppSec [baseline] (54.739 ms) : 0, 54739
AppSec [candidate] (53.976 ms) : 0, 53976
Remote Config [baseline] (676.151 µs) : 0, 676
Remote Config [candidate] (656.827 µs) : 0, 657
Telemetry [baseline] (7.94 ms) : 0, 7940
Telemetry [candidate] (7.809 ms) : 0, 7809
ProfilingAgent [baseline] (96.706 ms) : 0, 96706
ProfilingAgent [candidate] (95.838 ms) : 0, 95838
Profiling [baseline] (96.731 ms) : 0, 96731
Profiling [candidate] (95.863 ms) : 0, 95863
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.45.0-SNAPSHOT~2413b07cae, baseline=1.45.0-SNAPSHOT~0c2f7ff792

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.053 s) : 0, 1053019
Total [baseline] (8.619 s) : 0, 8619042
Agent [candidate] (1.062 s) : 0, 1062218
Total [candidate] (8.616 s) : 0, 8615935
section iast
Agent [baseline] (1.188 s) : 0, 1188056
Total [baseline] (9.225 s) : 0, 9225438
Agent [candidate] (1.18 s) : 0, 1179763
Total [candidate] (9.19 s) : 0, 9189524
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.177 s) : 0, 1176817
Total [baseline] (9.167 s) : 0, 9167345
Agent [candidate] (1.185 s) : 0, 1185278
Total [candidate] (9.204 s) : 0, 9204312
section iast_TELEMETRY_OFF
Agent [baseline] (1.183 s) : 0, 1183400
Total [baseline] (9.195 s) : 0, 9194930
Agent [candidate] (1.18 s) : 0, 1179827
Total [candidate] (9.202 s) : 0, 9202300
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.053 s -
Agent iast 1.188 s 135.037 ms (12.8%)
Agent iast_HARDCODED_SECRET_DISABLED 1.177 s 123.798 ms (11.8%)
Agent iast_TELEMETRY_OFF 1.183 s 130.382 ms (12.4%)
Total tracing 8.619 s -
Total iast 9.225 s 606.396 ms (7.0%)
Total iast_HARDCODED_SECRET_DISABLED 9.167 s 548.303 ms (6.4%)
Total iast_TELEMETRY_OFF 9.195 s 575.888 ms (6.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.062 s -
Agent iast 1.18 s 117.545 ms (11.1%)
Agent iast_HARDCODED_SECRET_DISABLED 1.185 s 123.06 ms (11.6%)
Agent iast_TELEMETRY_OFF 1.18 s 117.609 ms (11.1%)
Total tracing 8.616 s -
Total iast 9.19 s 573.589 ms (6.7%)
Total iast_HARDCODED_SECRET_DISABLED 9.204 s 588.377 ms (6.8%)
Total iast_TELEMETRY_OFF 9.202 s 586.365 ms (6.8%)
gantt
    title insecure-bank - break down per module: candidate=1.45.0-SNAPSHOT~2413b07cae, baseline=1.45.0-SNAPSHOT~0c2f7ff792

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (713.232 ms) : 0, 713232
BytebuddyAgent [candidate] (718.78 ms) : 0, 718780
GlobalTracer [baseline] (255.455 ms) : 0, 255455
GlobalTracer [candidate] (257.719 ms) : 0, 257719
AppSec [baseline] (55.255 ms) : 0, 55255
AppSec [candidate] (55.51 ms) : 0, 55510
Remote Config [baseline] (726.557 µs) : 0, 727
Remote Config [candidate] (756.673 µs) : 0, 757
Telemetry [baseline] (13.348 ms) : 0, 13348
Telemetry [candidate] (14.404 ms) : 0, 14404
section iast
BytebuddyAgent [baseline] (836.573 ms) : 0, 836573
BytebuddyAgent [candidate] (830.277 ms) : 0, 830277
GlobalTracer [baseline] (247.923 ms) : 0, 247923
GlobalTracer [candidate] (246.387 ms) : 0, 246387
AppSec [baseline] (58.169 ms) : 0, 58169
AppSec [candidate] (57.989 ms) : 0, 57989
IAST [baseline] (21.068 ms) : 0, 21068
IAST [candidate] (20.992 ms) : 0, 20992
Remote Config [baseline] (642.312 µs) : 0, 642
Remote Config [candidate] (656.942 µs) : 0, 657
Telemetry [baseline] (8.51 ms) : 0, 8510
Telemetry [candidate] (8.467 ms) : 0, 8467
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (827.876 ms) : 0, 827876
BytebuddyAgent [candidate] (833.888 ms) : 0, 833888
GlobalTracer [baseline] (245.585 ms) : 0, 245585
GlobalTracer [candidate] (247.707 ms) : 0, 247707
AppSec [baseline] (58.077 ms) : 0, 58077
AppSec [candidate] (58.417 ms) : 0, 58417
IAST [baseline] (21.122 ms) : 0, 21122
IAST [candidate] (20.983 ms) : 0, 20983
Remote Config [baseline] (657.384 µs) : 0, 657
Remote Config [candidate] (672.5 µs) : 0, 673
Telemetry [baseline] (8.481 ms) : 0, 8481
Telemetry [candidate] (8.528 ms) : 0, 8528
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (832.771 ms) : 0, 832771
BytebuddyAgent [candidate] (830.118 ms) : 0, 830118
GlobalTracer [baseline] (247.478 ms) : 0, 247478
GlobalTracer [candidate] (247.176 ms) : 0, 247176
AppSec [baseline] (57.967 ms) : 0, 57967
AppSec [candidate] (57.852 ms) : 0, 57852
IAST [baseline] (20.959 ms) : 0, 20959
IAST [candidate] (20.63 ms) : 0, 20630
Remote Config [baseline] (664.757 µs) : 0, 665
Remote Config [candidate] (653.215 µs) : 0, 653
Telemetry [baseline] (8.414 ms) : 0, 8414
Telemetry [candidate] (8.369 ms) : 0, 8369
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2025-01-07T13:20:18 2025-01-07T13:27:18
git_branch master jpbempel/disable-hoisting-by-default
git_commit_date 1736160002 1736255120
git_commit_sha 0c2f7ff 2413b07
release_version 1.45.0-SNAPSHOT~0c2f7ff792 1.45.0-SNAPSHOT~2413b07cae
start_time 2025-01-07T13:20:04 2025-01-07T13:27:05
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1736256793 1736256793
ci_job_id 756689299 756689299
ci_pipeline_id 52322453 52322453
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.45.0-SNAPSHOT~2413b07cae, baseline=1.45.0-SNAPSHOT~0c2f7ff792
    dateFormat X
    axisFormat %s
section baseline
no_agent (380.017 µs) : 360, 400
.   : milestone, 380,
iast (497.653 µs) : 476, 520
.   : milestone, 498,
iast_FULL (660.834 µs) : 639, 683
.   : milestone, 661,
iast_GLOBAL (522.812 µs) : 501, 544
.   : milestone, 523,
iast_HARDCODED_SECRET_DISABLED (492.344 µs) : 471, 514
.   : milestone, 492,
iast_INACTIVE (455.707 µs) : 435, 477
.   : milestone, 456,
iast_TELEMETRY_OFF (491.039 µs) : 469, 514
.   : milestone, 491,
tracing (449.614 µs) : 429, 470
.   : milestone, 450,
section candidate
no_agent (379.825 µs) : 360, 399
.   : milestone, 380,
iast (495.847 µs) : 474, 518
.   : milestone, 496,
iast_FULL (656.642 µs) : 635, 678
.   : milestone, 657,
iast_GLOBAL (523.317 µs) : 502, 545
.   : milestone, 523,
iast_HARDCODED_SECRET_DISABLED (502.157 µs) : 480, 524
.   : milestone, 502,
iast_INACTIVE (454.81 µs) : 434, 476
.   : milestone, 455,
iast_TELEMETRY_OFF (482.247 µs) : 461, 504
.   : milestone, 482,
tracing (460.802 µs) : 439, 482
.   : milestone, 461,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 380.017 µs [359.947 µs, 400.086 µs] -
iast 497.653 µs [475.768 µs, 519.539 µs] 117.637 µs (31.0%)
iast_FULL 660.834 µs [639.065 µs, 682.602 µs] 280.817 µs (73.9%)
iast_GLOBAL 522.812 µs [501.307 µs, 544.318 µs] 142.796 µs (37.6%)
iast_HARDCODED_SECRET_DISABLED 492.344 µs [470.78 µs, 513.907 µs] 112.327 µs (29.6%)
iast_INACTIVE 455.707 µs [434.738 µs, 476.676 µs] 75.691 µs (19.9%)
iast_TELEMETRY_OFF 491.039 µs [468.519 µs, 513.558 µs] 111.022 µs (29.2%)
tracing 449.614 µs [428.948 µs, 470.281 µs] 69.597 µs (18.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 379.825 µs [360.197 µs, 399.452 µs] -
iast 495.847 µs [473.95 µs, 517.745 µs] 116.023 µs (30.5%)
iast_FULL 656.642 µs [635.043 µs, 678.24 µs] 276.817 µs (72.9%)
iast_GLOBAL 523.317 µs [501.872 µs, 544.763 µs] 143.493 µs (37.8%)
iast_HARDCODED_SECRET_DISABLED 502.157 µs [479.869 µs, 524.446 µs] 122.333 µs (32.2%)
iast_INACTIVE 454.81 µs [433.855 µs, 475.765 µs] 74.985 µs (19.7%)
iast_TELEMETRY_OFF 482.247 µs [460.757 µs, 503.738 µs] 102.423 µs (27.0%)
tracing 460.802 µs [439.498 µs, 482.106 µs] 80.977 µs (21.3%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.45.0-SNAPSHOT~2413b07cae, baseline=1.45.0-SNAPSHOT~0c2f7ff792
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.395 ms) : 1376, 1415
.   : milestone, 1395,
appsec (1.756 ms) : 1732, 1780
.   : milestone, 1756,
appsec_no_iast (1.759 ms) : 1734, 1785
.   : milestone, 1759,
iast (1.506 ms) : 1483, 1528
.   : milestone, 1506,
profiling (1.517 ms) : 1494, 1539
.   : milestone, 1517,
tracing (1.492 ms) : 1466, 1518
.   : milestone, 1492,
section candidate
no_agent (1.362 ms) : 1343, 1381
.   : milestone, 1362,
appsec (1.749 ms) : 1726, 1773
.   : milestone, 1749,
appsec_no_iast (1.756 ms) : 1732, 1781
.   : milestone, 1756,
iast (1.514 ms) : 1491, 1536
.   : milestone, 1514,
profiling (1.515 ms) : 1490, 1540
.   : milestone, 1515,
tracing (1.504 ms) : 1479, 1529
.   : milestone, 1504,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.395 ms [1.376 ms, 1.415 ms] -
appsec 1.756 ms [1.732 ms, 1.78 ms] 361.116 µs (25.9%)
appsec_no_iast 1.759 ms [1.734 ms, 1.785 ms] 364.01 µs (26.1%)
iast 1.506 ms [1.483 ms, 1.528 ms] 110.503 µs (7.9%)
profiling 1.517 ms [1.494 ms, 1.539 ms] 121.358 µs (8.7%)
tracing 1.492 ms [1.466 ms, 1.518 ms] 96.825 µs (6.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.362 ms [1.343 ms, 1.381 ms] -
appsec 1.749 ms [1.726 ms, 1.773 ms] 387.215 µs (28.4%)
appsec_no_iast 1.756 ms [1.732 ms, 1.781 ms] 394.147 µs (28.9%)
iast 1.514 ms [1.491 ms, 1.536 ms] 151.362 µs (11.1%)
profiling 1.515 ms [1.49 ms, 1.54 ms] 152.645 µs (11.2%)
tracing 1.504 ms [1.479 ms, 1.529 ms] 141.698 µs (10.4%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/disable-hoisting-by-default
git_commit_date 1736160002 1736255120
git_commit_sha 0c2f7ff 2413b07
release_version 1.45.0-SNAPSHOT~0c2f7ff792 1.45.0-SNAPSHOT~2413b07cae
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1736257415 1736257415
ci_job_id 756689300 756689300
ci_pipeline_id 52322453 52322453
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.45.0-SNAPSHOT~2413b07cae, baseline=1.45.0-SNAPSHOT~0c2f7ff792
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.861 s) : 14861000, 14861000
.   : milestone, 14861000,
appsec (15.086 s) : 15086000, 15086000
.   : milestone, 15086000,
iast (19.057 s) : 19057000, 19057000
.   : milestone, 19057000,
iast_GLOBAL (17.914 s) : 17914000, 17914000
.   : milestone, 17914000,
profiling (15.14 s) : 15140000, 15140000
.   : milestone, 15140000,
tracing (15.217 s) : 15217000, 15217000
.   : milestone, 15217000,
section candidate
no_agent (15.502 s) : 15502000, 15502000
.   : milestone, 15502000,
appsec (14.885 s) : 14885000, 14885000
.   : milestone, 14885000,
iast (18.84 s) : 18840000, 18840000
.   : milestone, 18840000,
iast_GLOBAL (18.07 s) : 18070000, 18070000
.   : milestone, 18070000,
profiling (14.978 s) : 14978000, 14978000
.   : milestone, 14978000,
tracing (15.167 s) : 15167000, 15167000
.   : milestone, 15167000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.861 s [14.861 s, 14.861 s] -
appsec 15.086 s [15.086 s, 15.086 s] 225.0 ms (1.5%)
iast 19.057 s [19.057 s, 19.057 s] 4.196 s (28.2%)
iast_GLOBAL 17.914 s [17.914 s, 17.914 s] 3.053 s (20.5%)
profiling 15.14 s [15.14 s, 15.14 s] 279.0 ms (1.9%)
tracing 15.217 s [15.217 s, 15.217 s] 356.0 ms (2.4%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.502 s [15.502 s, 15.502 s] -
appsec 14.885 s [14.885 s, 14.885 s] -617.0 ms (-4.0%)
iast 18.84 s [18.84 s, 18.84 s] 3.338 s (21.5%)
iast_GLOBAL 18.07 s [18.07 s, 18.07 s] 2.568 s (16.6%)
profiling 14.978 s [14.978 s, 14.978 s] -524.0 ms (-3.4%)
tracing 15.167 s [15.167 s, 15.167 s] -335.0 ms (-2.2%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.45.0-SNAPSHOT~2413b07cae, baseline=1.45.0-SNAPSHOT~0c2f7ff792
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.474 ms) : 1463, 1486
.   : milestone, 1474,
appsec (2.375 ms) : 2332, 2418
.   : milestone, 2375,
iast (2.109 ms) : 2055, 2163
.   : milestone, 2109,
iast_GLOBAL (2.161 ms) : 2107, 2216
.   : milestone, 2161,
profiling (1.971 ms) : 1928, 2014
.   : milestone, 1971,
tracing (1.939 ms) : 1897, 1981
.   : milestone, 1939,
section candidate
no_agent (1.476 ms) : 1465, 1488
.   : milestone, 1476,
appsec (2.367 ms) : 2324, 2410
.   : milestone, 2367,
iast (2.103 ms) : 2049, 2156
.   : milestone, 2103,
iast_GLOBAL (2.154 ms) : 2100, 2209
.   : milestone, 2154,
profiling (1.988 ms) : 1943, 2032
.   : milestone, 1988,
tracing (1.95 ms) : 1909, 1992
.   : milestone, 1950,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.474 ms [1.463 ms, 1.486 ms] -
appsec 2.375 ms [2.332 ms, 2.418 ms] 900.894 µs (61.1%)
iast 2.109 ms [2.055 ms, 2.163 ms] 634.511 µs (43.0%)
iast_GLOBAL 2.161 ms [2.107 ms, 2.216 ms] 687.02 µs (46.6%)
profiling 1.971 ms [1.928 ms, 2.014 ms] 497.146 µs (33.7%)
tracing 1.939 ms [1.897 ms, 1.981 ms] 464.729 µs (31.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.476 ms [1.465 ms, 1.488 ms] -
appsec 2.367 ms [2.324 ms, 2.41 ms] 890.561 µs (60.3%)
iast 2.103 ms [2.049 ms, 2.156 ms] 626.062 µs (42.4%)
iast_GLOBAL 2.154 ms [2.1 ms, 2.209 ms] 677.877 µs (45.9%)
profiling 1.988 ms [1.943 ms, 2.032 ms] 511.089 µs (34.6%)
tracing 1.95 ms [1.909 ms, 1.992 ms] 473.87 µs (32.1%)

until we have a complete data and CFG analysis make it safe.
@jpbempel jpbempel force-pushed the jpbempel/disable-hoisting-by-default branch from 03a6933 to 903f09c Compare January 7, 2025 09:47
@jpbempel jpbempel requested a review from a team as a code owner January 7, 2025 13:05
@jpbempel jpbempel requested review from shatzi and removed request for a team January 7, 2025 13:05
@pr-commenter
Copy link

pr-commenter bot commented Jan 7, 2025

Debugger benchmarks

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
ci_job_date 1736255964 1736256341
end_time 2025-01-07T13:20:40 2025-01-07T13:26:58
git_branch master jpbempel/disable-hoisting-by-default
git_commit_sha 0c2f7ff 2413b07
start_time 2025-01-07T13:19:25 2025-01-07T13:25:42
See matching parameters
Baseline Candidate
ci_job_id 756689304 756689304
ci_pipeline_id 52322453 52322453
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
git_commit_date 1736255120 1736255120

Summary

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

scenario Δ mean agg_http_req_duration_min Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p75 Δ mean agg_http_req_duration_p99 Δ mean throughput
scenario:loop worse
[+599.946µs; +615.176µs] or [+5.877%; +6.026%]
worse
[+578.897µs; +656.624µs] or [+5.576%; +6.325%]
worse
[+560.448µs; +678.893µs] or [+5.356%; +6.487%]
worse
[+252.934µs; +1342.667µs] or [+2.314%; +12.283%]
worse
[-6.586op/s; -4.518op/s] or [-6.915%; -4.744%]
See unchanged results
scenario Δ mean agg_http_req_duration_min Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p75 Δ mean agg_http_req_duration_p99 Δ mean throughput
scenario:noprobe unstable
[-26.444µs; +51.478µs] or [-9.828%; +19.132%]
unstable
[-39.925µs; +63.936µs] or [-12.941%; +20.725%]
unstable
[-51.116µs; +75.100µs] or [-15.796%; +23.208%]
unstable
[-232.116µs; +638.167µs] or [-39.153%; +107.644%]
unstable
[-169.547op/s; +101.194op/s] or [-6.443%; +3.845%]
scenario:basic same same same unstable
[-33.990µs; +85.093µs] or [-6.469%; +16.195%]
unstable
[-191.869op/s; +191.869op/s] or [-7.675%; +7.675%]
Request duration reports for reports
gantt
    title reports - request duration [CI 0.99] : candidate=None, baseline=None
    dateFormat X
    axisFormat %s
section baseline
noprobe (308.503 µs) : 273, 344
.   : milestone, 309,
basic (308.404 µs) : 299, 318
.   : milestone, 308,
loop (10.382 ms) : 10347, 10416
.   : milestone, 10382,
section candidate
noprobe (320.509 µs) : 260, 381
.   : milestone, 321,
basic (312.597 µs) : 299, 326
.   : milestone, 313,
loop (10.999 ms) : 10962, 11037
.   : milestone, 10999,
Loading
  • baseline results
Scenario Request median duration [CI 0.99]
noprobe 308.503 µs [272.667 µs, 344.34 µs]
basic 308.404 µs [298.59 µs, 318.217 µs]
loop 10.382 ms [10.347 ms, 10.416 ms]
  • candidate results
Scenario Request median duration [CI 0.99]
noprobe 320.509 µs [260.367 µs, 380.652 µs]
basic 312.597 µs [299.463 µs, 325.731 µs]
loop 10.999 ms [10.962 ms, 11.037 ms]

@jpbempel jpbempel added comp: debugger Dynamic Instrumentation and removed comp: debugger Dynamic Instrumentation labels Jan 7, 2025
Copy link
Contributor

github-actions bot commented Jan 7, 2025

Hi! 👋 Thanks for your pull request! 🎉

To help us review it, please make sure to:

  • Add at least one type, and one component or instrumentation label to the pull request

If you need help, please check our contributing guidelines.

Copy link
Contributor

@evanchooly evanchooly left a comment

Choose a reason for hiding this comment

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

I'd be curious to know what data we're waiting on and what CFG means but the changes themselves look good.

@jpbempel
Copy link
Member Author

jpbempel commented Jan 7, 2025

I'd be curious to know what data we're waiting on and what CFG means but the changes themselves look good.

data flow analysis
CFG = Control Flow Graph

@jpbempel jpbempel merged commit cc81ae9 into master Jan 7, 2025
153 of 154 checks passed
@jpbempel jpbempel deleted the jpbempel/disable-hoisting-by-default branch January 7, 2025 15:16
@github-actions github-actions bot added this to the 1.45.0 milestone Jan 7, 2025
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jan 9, 2025
| 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 | patch |
`2.50.0` -> `2.50.1` |
|
[com.google.cloud:google-cloud-core-http](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.49.0` -> `2.49.1` |
|
[com.google.cloud:google-cloud-core](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.49.0` -> `2.49.1` |
| [com.google.api:gax](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.59.0` -> `2.59.1` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.44.1` -> `1.45.0` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.44.1` -> `1.45.0` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.47` -> `2.29.48` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.47` -> `2.29.48` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.47` -> `2.29.48` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.47` -> `2.29.48` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.47` -> `2.29.48` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.29.47` -> `2.29.48` |

---

### Release Notes

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

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

##### Breaking changes

> \[!WARNING]\
> Support for custom scope manager using OpenTelemetry tracer artifact
(`dd-trace-ot`) is dropped.
> Tracing with OpenTracing API and custom scope manager will continue to
work on 1.44.x releases.

##### Components

##### Application Security Management (IAST)

- ✨ Add propagation to URI#toURL method
([#&#8203;8146](DataDog/dd-trace-java#8146) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Increase IAST propagation to StringBuilder setLength
([#&#8203;8119](DataDog/dd-trace-java#8119) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Increase IAST propagation to StringBuffer append
([#&#8203;8082](DataDog/dd-trace-java#8082) -
[@&#8203;Mariovido](https://github.com/Mariovido))
- ✨ Handle IAST security controls custom validation and
sanitization methods
([#&#8203;7997](DataDog/dd-trace-java#7997) -
[@&#8203;jandro996](https://github.com/jandro996))

##### Application Security Management (WAF)

- ✨ Update user lifecycle tracking to V3
([#&#8203;8108](DataDog/dd-trace-java#8108) -
[@&#8203;manuel-alvarez-alvarez](https://github.com/manuel-alvarez-alvarez))
- ✨ Exploit prevention for Shell Injection / Command Injection
([#&#8203;7615](DataDog/dd-trace-java#7615) -
[@&#8203;jandro996](https://github.com/jandro996))

##### Build & Tooling

- 💡 Support instrumentation of repackaged libraries
([#&#8203;8153](DataDog/dd-trace-java#8153) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Configure native image build setting for JDK-22 based
GraalVM
([#&#8203;8092](DataDog/dd-trace-java#8092) -
[@&#8203;MattAlp](https://github.com/MattAlp))

##### Database Monitoring

- ✨ Add full APM/DBM mode for Oracle
([#&#8203;8090](DataDog/dd-trace-java#8090) -
[@&#8203;nenadnoveljic](https://github.com/nenadnoveljic))

##### Dynamic Instrumentation

- 🐛 make local var hoisting disabled by default
([#&#8203;8158](DataDog/dd-trace-java#8158) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix var hoisting issue when no previous store
([#&#8203;8122](DataDog/dd-trace-java#8122) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- ✨ Only decorate spans without code origin information
([#&#8203;8105](DataDog/dd-trace-java#8105) -
[@&#8203;evanchooly](https://github.com/evanchooly))
- 🐛 Fix suspend Kotlin methods instrumentation
([#&#8203;8080](DataDog/dd-trace-java#8080) -
[@&#8203;jpbempel](https://github.com/jpbempel))
- 🐛 Fix class file version detection
([#&#8203;8057](DataDog/dd-trace-java#8057) -
[@&#8203;jpbempel](https://github.com/jpbempel))

##### GraalVM native-image

- ✨ Configure native image build setting for JDK-22 based
GraalVM
([#&#8203;8092](DataDog/dd-trace-java#8092) -
[@&#8203;MattAlp](https://github.com/MattAlp))

##### ML Observability (LLMObs)

- ✨🧪 Add LLMObs configuration
([#&#8203;8076](DataDog/dd-trace-java#8076) -
[@&#8203;gary-huang](https://github.com/gary-huang))

##### Metrics

- Bump integrations-core submodule to 7.60.0
([#&#8203;8098](DataDog/dd-trace-java#8098) -
[@&#8203;mcculls](https://github.com/mcculls))
- Upgrade to java-dogstatsd-client v4.4.3
([#&#8203;8096](DataDog/dd-trace-java#8096) -
[@&#8203;mcculls](https://github.com/mcculls))

##### OpenTracing

- ⚠️🧹 Remove custom scope manager support
([#&#8203;8164](DataDog/dd-trace-java#8164) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))

##### Telemetry

- ✨ Retry telemetry requests if CI Visibility is enabled
([#&#8203;8147](DataDog/dd-trace-java#8147) -
[@&#8203;nikita-tkachenko-datadog](https://github.com/nikita-tkachenko-datadog))
- ✨ Add configurable Dependency service resolution period
([#&#8203;8079](DataDog/dd-trace-java#8079) -
[@&#8203;jandro996](https://github.com/jandro996))

##### Testing

- 🐛 Remove restriction to not run vertx4 latest tests on java 17
([#&#8203;8133](DataDog/dd-trace-java#8133) -
[@&#8203;vandonr](https://github.com/vandonr))

##### Tracer core

- ✨ Defer remote components to avoid OkHttp class-loading
side-effects
([#&#8203;8131](DataDog/dd-trace-java#8131) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Improve Context API null handling and Javadoc
([#&#8203;8129](DataDog/dd-trace-java#8129) -
[@&#8203;PerfectSlayer](https://github.com/PerfectSlayer))
- 🐛⚡ Avoid performing blocking I/O operation on application
thread
([#&#8203;8120](DataDog/dd-trace-java#8120) -
[@&#8203;mcculls](https://github.com/mcculls))
- 💡 Introduce a shared context component, independent of tracing
([#&#8203;8117](DataDog/dd-trace-java#8117) -
[@&#8203;mcculls](https://github.com/mcculls))
- ✨ Improves ServiceNameCollector
([#&#8203;8109](DataDog/dd-trace-java#8109) -
[@&#8203;amarziali](https://github.com/amarziali))
- Upgrade to ASM 9.7.1 (adds new constant for Java 24)
([#&#8203;8097](DataDog/dd-trace-java#8097) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🐛 Dynamically evaluate service name for message consumers
([#&#8203;8088](DataDog/dd-trace-java#8088) -
[@&#8203;amarziali](https://github.com/amarziali))

##### Serverless

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

##### Instrumentations

##### AWS SDK instrumentation

- 💡 Instrument EMR's relocated AWS SDK
([#&#8203;8157](DataDog/dd-trace-java#8157) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Eclipse Vert.x instrumentation

- 🐛 Remove restriction to not run vertx4 latest tests on java 17
([#&#8203;8133](DataDog/dd-trace-java#8133) -
[@&#8203;vandonr](https://github.com/vandonr))

##### JDBC instrumentation

- ✨ Add full APM/DBM mode for Oracle
([#&#8203;8090](DataDog/dd-trace-java#8090) -
[@&#8203;nenadnoveljic](https://github.com/nenadnoveljic))

##### Jetty instrumentation

- 🐛 Ensure jetty 12 has servlet.path starting with /
([#&#8203;8093](DataDog/dd-trace-java#8093) -
[@&#8203;github-actions](https://github.com/github-actions)\[bot])

##### JMS instrumentation

- 🧹 Re-use `javax` JMS module for `jakarta` namespace
([#&#8203;8155](DataDog/dd-trace-java#8155) -
[@&#8203;mcculls](https://github.com/mcculls))
- 🧹 Group `javax.jms` instrumentations under a single module
([#&#8203;8154](DataDog/dd-trace-java#8154) -
[@&#8203;mcculls](https://github.com/mcculls))

##### Reactor instrumentation

- 🐛 Reactor: early propagate span in context when subscribing
([#&#8203;8166](DataDog/dd-trace-java#8166) -
[@&#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: ba2355aa4e2e39ab1fee27319cc4176238efd90b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: debugger Dynamic Instrumentation type: bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants