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 ArrayIndexOutOfBoundsException in adjustLocalVarsBasedOnArgs #7013

Merged
merged 1 commit into from
May 10, 2024

Conversation

jpbempel
Copy link
Member

@jpbempel jpbempel commented May 10, 2024

What Does This Do

Add a protection against index out of bounds but also adjust local var array for long or double.

Motivation

ArrayIndexOutOfBoundsException was thrown because size of the args and local vars were not correctly took into account. with Long/Double type it actually takes 2 slots into the local var tables.

java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 8
        at com.datadog.debugger.instrumentation.ASMHelper.adjustLocalVarsBasedOnArgs(ASMHelper.java:246)
        at com.datadog.debugger.symbol.SymbolExtractor.extractArgs(SymbolExtractor.java:314)
        at com.datadog.debugger.symbol.SymbolExtractor.extractMethods(SymbolExtractor.java:107)
        at com.datadog.debugger.symbol.SymbolExtractor.extractScopes(SymbolExtractor.java:41)
        at com.datadog.debugger.symbol.SymbolExtractor.extract(SymbolExtractor.java:35)
        at com.datadog.debugger.symbol.SymbolAggregator.parseClass(SymbolAggregator.java:70)
        at com.datadog.debugger.symbol.SymDBEnablement.parseJarEntry(SymDBEnablement.java:198)
        at com.datadog.debugger.symbol.SymDBEnablement.lambda$extractSymbolForLoadedClasses$4(SymDBEnablement.java:179)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:194)
        at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:194)
        at java.base/java.util.zip.ZipFile$EntrySpliterator.tryAdvance(ZipFile.java:573)
        at java.base/java.util.Spliterator.forEachRemaining(Spliterator.java:332)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:556)
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:546)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
        at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
        at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:611)
        at com.datadog.debugger.symbol.SymDBEnablement.extractSymbolForLoadedClasses(SymDBEnablement.java:179)
        at com.datadog.debugger.symbol.SymDBEnablement.startSymbolExtraction(SymDBEnablement.java:127)
        at datadog.trace.util.AgentTaskScheduler$RunnableTask.run(AgentTaskScheduler.java:41)
        at datadog.trace.util.AgentTaskScheduler$RunnableTask.run(AgentTaskScheduler.java:36)
        at datadog.trace.util.AgentTaskScheduler$PeriodicTask.run(AgentTaskScheduler.java:311)
        at datadog.trace.util.AgentTaskScheduler$Worker.run(AgentTaskScheduler.java:266)
        at java.base/java.lang.Thread.run(Thread.java:1570)

Additional Notes

Jira ticket: DEBUG-2373

ArrayIndexOutOfBoundsException was thrown because size of the args
and local vars were not correctly took into account.
with Long/Double type it actually takes 2 slots into the local var
tables.
Add a protection against index out of bounds but also adjust
local var array for long or double.
@jpbempel jpbempel requested a review from a team as a code owner May 10, 2024 09:33
@jpbempel jpbempel requested review from ojung and removed request for a team May 10, 2024 09:33
@jpbempel jpbempel added the comp: debugger Dynamic Instrumentation label May 10, 2024
@jpbempel jpbempel changed the title Fix AIOOBE in adjustLocalVarsBasedOnArgs Fix ArrayIndexOutOfBoundsException in adjustLocalVarsBasedOnArgs May 10, 2024
Copy link
Contributor

@cimi cimi left a comment

Choose a reason for hiding this comment

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

👍 Looks good, thanks!

I only skimmed the adjustLocalVarsBasedOnArgs test, I saw we are asserting on many test cases but I didn't read them in detail.

@pr-commenter
Copy link

pr-commenter bot commented May 10, 2024

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/fix-extract-args
git_commit_date 1715279552 1715333515
git_commit_sha 6df14c1 283052b
release_version 1.35.0-SNAPSHOT~6df14c1b0f 1.35.0-SNAPSHOT~283052bf29
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1715336240 1715336240
ci_job_id 508667251 508667251
ci_pipeline_id 34019391 34019391
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 49 metrics, 14 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.35.0-SNAPSHOT~283052bf29, baseline=1.35.0-SNAPSHOT~6df14c1b0f

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.076 s) : 0, 1075776
Total [baseline] (8.557 s) : 0, 8557456
Agent [candidate] (1.083 s) : 0, 1083056
Total [candidate] (8.551 s) : 0, 8550536
section iast
Agent [baseline] (1.21 s) : 0, 1209838
Total [baseline] (9.006 s) : 0, 9005965
Agent [candidate] (1.2 s) : 0, 1199661
Total [candidate] (9.019 s) : 0, 9019080
section iast_HARDCODED_SECRET_DISABLED
Agent [baseline] (1.202 s) : 0, 1202185
Total [baseline] (8.971 s) : 0, 8971470
Agent [candidate] (1.205 s) : 0, 1205242
Total [candidate] (8.963 s) : 0, 8963302
section iast_TELEMETRY_OFF
Agent [baseline] (1.199 s) : 0, 1198843
Total [baseline] (9.017 s) : 0, 9017389
Agent [candidate] (1.197 s) : 0, 1197346
Total [candidate] (9.005 s) : 0, 9005469
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.076 s -
Agent iast 1.21 s 134.061 ms (12.5%)
Agent iast_HARDCODED_SECRET_DISABLED 1.202 s 126.408 ms (11.8%)
Agent iast_TELEMETRY_OFF 1.199 s 123.067 ms (11.4%)
Total tracing 8.557 s -
Total iast 9.006 s 448.509 ms (5.2%)
Total iast_HARDCODED_SECRET_DISABLED 8.971 s 414.013 ms (4.8%)
Total iast_TELEMETRY_OFF 9.017 s 459.933 ms (5.4%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.083 s -
Agent iast 1.2 s 116.605 ms (10.8%)
Agent iast_HARDCODED_SECRET_DISABLED 1.205 s 122.186 ms (11.3%)
Agent iast_TELEMETRY_OFF 1.197 s 114.29 ms (10.6%)
Total tracing 8.551 s -
Total iast 9.019 s 468.544 ms (5.5%)
Total iast_HARDCODED_SECRET_DISABLED 8.963 s 412.766 ms (4.8%)
Total iast_TELEMETRY_OFF 9.005 s 454.933 ms (5.3%)
gantt
    title insecure-bank - break down per module: candidate=1.35.0-SNAPSHOT~283052bf29, baseline=1.35.0-SNAPSHOT~6df14c1b0f

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (673.253 ms) : 0, 673253
BytebuddyAgent [candidate] (678.169 ms) : 0, 678169
GlobalTracer [baseline] (310.445 ms) : 0, 310445
GlobalTracer [candidate] (312.577 ms) : 0, 312577
AppSec [baseline] (49.488 ms) : 0, 49488
AppSec [candidate] (49.546 ms) : 0, 49546
Remote Config [baseline] (662.293 µs) : 0, 662
Remote Config [candidate] (657.266 µs) : 0, 657
Telemetry [baseline] (7.589 ms) : 0, 7589
Telemetry [candidate] (7.571 ms) : 0, 7571
section iast
BytebuddyAgent [baseline] (800.78 ms) : 0, 800780
BytebuddyAgent [candidate] (792.68 ms) : 0, 792680
GlobalTracer [baseline] (292.562 ms) : 0, 292562
GlobalTracer [candidate] (290.742 ms) : 0, 290742
AppSec [baseline] (50.489 ms) : 0, 50489
AppSec [candidate] (51.158 ms) : 0, 51158
Remote Config [baseline] (668.764 µs) : 0, 669
Remote Config [candidate] (1.368 ms) : 0, 1368
Telemetry [baseline] (7.336 ms) : 0, 7336
Telemetry [candidate] (6.69 ms) : 0, 6690
IAST [baseline] (23.5 ms) : 0, 23500
IAST [candidate] (22.653 ms) : 0, 22653
section iast_HARDCODED_SECRET_DISABLED
BytebuddyAgent [baseline] (794.64 ms) : 0, 794640
BytebuddyAgent [candidate] (795.655 ms) : 0, 795655
GlobalTracer [baseline] (291.028 ms) : 0, 291028
GlobalTracer [candidate] (291.85 ms) : 0, 291850
AppSec [baseline] (49.898 ms) : 0, 49898
AppSec [candidate] (49.067 ms) : 0, 49067
Remote Config [baseline] (1.406 ms) : 0, 1406
Remote Config [candidate] (1.46 ms) : 0, 1460
Telemetry [baseline] (6.654 ms) : 0, 6654
Telemetry [candidate] (6.635 ms) : 0, 6635
IAST [baseline] (24.151 ms) : 0, 24151
IAST [candidate] (26.219 ms) : 0, 26219
section iast_TELEMETRY_OFF
BytebuddyAgent [baseline] (791.859 ms) : 0, 791859
BytebuddyAgent [candidate] (790.583 ms) : 0, 790583
GlobalTracer [baseline] (290.309 ms) : 0, 290309
GlobalTracer [candidate] (290.894 ms) : 0, 290894
AppSec [baseline] (49.417 ms) : 0, 49417
AppSec [candidate] (49.542 ms) : 0, 49542
Remote Config [baseline] (613.065 µs) : 0, 613
Remote Config [candidate] (592.972 µs) : 0, 593
Telemetry [baseline] (7.36 ms) : 0, 7360
Telemetry [candidate] (6.585 ms) : 0, 6585
IAST [baseline] (24.882 ms) : 0, 24882
IAST [candidate] (24.819 ms) : 0, 24819
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.35.0-SNAPSHOT~283052bf29, baseline=1.35.0-SNAPSHOT~6df14c1b0f

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.083 s) : 0, 1083038
Total [baseline] (10.437 s) : 0, 10437395
Agent [candidate] (1.084 s) : 0, 1083922
Total [candidate] (10.459 s) : 0, 10458959
section appsec
Agent [baseline] (1.191 s) : 0, 1190683
Total [baseline] (10.444 s) : 0, 10444316
Agent [candidate] (1.189 s) : 0, 1189226
Total [candidate] (10.462 s) : 0, 10461522
section iast
Agent [baseline] (1.203 s) : 0, 1203399
Total [baseline] (10.711 s) : 0, 10711307
Agent [candidate] (1.202 s) : 0, 1202181
Total [candidate] (10.768 s) : 0, 10767939
section profiling
Agent [baseline] (1.274 s) : 0, 1273696
Total [baseline] (10.628 s) : 0, 10628344
Agent [candidate] (1.281 s) : 0, 1281021
Total [candidate] (10.602 s) : 0, 10601684
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.083 s -
Agent appsec 1.191 s 107.645 ms (9.9%)
Agent iast 1.203 s 120.361 ms (11.1%)
Agent profiling 1.274 s 190.658 ms (17.6%)
Total tracing 10.437 s -
Total appsec 10.444 s 6.922 ms (0.1%)
Total iast 10.711 s 273.913 ms (2.6%)
Total profiling 10.628 s 190.949 ms (1.8%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.084 s -
Agent appsec 1.189 s 105.304 ms (9.7%)
Agent iast 1.202 s 118.259 ms (10.9%)
Agent profiling 1.281 s 197.099 ms (18.2%)
Total tracing 10.459 s -
Total appsec 10.462 s 2.563 ms (0.0%)
Total iast 10.768 s 308.98 ms (3.0%)
Total profiling 10.602 s 142.725 ms (1.4%)
gantt
    title petclinic - break down per module: candidate=1.35.0-SNAPSHOT~283052bf29, baseline=1.35.0-SNAPSHOT~6df14c1b0f

    dateFormat X
    axisFormat %s
section tracing
BytebuddyAgent [baseline] (678.208 ms) : 0, 678208
BytebuddyAgent [candidate] (679.697 ms) : 0, 679697
GlobalTracer [baseline] (312.278 ms) : 0, 312278
GlobalTracer [candidate] (311.853 ms) : 0, 311853
AppSec [baseline] (49.618 ms) : 0, 49618
AppSec [candidate] (49.5 ms) : 0, 49500
Remote Config [baseline] (669.103 µs) : 0, 669
Remote Config [candidate] (661.877 µs) : 0, 662
Telemetry [baseline] (7.677 ms) : 0, 7677
Telemetry [candidate] (7.595 ms) : 0, 7595
section appsec
BytebuddyAgent [baseline] (695.683 ms) : 0, 695683
BytebuddyAgent [candidate] (694.66 ms) : 0, 694660
GlobalTracer [baseline] (293.291 ms) : 0, 293291
GlobalTracer [candidate] (292.785 ms) : 0, 292785
AppSec [baseline] (148.612 ms) : 0, 148612
AppSec [candidate] (148.724 ms) : 0, 148724
Remote Config [baseline] (618.335 µs) : 0, 618
Remote Config [candidate] (615.452 µs) : 0, 615
Telemetry [baseline] (8.492 ms) : 0, 8492
Telemetry [candidate] (8.465 ms) : 0, 8465
IAST [baseline] (19.298 ms) : 0, 19298
IAST [candidate] (19.282 ms) : 0, 19282
section iast
BytebuddyAgent [baseline] (795.829 ms) : 0, 795829
BytebuddyAgent [candidate] (794.665 ms) : 0, 794665
GlobalTracer [baseline] (291.167 ms) : 0, 291167
GlobalTracer [candidate] (291.261 ms) : 0, 291261
AppSec [baseline] (50.14 ms) : 0, 50140
AppSec [candidate] (49.516 ms) : 0, 49516
Remote Config [baseline] (1.316 ms) : 0, 1316
Remote Config [candidate] (664.112 µs) : 0, 664
Telemetry [baseline] (6.589 ms) : 0, 6589
Telemetry [candidate] (6.627 ms) : 0, 6627
IAST [baseline] (23.994 ms) : 0, 23994
IAST [candidate] (25.058 ms) : 0, 25058
section profiling
BytebuddyAgent [baseline] (680.417 ms) : 0, 680417
BytebuddyAgent [candidate] (683.762 ms) : 0, 683762
GlobalTracer [baseline] (381.871 ms) : 0, 381871
GlobalTracer [candidate] (384.111 ms) : 0, 384111
AppSec [baseline] (50.447 ms) : 0, 50447
AppSec [candidate] (50.886 ms) : 0, 50886
Remote Config [baseline] (712.412 µs) : 0, 712
Remote Config [candidate] (713.422 µs) : 0, 713
Telemetry [baseline] (7.549 ms) : 0, 7549
Telemetry [candidate] (7.554 ms) : 0, 7554
ProfilingAgent [baseline] (96.153 ms) : 0, 96153
ProfilingAgent [candidate] (97.044 ms) : 0, 97044
Profiling [baseline] (96.177 ms) : 0, 96177
Profiling [candidate] (97.068 ms) : 0, 97068
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
end_time 2024-05-10T09:48:23 2024-05-10T09:55:09
git_branch master jpbempel/fix-extract-args
git_commit_date 1715279552 1715333515
git_commit_sha 6df14c1 283052b
release_version 1.35.0-SNAPSHOT~6df14c1b0f 1.35.0-SNAPSHOT~283052bf29
start_time 2024-05-10T09:48:11 2024-05-10T09:54:56
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1715335251 1715335251
ci_job_id 508667252 508667252
ci_pipeline_id 34019391 34019391
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 11 metrics, 17 unstable metrics.

Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.35.0-SNAPSHOT~283052bf29, baseline=1.35.0-SNAPSHOT~6df14c1b0f
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.346 ms) : 1326, 1366
.   : milestone, 1346,
appsec (1.706 ms) : 1681, 1730
.   : milestone, 1706,
appsec_no_iast (1.735 ms) : 1711, 1758
.   : milestone, 1735,
iast (1.472 ms) : 1450, 1494
.   : milestone, 1472,
profiling (1.486 ms) : 1463, 1510
.   : milestone, 1486,
tracing (1.466 ms) : 1443, 1489
.   : milestone, 1466,
section candidate
no_agent (1.345 ms) : 1326, 1364
.   : milestone, 1345,
appsec (1.699 ms) : 1674, 1723
.   : milestone, 1699,
appsec_no_iast (1.694 ms) : 1669, 1719
.   : milestone, 1694,
iast (1.462 ms) : 1439, 1485
.   : milestone, 1462,
profiling (1.534 ms) : 1508, 1561
.   : milestone, 1534,
tracing (1.46 ms) : 1437, 1484
.   : milestone, 1460,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.346 ms [1.326 ms, 1.366 ms] -
appsec 1.706 ms [1.681 ms, 1.73 ms] 359.598 µs (26.7%)
appsec_no_iast 1.735 ms [1.711 ms, 1.758 ms] 388.24 µs (28.8%)
iast 1.472 ms [1.45 ms, 1.494 ms] 125.556 µs (9.3%)
profiling 1.486 ms [1.463 ms, 1.51 ms] 140.072 µs (10.4%)
tracing 1.466 ms [1.443 ms, 1.489 ms] 119.679 µs (8.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.345 ms [1.326 ms, 1.364 ms] -
appsec 1.699 ms [1.674 ms, 1.723 ms] 353.983 µs (26.3%)
appsec_no_iast 1.694 ms [1.669 ms, 1.719 ms] 349.301 µs (26.0%)
iast 1.462 ms [1.439 ms, 1.485 ms] 117.346 µs (8.7%)
profiling 1.534 ms [1.508 ms, 1.561 ms] 189.678 µs (14.1%)
tracing 1.46 ms [1.437 ms, 1.484 ms] 115.859 µs (8.6%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.35.0-SNAPSHOT~283052bf29, baseline=1.35.0-SNAPSHOT~6df14c1b0f
    dateFormat X
    axisFormat %s
section baseline
no_agent (365.019 µs) : 346, 385
.   : milestone, 365,
iast (463.946 µs) : 444, 484
.   : milestone, 464,
iast_FULL (532.252 µs) : 512, 553
.   : milestone, 532,
iast_GLOBAL (489.901 µs) : 469, 511
.   : milestone, 490,
iast_HARDCODED_SECRET_DISABLED (467.669 µs) : 447, 488
.   : milestone, 468,
iast_INACTIVE (438.18 µs) : 418, 459
.   : milestone, 438,
iast_TELEMETRY_OFF (466.094 µs) : 445, 487
.   : milestone, 466,
tracing (435.484 µs) : 415, 456
.   : milestone, 435,
section candidate
no_agent (364.707 µs) : 345, 385
.   : milestone, 365,
iast (466.148 µs) : 446, 487
.   : milestone, 466,
iast_FULL (528.943 µs) : 508, 550
.   : milestone, 529,
iast_GLOBAL (482.049 µs) : 462, 502
.   : milestone, 482,
iast_HARDCODED_SECRET_DISABLED (469.652 µs) : 449, 490
.   : milestone, 470,
iast_INACTIVE (445.72 µs) : 424, 468
.   : milestone, 446,
iast_TELEMETRY_OFF (463.554 µs) : 443, 485
.   : milestone, 464,
tracing (438.458 µs) : 418, 459
.   : milestone, 438,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 365.019 µs [345.535 µs, 384.502 µs] -
iast 463.946 µs [443.587 µs, 484.305 µs] 98.928 µs (27.1%)
iast_FULL 532.252 µs [511.719 µs, 552.785 µs] 167.233 µs (45.8%)
iast_GLOBAL 489.901 µs [468.935 µs, 510.867 µs] 124.882 µs (34.2%)
iast_HARDCODED_SECRET_DISABLED 467.669 µs [447.077 µs, 488.262 µs] 102.651 µs (28.1%)
iast_INACTIVE 438.18 µs [417.716 µs, 458.643 µs] 73.161 µs (20.0%)
iast_TELEMETRY_OFF 466.094 µs [444.909 µs, 487.279 µs] 101.075 µs (27.7%)
tracing 435.484 µs [415.357 µs, 455.611 µs] 70.465 µs (19.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 364.707 µs [344.718 µs, 384.697 µs] -
iast 466.148 µs [445.648 µs, 486.648 µs] 101.44 µs (27.8%)
iast_FULL 528.943 µs [508.319 µs, 549.567 µs] 164.236 µs (45.0%)
iast_GLOBAL 482.049 µs [461.611 µs, 502.488 µs] 117.342 µs (32.2%)
iast_HARDCODED_SECRET_DISABLED 469.652 µs [449.284 µs, 490.019 µs] 104.944 µs (28.8%)
iast_INACTIVE 445.72 µs [423.783 µs, 467.656 µs] 81.012 µs (22.2%)
iast_TELEMETRY_OFF 463.554 µs [442.502 µs, 484.607 µs] 98.847 µs (27.1%)
tracing 438.458 µs [417.567 µs, 459.349 µs] 73.751 µs (20.2%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master jpbempel/fix-extract-args
git_commit_date 1715279552 1715333515
git_commit_sha 6df14c1 283052b
release_version 1.35.0-SNAPSHOT~6df14c1b0f 1.35.0-SNAPSHOT~283052bf29
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1715335740 1715335740
ci_job_id 508667253 508667253
ci_pipeline_id 34019391 34019391
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 11 metrics, 1 unstable metrics.

Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.35.0-SNAPSHOT~283052bf29, baseline=1.35.0-SNAPSHOT~6df14c1b0f
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.052 s) : 15052000, 15052000
.   : milestone, 15052000,
appsec (15.058 s) : 15058000, 15058000
.   : milestone, 15058000,
iast (18.68 s) : 18680000, 18680000
.   : milestone, 18680000,
iast_GLOBAL (18.062 s) : 18062000, 18062000
.   : milestone, 18062000,
profiling (15.439 s) : 15439000, 15439000
.   : milestone, 15439000,
tracing (14.898 s) : 14898000, 14898000
.   : milestone, 14898000,
section candidate
no_agent (15.217 s) : 15217000, 15217000
.   : milestone, 15217000,
appsec (15.02 s) : 15020000, 15020000
.   : milestone, 15020000,
iast (18.943 s) : 18943000, 18943000
.   : milestone, 18943000,
iast_GLOBAL (17.912 s) : 17912000, 17912000
.   : milestone, 17912000,
profiling (15.213 s) : 15213000, 15213000
.   : milestone, 15213000,
tracing (15.033 s) : 15033000, 15033000
.   : milestone, 15033000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.052 s [15.052 s, 15.052 s] -
appsec 15.058 s [15.058 s, 15.058 s] 6.0 ms (0.0%)
iast 18.68 s [18.68 s, 18.68 s] 3.628 s (24.1%)
iast_GLOBAL 18.062 s [18.062 s, 18.062 s] 3.01 s (20.0%)
profiling 15.439 s [15.439 s, 15.439 s] 387.0 ms (2.6%)
tracing 14.898 s [14.898 s, 14.898 s] -154.0 ms (-1.0%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.217 s [15.217 s, 15.217 s] -
appsec 15.02 s [15.02 s, 15.02 s] -197.0 ms (-1.3%)
iast 18.943 s [18.943 s, 18.943 s] 3.726 s (24.5%)
iast_GLOBAL 17.912 s [17.912 s, 17.912 s] 2.695 s (17.7%)
profiling 15.213 s [15.213 s, 15.213 s] -4.0 ms (-0.0%)
tracing 15.033 s [15.033 s, 15.033 s] -184.0 ms (-1.2%)
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.35.0-SNAPSHOT~283052bf29, baseline=1.35.0-SNAPSHOT~6df14c1b0f
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.463 ms) : 1452, 1475
.   : milestone, 1463,
appsec (2.214 ms) : 2179, 2248
.   : milestone, 2214,
iast (1.888 ms) : 1853, 1923
.   : milestone, 1888,
iast_GLOBAL (1.924 ms) : 1889, 1959
.   : milestone, 1924,
profiling (2.323 ms) : 2145, 2502
.   : milestone, 2323,
tracing (1.843 ms) : 1811, 1875
.   : milestone, 1843,
section candidate
no_agent (1.467 ms) : 1456, 1479
.   : milestone, 1467,
appsec (2.212 ms) : 2178, 2246
.   : milestone, 2212,
iast (1.891 ms) : 1856, 1926
.   : milestone, 1891,
iast_GLOBAL (1.932 ms) : 1897, 1967
.   : milestone, 1932,
profiling (1.864 ms) : 1831, 1897
.   : milestone, 1864,
tracing (1.845 ms) : 1813, 1877
.   : milestone, 1845,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.463 ms [1.452 ms, 1.475 ms] -
appsec 2.214 ms [2.179 ms, 2.248 ms] 750.562 µs (51.3%)
iast 1.888 ms [1.853 ms, 1.923 ms] 424.542 µs (29.0%)
iast_GLOBAL 1.924 ms [1.889 ms, 1.959 ms] 460.489 µs (31.5%)
profiling 2.323 ms [2.145 ms, 2.502 ms] 860.119 µs (58.8%)
tracing 1.843 ms [1.811 ms, 1.875 ms] 379.739 µs (26.0%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.467 ms [1.456 ms, 1.479 ms] -
appsec 2.212 ms [2.178 ms, 2.246 ms] 744.417 µs (50.7%)
iast 1.891 ms [1.856 ms, 1.926 ms] 423.951 µs (28.9%)
iast_GLOBAL 1.932 ms [1.897 ms, 1.967 ms] 464.82 µs (31.7%)
profiling 1.864 ms [1.831 ms, 1.897 ms] 396.854 µs (27.0%)
tracing 1.845 ms [1.813 ms, 1.877 ms] 377.808 µs (25.8%)

@jpbempel jpbempel merged commit 3e1b9b4 into master May 10, 2024
82 checks passed
@jpbempel jpbempel deleted the jpbempel/fix-extract-args branch May 10, 2024 16:07
@github-actions github-actions bot added this to the 1.35.0 milestone May 10, 2024
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