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

Fix suspend Kotlin methods instrumentation #8080

Merged
merged 2 commits into from
Dec 13, 2024

Conversation

jpbempel
Copy link
Member

@jpbempel jpbempel commented Dec 12, 2024

What Does This Do

suspend methods in Kotlin generates a special bytecode for the method with a state machine and could return different objects. for each return branch we need to have a specific return handler to avoid having mismatch stack maps.
Add new config parameter DD_DYNAMIC_INSTRUMENTATION_HOIST_LOCALVARS_ENABLED to be able to disable local var hoisting that can be problematic in some situations.
Detects language and only enable hoisting for Java.

Motivation

support suspend Kotlin methods

Additional Notes

Contributor Checklist

Jira ticket: DEBUG-3229

suspend methods in Kotlin generates a special bytecode for the method
with a state machine and could return different objects.
for each return branch we need to have a specific return handler
to avoid having mismatch stack maps
@jpbempel jpbempel added type: bug comp: debugger Dynamic Instrumentation labels Dec 12, 2024
@jpbempel jpbempel requested a review from a team as a code owner December 12, 2024 14:17
@jpbempel jpbempel requested review from ojung and removed request for a team December 12, 2024 14:17
@jpbempel jpbempel changed the title Fix suspend Kotlin method instrumentation Fix suspend Kotlin methods instrumentation Dec 12, 2024
@pr-commenter
Copy link

pr-commenter bot commented Dec 12, 2024

Debugger benchmarks

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
ci_job_date 1734033626 1734034002
end_time 2024-12-12T20:01:42 2024-12-12T20:07:58
git_branch master jpbempel/fix-kotlin-suspend-method-probe
git_commit_sha fd1f40f f86bd77
start_time 2024-12-12T20:00:27 2024-12-12T20:06:43
See matching parameters
Baseline Candidate
ci_job_id 737433459 737433459
ci_pipeline_id 51006787 51006787
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
git_commit_date 1734032983 1734032983

Summary

Found 0 performance improvements and 5 performance regressions! Performance is the same for 2 metrics, 8 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
[+620.472µs; +641.217µs] or [+6.081%; +6.285%]
worse
[+590.108µs; +665.461µs] or [+5.686%; +6.412%]
worse
[+573.475µs; +702.016µs] or [+5.485%; +6.714%]
worse
[+586.015µs; +963.751µs] or [+5.458%; +8.976%]
worse
[-6.761op/s; -4.343op/s] or [-7.099%; -4.560%]
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
[-33.027µs; +89.145µs] or [-12.470%; +33.660%]
unstable
[-42.044µs; +106.808µs] or [-13.936%; +35.402%]
unstable
[-51.604µs; +128.780µs] or [-16.381%; +40.879%]
unstable
[-403.660µs; +1088.724µs] or [-65.835%; +177.566%]
same
scenario:basic same unstable
[-14.993µs; +29.211µs] or [-4.874%; +9.496%]
unstable
[-17.963µs; +37.214µs] or [-5.642%; +11.687%]
unstable
[-282.547µs; +781.445µs] or [-51.067%; +141.236%]
unstable
[-234.109op/s; +105.903op/s] or [-9.130%; +4.130%]
Request duration reports for reports
gantt
    title reports - request duration [CI 0.99] : candidate=None, baseline=None
    dateFormat X
    axisFormat %s
section baseline
noprobe (301.699 µs) : 277, 326
.   : milestone, 302,
basic (307.617 µs) : 298, 317
.   : milestone, 308,
loop (10.379 ms) : 10338, 10420
.   : milestone, 10379,
section candidate
noprobe (334.081 µs) : 237, 431
.   : milestone, 334,
basic (314.726 µs) : 286, 344
.   : milestone, 315,
loop (11.007 ms) : 10979, 11034
.   : milestone, 11007,
Loading
  • baseline results
Scenario Request median duration [CI 0.99]
noprobe 301.699 µs [277.431 µs, 325.968 µs]
basic 307.617 µs [298.356 µs, 316.879 µs]
loop 10.379 ms [10.338 ms, 10.42 ms]
  • candidate results
Scenario Request median duration [CI 0.99]
noprobe 334.081 µs [236.697 µs, 431.465 µs]
basic 314.726 µs [285.624 µs, 343.828 µs]
loop 11.007 ms [10.979 ms, 11.034 ms]

@pr-commenter
Copy link

pr-commenter bot commented Dec 12, 2024

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/fix-kotlin-suspend-method-probe
git_commit_date 1734021947 1734032983
git_commit_sha fd1f40f f86bd77
release_version 1.45.0-SNAPSHOT~fd1f40f934 1.44.0-SNAPSHOT~f86bd77ed8
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1734035374 1734035374
ci_job_id 737433453 737433453
ci_pipeline_id 51006787 51006787
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 53 metrics, 10 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.44.0-SNAPSHOT~f86bd77ed8, baseline=1.45.0-SNAPSHOT~fd1f40f934

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.093 s) : 0, 1093205
Total [baseline] (8.681 s) : 0, 8680528
Agent [candidate] (1.095 s) : 0, 1094532
Total [candidate] (8.676 s) : 0, 8675721
section iast
Agent [baseline] (1.225 s) : 0, 1224655
Total [baseline] (9.236 s) : 0, 9235867
Agent [candidate] (1.223 s) : 0, 1223092
Total [candidate] (9.217 s) : 0, 9217419
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.224 s) : 0, 1223707
Total [baseline] (9.174 s) : 0, 9173968
Agent [candidate] (1.221 s) : 0, 1220979
Total [candidate] (9.168 s) : 0, 9167545
section iast_TELEMETRY_OFF
Agent [baseline] (1.219 s) : 0, 1219347
Total [baseline] (9.171 s) : 0, 9171090
Agent [candidate] (1.227 s) : 0, 1226714
Total [candidate] (9.2 s) : 0, 9199840
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.093 s -
Agent iast 1.225 s 131.449 ms (12.0%)
Agent iast_HARDCODED_SECRET_DISABLED 1.224 s 130.501 ms (11.9%)
Agent iast_TELEMETRY_OFF 1.219 s 126.142 ms (11.5%)
Total tracing 8.681 s -
Total iast 9.236 s 555.339 ms (6.4%)
Total iast_HARDCODED_SECRET_DISABLED 9.174 s 493.44 ms (5.7%)
Total iast_TELEMETRY_OFF 9.171 s 490.562 ms (5.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.095 s -
Agent iast 1.223 s 128.56 ms (11.7%)
Agent iast_HARDCODED_SECRET_DISABLED 1.221 s 126.446 ms (11.6%)
Agent iast_TELEMETRY_OFF 1.227 s 132.182 ms (12.1%)
Total tracing 8.676 s -
Total iast 9.217 s 541.697 ms (6.2%)
Total iast_HARDCODED_SECRET_DISABLED 9.168 s 491.824 ms (5.7%)
Total iast_TELEMETRY_OFF 9.2 s 524.118 ms (6.0%)
gantt
    title insecure-bank - break down per module: candidate=1.44.0-SNAPSHOT~f86bd77ed8, baseline=1.45.0-SNAPSHOT~fd1f40f934

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (696.769 ms) : 0, 696769
BytebuddyAgent [candidate] (696.616 ms) : 0, 696616
GlobalTracer [baseline] (317.529 ms) : 0, 317529
GlobalTracer [candidate] (318.731 ms) : 0, 318731
AppSec [baseline] (54.559 ms) : 0, 54559
AppSec [candidate] (54.255 ms) : 0, 54255
Remote Config [baseline] (681.014 µs) : 0, 681
Remote Config [candidate] (685.029 µs) : 0, 685
Telemetry [baseline] (9.883 ms) : 0, 9883
Telemetry [candidate] (10.469 ms) : 0, 10469
section iast
BytebuddyAgent [baseline] (816.427 ms) : 0, 816427
BytebuddyAgent [candidate] (815.192 ms) : 0, 815192
GlobalTracer [baseline] (306.933 ms) : 0, 306933
GlobalTracer [candidate] (306.41 ms) : 0, 306410
AppSec [baseline] (57.374 ms) : 0, 57374
AppSec [candidate] (57.384 ms) : 0, 57384
Remote Config [baseline] (624.988 µs) : 0, 625
Remote Config [candidate] (640.06 µs) : 0, 640
Telemetry [baseline] (7.515 ms) : 0, 7515
Telemetry [candidate] (7.661 ms) : 0, 7661
IAST [baseline] (22.007 ms) : 0, 22007
IAST [candidate] (21.949 ms) : 0, 21949
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (815.417 ms) : 0, 815417
BytebuddyAgent [candidate] (813.792 ms) : 0, 813792
GlobalTracer [baseline] (306.732 ms) : 0, 306732
GlobalTracer [candidate] (306.224 ms) : 0, 306224
AppSec [baseline] (57.447 ms) : 0, 57447
AppSec [candidate] (57.969 ms) : 0, 57969
Remote Config [baseline] (634.733 µs) : 0, 635
Remote Config [candidate] (650.85 µs) : 0, 651
Telemetry [baseline] (7.515 ms) : 0, 7515
Telemetry [candidate] (7.561 ms) : 0, 7561
IAST [baseline] (22.203 ms) : 0, 22203
IAST [candidate] (20.983 ms) : 0, 20983
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (812.823 ms) : 0, 812823
BytebuddyAgent [candidate] (817.205 ms) : 0, 817205
GlobalTracer [baseline] (306.21 ms) : 0, 306210
GlobalTracer [candidate] (308.178 ms) : 0, 308178
AppSec [baseline] (58.121 ms) : 0, 58121
AppSec [candidate] (57.436 ms) : 0, 57436
Remote Config [baseline] (626.94 µs) : 0, 627
Remote Config [candidate] (644.802 µs) : 0, 645
Telemetry [baseline] (7.337 ms) : 0, 7337
Telemetry [candidate] (7.555 ms) : 0, 7555
IAST [baseline] (20.454 ms) : 0, 20454
IAST [candidate] (21.645 ms) : 0, 21645
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.44.0-SNAPSHOT~f86bd77ed8, baseline=1.45.0-SNAPSHOT~fd1f40f934

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.094 s) : 0, 1094178
Total [baseline] (10.444 s) : 0, 10443696
Agent [candidate] (1.101 s) : 0, 1100566
Total [candidate] (10.529 s) : 0, 10529277
section appsec
Agent [baseline] (1.234 s) : 0, 1233579
Total [baseline] (10.878 s) : 0, 10878164
Agent [candidate] (1.232 s) : 0, 1231995
Total [candidate] (10.713 s) : 0, 10712570
section iast
Agent [baseline] (1.231 s) : 0, 1230867
Total [baseline] (10.993 s) : 0, 10993468
Agent [candidate] (1.231 s) : 0, 1230523
Total [candidate] (11.018 s) : 0, 11017972
section profiling
Agent [baseline] (1.32 s) : 0, 1319587
Total [baseline] (10.821 s) : 0, 10821110
Agent [candidate] (1.319 s) : 0, 1319266
Total [candidate] (10.799 s) : 0, 10799212
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.094 s -
Agent appsec 1.234 s 139.401 ms (12.7%)
Agent iast 1.231 s 136.69 ms (12.5%)
Agent profiling 1.32 s 225.409 ms (20.6%)
Total tracing 10.444 s -
Total appsec 10.878 s 434.469 ms (4.2%)
Total iast 10.993 s 549.772 ms (5.3%)
Total profiling 10.821 s 377.415 ms (3.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.101 s -
Agent appsec 1.232 s 131.428 ms (11.9%)
Agent iast 1.231 s 129.957 ms (11.8%)
Agent profiling 1.319 s 218.699 ms (19.9%)
Total tracing 10.529 s -
Total appsec 10.713 s 183.293 ms (1.7%)
Total iast 11.018 s 488.695 ms (4.6%)
Total profiling 10.799 s 269.934 ms (2.6%)
gantt
    title petclinic - break down per module: candidate=1.44.0-SNAPSHOT~f86bd77ed8, baseline=1.45.0-SNAPSHOT~fd1f40f934

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (695.85 ms) : 0, 695850
BytebuddyAgent [candidate] (701.102 ms) : 0, 701102
GlobalTracer [baseline] (317.75 ms) : 0, 317750
GlobalTracer [candidate] (319.822 ms) : 0, 319822
AppSec [baseline] (54.873 ms) : 0, 54873
AppSec [candidate] (55.091 ms) : 0, 55091
Remote Config [baseline] (674.097 µs) : 0, 674
Remote Config [candidate] (683.783 µs) : 0, 684
Telemetry [baseline] (11.276 ms) : 0, 11276
Telemetry [candidate] (10.002 ms) : 0, 10002
section appsec
BytebuddyAgent [baseline] (716.649 ms) : 0, 716649
BytebuddyAgent [candidate] (716.213 ms) : 0, 716213
GlobalTracer [baseline] (316.815 ms) : 0, 316815
GlobalTracer [candidate] (316.188 ms) : 0, 316188
AppSec [baseline] (167.358 ms) : 0, 167358
AppSec [candidate] (165.842 ms) : 0, 165842
Remote Config [baseline] (653.372 µs) : 0, 653
Remote Config [candidate] (643.486 µs) : 0, 643
Telemetry [baseline] (8.218 ms) : 0, 8218
Telemetry [candidate] (7.79 ms) : 0, 7790
IAST [baseline] (20.16 ms) : 0, 20160
IAST [candidate] (22.963 ms) : 0, 22963
section iast
BytebuddyAgent [baseline] (820.406 ms) : 0, 820406
BytebuddyAgent [candidate] (820.74 ms) : 0, 820740
GlobalTracer [baseline] (308.516 ms) : 0, 308516
GlobalTracer [candidate] (307.903 ms) : 0, 307903
AppSec [baseline] (57.957 ms) : 0, 57957
AppSec [candidate] (57.135 ms) : 0, 57135
Remote Config [baseline] (625.554 µs) : 0, 626
Remote Config [candidate] (640.906 µs) : 0, 641
Telemetry [baseline] (7.542 ms) : 0, 7542
Telemetry [candidate] (7.578 ms) : 0, 7578
IAST [baseline] (22.058 ms) : 0, 22058
IAST [candidate] (22.696 ms) : 0, 22696
section profiling
ProfilingAgent [baseline] (93.612 ms) : 0, 93612
ProfilingAgent [candidate] (94.12 ms) : 0, 94120
BytebuddyAgent [baseline] (690.794 ms) : 0, 690794
BytebuddyAgent [candidate] (690.137 ms) : 0, 690137
GlobalTracer [baseline] (434.012 ms) : 0, 434012
GlobalTracer [candidate] (433.834 ms) : 0, 433834
AppSec [baseline] (53.529 ms) : 0, 53529
AppSec [candidate] (53.633 ms) : 0, 53633
Remote Config [baseline] (676.866 µs) : 0, 677
Remote Config [candidate] (662.234 µs) : 0, 662
Telemetry [baseline] (7.69 ms) : 0, 7690
Telemetry [candidate] (7.713 ms) : 0, 7713
Profiling [baseline] (93.635 ms) : 0, 93635
Profiling [candidate] (94.144 ms) : 0, 94144
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2024-12-12T20:01:35 2024-12-12T20:08:35
git_branch master jpbempel/fix-kotlin-suspend-method-probe
git_commit_date 1734021947 1734032983
git_commit_sha fd1f40f f86bd77
release_version 1.45.0-SNAPSHOT~fd1f40f934 1.44.0-SNAPSHOT~f86bd77ed8
start_time 2024-12-12T20:01:21 2024-12-12T20:08:21
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1734034468 1734034468
ci_job_id 737433454 737433454
ci_pipeline_id 51006787 51006787
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
variant iast iast

Summary

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

Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.44.0-SNAPSHOT~f86bd77ed8, baseline=1.45.0-SNAPSHOT~fd1f40f934
    dateFormat X
    axisFormat %s
section baseline
no_agent (377.145 µs) : 356, 398
.   : milestone, 377,
iast (488.898 µs) : 467, 510
.   : milestone, 489,
iast_FULL (653.165 µs) : 632, 675
.   : milestone, 653,
iast_GLOBAL (528.539 µs) : 506, 551
.   : milestone, 529,
iast_HARDCODED_SECRET_DISABLED (494.886 µs) : 473, 517
.   : milestone, 495,
iast_INACTIVE (456.931 µs) : 435, 479
.   : milestone, 457,
iast_TELEMETRY_OFF (484.426 µs) : 462, 507
.   : milestone, 484,
tracing (452.404 µs) : 431, 473
.   : milestone, 452,
section candidate
no_agent (374.921 µs) : 355, 395
.   : milestone, 375,
iast (489.042 µs) : 468, 510
.   : milestone, 489,
iast_FULL (650.846 µs) : 629, 672
.   : milestone, 651,
iast_GLOBAL (513.565 µs) : 492, 535
.   : milestone, 514,
iast_HARDCODED_SECRET_DISABLED (491.603 µs) : 470, 513
.   : milestone, 492,
iast_INACTIVE (457.487 µs) : 435, 480
.   : milestone, 457,
iast_TELEMETRY_OFF (482.458 µs) : 461, 504
.   : milestone, 482,
tracing (448.076 µs) : 427, 469
.   : milestone, 448,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 377.145 µs [356.153 µs, 398.136 µs] -
iast 488.898 µs [467.482 µs, 510.313 µs] 111.753 µs (29.6%)
iast_FULL 653.165 µs [631.598 µs, 674.732 µs] 276.02 µs (73.2%)
iast_GLOBAL 528.539 µs [506.059 µs, 551.019 µs] 151.394 µs (40.1%)
iast_HARDCODED_SECRET_DISABLED 494.886 µs [473.229 µs, 516.542 µs] 117.741 µs (31.2%)
iast_INACTIVE 456.931 µs [435.361 µs, 478.501 µs] 79.786 µs (21.2%)
iast_TELEMETRY_OFF 484.426 µs [462.267 µs, 506.584 µs] 107.281 µs (28.4%)
tracing 452.404 µs [431.319 µs, 473.489 µs] 75.259 µs (20.0%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 374.921 µs [354.68 µs, 395.162 µs] -
iast 489.042 µs [467.684 µs, 510.4 µs] 114.121 µs (30.4%)
iast_FULL 650.846 µs [629.352 µs, 672.339 µs] 275.925 µs (73.6%)
iast_GLOBAL 513.565 µs [492.353 µs, 534.777 µs] 138.644 µs (37.0%)
iast_HARDCODED_SECRET_DISABLED 491.603 µs [470.355 µs, 512.85 µs] 116.682 µs (31.1%)
iast_INACTIVE 457.487 µs [435.442 µs, 479.532 µs] 82.567 µs (22.0%)
iast_TELEMETRY_OFF 482.458 µs [460.709 µs, 504.207 µs] 107.537 µs (28.7%)
tracing 448.076 µs [427.168 µs, 468.983 µs] 73.155 µs (19.5%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.44.0-SNAPSHOT~f86bd77ed8, baseline=1.45.0-SNAPSHOT~fd1f40f934
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.357 ms) : 1339, 1376
.   : milestone, 1357,
appsec (1.749 ms) : 1725, 1772
.   : milestone, 1749,
appsec_no_iast (1.741 ms) : 1715, 1766
.   : milestone, 1741,
iast (1.499 ms) : 1476, 1522
.   : milestone, 1499,
profiling (1.548 ms) : 1523, 1573
.   : milestone, 1548,
tracing (1.482 ms) : 1457, 1507
.   : milestone, 1482,
section candidate
no_agent (1.342 ms) : 1321, 1362
.   : milestone, 1342,
appsec (1.75 ms) : 1727, 1774
.   : milestone, 1750,
appsec_no_iast (1.742 ms) : 1717, 1768
.   : milestone, 1742,
iast (1.486 ms) : 1463, 1509
.   : milestone, 1486,
profiling (1.523 ms) : 1498, 1548
.   : milestone, 1523,
tracing (1.49 ms) : 1465, 1515
.   : milestone, 1490,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.357 ms [1.339 ms, 1.376 ms] -
appsec 1.749 ms [1.725 ms, 1.772 ms] 391.227 µs (28.8%)
appsec_no_iast 1.741 ms [1.715 ms, 1.766 ms] 383.645 µs (28.3%)
iast 1.499 ms [1.476 ms, 1.522 ms] 141.49 µs (10.4%)
profiling 1.548 ms [1.523 ms, 1.573 ms] 191.04 µs (14.1%)
tracing 1.482 ms [1.457 ms, 1.507 ms] 124.499 µs (9.2%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.342 ms [1.321 ms, 1.362 ms] -
appsec 1.75 ms [1.727 ms, 1.774 ms] 408.662 µs (30.5%)
appsec_no_iast 1.742 ms [1.717 ms, 1.768 ms] 400.591 µs (29.9%)
iast 1.486 ms [1.463 ms, 1.509 ms] 144.433 µs (10.8%)
profiling 1.523 ms [1.498 ms, 1.548 ms] 181.118 µs (13.5%)
tracing 1.49 ms [1.465 ms, 1.515 ms] 148.357 µs (11.1%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/fix-kotlin-suspend-method-probe
git_commit_date 1734021947 1734032983
git_commit_sha fd1f40f f86bd77
release_version 1.45.0-SNAPSHOT~fd1f40f934 1.44.0-SNAPSHOT~f86bd77ed8
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1734035027 1734035027
ci_job_id 737433455 737433455
ci_pipeline_id 51006787 51006787
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.44.0-SNAPSHOT~f86bd77ed8, baseline=1.45.0-SNAPSHOT~fd1f40f934
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.47 ms) : 1458, 1481
.   : milestone, 1470,
appsec (2.362 ms) : 2320, 2404
.   : milestone, 2362,
iast (2.099 ms) : 2046, 2152
.   : milestone, 2099,
iast_GLOBAL (2.135 ms) : 2082, 2188
.   : milestone, 2135,
profiling (1.951 ms) : 1909, 1993
.   : milestone, 1951,
tracing (1.931 ms) : 1890, 1971
.   : milestone, 1931,
section candidate
no_agent (1.467 ms) : 1456, 1478
.   : milestone, 1467,
appsec (2.347 ms) : 2306, 2389
.   : milestone, 2347,
iast (2.095 ms) : 2043, 2148
.   : milestone, 2095,
iast_GLOBAL (2.141 ms) : 2088, 2194
.   : milestone, 2141,
profiling (1.956 ms) : 1914, 1998
.   : milestone, 1956,
tracing (1.93 ms) : 1889, 1970
.   : milestone, 1930,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.47 ms [1.458 ms, 1.481 ms] -
appsec 2.362 ms [2.32 ms, 2.404 ms] 892.61 µs (60.7%)
iast 2.099 ms [2.046 ms, 2.152 ms] 628.841 µs (42.8%)
iast_GLOBAL 2.135 ms [2.082 ms, 2.188 ms] 665.139 µs (45.3%)
profiling 1.951 ms [1.909 ms, 1.993 ms] 481.29 µs (32.7%)
tracing 1.931 ms [1.89 ms, 1.971 ms] 460.992 µs (31.4%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.467 ms [1.456 ms, 1.478 ms] -
appsec 2.347 ms [2.306 ms, 2.389 ms] 880.306 µs (60.0%)
iast 2.095 ms [2.043 ms, 2.148 ms] 628.408 µs (42.8%)
iast_GLOBAL 2.141 ms [2.088 ms, 2.194 ms] 673.72 µs (45.9%)
profiling 1.956 ms [1.914 ms, 1.998 ms] 488.897 µs (33.3%)
tracing 1.93 ms [1.889 ms, 1.97 ms] 462.664 µs (31.5%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.44.0-SNAPSHOT~f86bd77ed8, baseline=1.45.0-SNAPSHOT~fd1f40f934
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.172 s) : 15172000, 15172000
.   : milestone, 15172000,
appsec (15.181 s) : 15181000, 15181000
.   : milestone, 15181000,
iast (19.066 s) : 19066000, 19066000
.   : milestone, 19066000,
iast_GLOBAL (18.019 s) : 18019000, 18019000
.   : milestone, 18019000,
profiling (15.321 s) : 15321000, 15321000
.   : milestone, 15321000,
tracing (14.992 s) : 14992000, 14992000
.   : milestone, 14992000,
section candidate
no_agent (14.949 s) : 14949000, 14949000
.   : milestone, 14949000,
appsec (14.759 s) : 14759000, 14759000
.   : milestone, 14759000,
iast (19.705 s) : 19705000, 19705000
.   : milestone, 19705000,
iast_GLOBAL (18.048 s) : 18048000, 18048000
.   : milestone, 18048000,
profiling (15.158 s) : 15158000, 15158000
.   : milestone, 15158000,
tracing (14.981 s) : 14981000, 14981000
.   : milestone, 14981000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.172 s [15.172 s, 15.172 s] -
appsec 15.181 s [15.181 s, 15.181 s] 9.0 ms (0.1%)
iast 19.066 s [19.066 s, 19.066 s] 3.894 s (25.7%)
iast_GLOBAL 18.019 s [18.019 s, 18.019 s] 2.847 s (18.8%)
profiling 15.321 s [15.321 s, 15.321 s] 149.0 ms (1.0%)
tracing 14.992 s [14.992 s, 14.992 s] -180.0 ms (-1.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.949 s [14.949 s, 14.949 s] -
appsec 14.759 s [14.759 s, 14.759 s] -190.0 ms (-1.3%)
iast 19.705 s [19.705 s, 19.705 s] 4.756 s (31.8%)
iast_GLOBAL 18.048 s [18.048 s, 18.048 s] 3.099 s (20.7%)
profiling 15.158 s [15.158 s, 15.158 s] 209.0 ms (1.4%)
tracing 14.981 s [14.981 s, 14.981 s] 32.0 ms (0.2%)

enable only hoisting for java language
@jpbempel jpbempel requested a review from a team as a code owner December 12, 2024 19:49
@jpbempel jpbempel requested a review from ygree December 12, 2024 19:49
@jpbempel jpbempel merged commit baedf8d into master Dec 13, 2024
152 checks passed
@jpbempel jpbempel deleted the jpbempel/fix-kotlin-suspend-method-probe branch December 13, 2024 10:32
@github-actions github-actions bot added this to the 1.45.0 milestone Dec 13, 2024
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.

3 participants