Skip to content

Conversation

bric3
Copy link
Contributor

@bric3 bric3 commented Sep 16, 2025

What Does This Do

This PR fix this wrong definition of tasks by creating proper types for each task.
Also, this refactoring was an opportunity to properly declare inputs and output and make the MuzzleTask cacheable.

Follow-up to

Note

This only caches the muzzle assertion task, if the input don't change, tasks are being still registered depending on what is brought back from maven. That means that if a new dependency is discovered, a new task will be registered, and as such, it will appear in the task graph and executed.

Note the up-to-date when run a second time
image

Note that muzzle plugin actually fetches from maven the versions as asked in the directives
image
...
image
...
Also notice here the tasks for some versions that were not executed in an earlier run.
image

The printReferences was also made cacheable.
image

Motivation

Previous MuzzlePlugin was using MuzzleTask for every muzzle tasks, however it wired services that were not related to every task. Since tasks were different, the plugin ran different action via doLast and a call to some functions. This is a bad and confusing use of the Gradle API.

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

Note, this only caches the muzzle assertion, tasks are being still
registered depending on what is brought back from maven. I.e. if a new
dependency is discovered a new task will be registered and as such will
be executed.
@bric3 bric3 requested a review from a team as a code owner September 16, 2025 09:12
@bric3 bric3 requested a review from smola September 16, 2025 09:12
Copy link
Contributor

github-actions bot commented Sep 16, 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.

@bric3 bric3 changed the title bdu/bdu-muzzle-dedicated-class-tasks Refactor muzzle tasks to dedicated classes, make Muzzletask cacheable Sep 16, 2025
@bric3 bric3 added tag: no release notes Changes to exclude from release notes comp: tooling Build & Tooling type: enhancement Enhancements and improvements labels Sep 16, 2025

This comment has been minimized.

@pr-commenter
Copy link

pr-commenter bot commented Sep 16, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bdu/bdu-muzzle-dedicated-class-tasks
git_commit_date 1758016422 1758016923
git_commit_sha 2d42e7c f0d55c8
release_version 1.54.0-SNAPSHOT~2d42e7c7f3 1.54.0-SNAPSHOT~f0d55c8e95
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1758018796 1758018796
ci_job_id 1130903867 1130903867
ci_pipeline_id 76587404 76587404
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-kxaa7wmu 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-0-kxaa7wmu 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None

Summary

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

Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.54.0-SNAPSHOT~f0d55c8e95, baseline=1.54.0-SNAPSHOT~2d42e7c7f3

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.064 s) : 0, 1063760
Total [baseline] (10.739 s) : 0, 10739254
Agent [candidate] (1.064 s) : 0, 1063818
Total [candidate] (10.817 s) : 0, 10817276
section appsec
Agent [baseline] (1.243 s) : 0, 1242923
Total [baseline] (11.074 s) : 0, 11074302
Agent [candidate] (1.235 s) : 0, 1235401
Total [candidate] (11.013 s) : 0, 11013425
section iast
Agent [baseline] (1.19 s) : 0, 1190002
Total [baseline] (11.056 s) : 0, 11055978
Agent [candidate] (1.23 s) : 0, 1229834
Total [candidate] (9.532 s) : 0, 9532006
section profiling
Agent [baseline] (1.21 s) : 0, 1210051
Total [baseline] (11.083 s) : 0, 11083228
Agent [candidate] (1.221 s) : 0, 1220555
Total [candidate] (11.048 s) : 0, 11048081
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.064 s -
Agent appsec 1.243 s 179.163 ms (16.8%)
Agent iast 1.19 s 126.242 ms (11.9%)
Agent profiling 1.21 s 146.291 ms (13.8%)
Total tracing 10.739 s -
Total appsec 11.074 s 335.049 ms (3.1%)
Total iast 11.056 s 316.724 ms (2.9%)
Total profiling 11.083 s 343.975 ms (3.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.064 s -
Agent appsec 1.235 s 171.583 ms (16.1%)
Agent iast 1.23 s 166.016 ms (15.6%)
Agent profiling 1.221 s 156.737 ms (14.7%)
Total tracing 10.817 s -
Total appsec 11.013 s 196.149 ms (1.8%)
Total iast 9.532 s -1.285 s (-11.9%)
Total profiling 11.048 s 230.805 ms (2.1%)
gantt
    title petclinic - break down per module: candidate=1.54.0-SNAPSHOT~f0d55c8e95, baseline=1.54.0-SNAPSHOT~2d42e7c7f3

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.458 ms) : 0, 1458
crashtracking [candidate] (1.458 ms) : 0, 1458
BytebuddyAgent [baseline] (734.14 ms) : 0, 734140
BytebuddyAgent [candidate] (735.29 ms) : 0, 735290
GlobalTracer [baseline] (253.018 ms) : 0, 253018
GlobalTracer [candidate] (252.947 ms) : 0, 252947
AppSec [baseline] (30.767 ms) : 0, 30767
AppSec [candidate] (30.558 ms) : 0, 30558
Debugger [baseline] (6.43 ms) : 0, 6430
Debugger [candidate] (6.381 ms) : 0, 6381
Remote Config [baseline] (702.709 µs) : 0, 703
Remote Config [candidate] (684.855 µs) : 0, 685
Telemetry [baseline] (16.223 ms) : 0, 16223
Telemetry [candidate] (15.377 ms) : 0, 15377
section appsec
crashtracking [baseline] (1.47 ms) : 0, 1470
crashtracking [candidate] (1.453 ms) : 0, 1453
BytebuddyAgent [baseline] (762.502 ms) : 0, 762502
BytebuddyAgent [candidate] (756.197 ms) : 0, 756197
GlobalTracer [baseline] (247.216 ms) : 0, 247216
GlobalTracer [candidate] (245.823 ms) : 0, 245823
IAST [baseline] (24.075 ms) : 0, 24075
IAST [candidate] (23.822 ms) : 0, 23822
AppSec [baseline] (171.17 ms) : 0, 171170
AppSec [candidate] (171.066 ms) : 0, 171066
Debugger [baseline] (6.031 ms) : 0, 6031
Debugger [candidate] (6.014 ms) : 0, 6014
Remote Config [baseline] (634.544 µs) : 0, 635
Remote Config [candidate] (628.566 µs) : 0, 629
Telemetry [baseline] (8.532 ms) : 0, 8532
Telemetry [candidate] (9.208 ms) : 0, 9208
section iast
crashtracking [baseline] (1.463 ms) : 0, 1463
crashtracking [candidate] (1.485 ms) : 0, 1485
BytebuddyAgent [baseline] (852.323 ms) : 0, 852323
BytebuddyAgent [candidate] (882.386 ms) : 0, 882386
GlobalTracer [baseline] (246.048 ms) : 0, 246048
GlobalTracer [candidate] (250.903 ms) : 0, 250903
IAST [baseline] (28.153 ms) : 0, 28153
IAST [candidate] (31.859 ms) : 0, 31859
AppSec [baseline] (26.303 ms) : 0, 26303
AppSec [candidate] (26.066 ms) : 0, 26066
Debugger [baseline] (6.062 ms) : 0, 6062
Debugger [candidate] (6.378 ms) : 0, 6378
Remote Config [baseline] (589.98 µs) : 0, 590
Remote Config [candidate] (709.153 µs) : 0, 709
Telemetry [baseline] (8.107 ms) : 0, 8107
Telemetry [candidate] (8.677 ms) : 0, 8677
section profiling
crashtracking [baseline] (1.435 ms) : 0, 1435
crashtracking [candidate] (1.44 ms) : 0, 1440
BytebuddyAgent [baseline] (762.423 ms) : 0, 762423
BytebuddyAgent [candidate] (769.631 ms) : 0, 769631
GlobalTracer [baseline] (233.033 ms) : 0, 233033
GlobalTracer [candidate] (235.463 ms) : 0, 235463
AppSec [baseline] (31.295 ms) : 0, 31295
AppSec [candidate] (30.883 ms) : 0, 30883
Debugger [baseline] (10.644 ms) : 0, 10644
Debugger [candidate] (7.557 ms) : 0, 7557
Remote Config [baseline] (1.565 ms) : 0, 1565
Remote Config [candidate] (715.643 µs) : 0, 716
Telemetry [baseline] (10.982 ms) : 0, 10982
Telemetry [candidate] (15.642 ms) : 0, 15642
ProfilingAgent [baseline] (107.597 ms) : 0, 107597
ProfilingAgent [candidate] (107.977 ms) : 0, 107977
Profiling [baseline] (108.227 ms) : 0, 108227
Profiling [candidate] (108.62 ms) : 0, 108620
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.54.0-SNAPSHOT~f0d55c8e95, baseline=1.54.0-SNAPSHOT~2d42e7c7f3

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.071 s) : 0, 1070881
Total [baseline] (8.658 s) : 0, 8657585
Agent [candidate] (1.064 s) : 0, 1063521
Total [candidate] (8.639 s) : 0, 8639244
section iast
Agent [baseline] (1.19 s) : 0, 1190349
Total [baseline] (9.329 s) : 0, 9328742
Agent [candidate] (1.197 s) : 0, 1196813
Total [candidate] (9.332 s) : 0, 9332306
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.071 s -
Agent iast 1.19 s 119.468 ms (11.2%)
Total tracing 8.658 s -
Total iast 9.329 s 671.157 ms (7.8%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.064 s -
Agent iast 1.197 s 133.292 ms (12.5%)
Total tracing 8.639 s -
Total iast 9.332 s 693.062 ms (8.0%)
gantt
    title insecure-bank - break down per module: candidate=1.54.0-SNAPSHOT~f0d55c8e95, baseline=1.54.0-SNAPSHOT~2d42e7c7f3

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.469 ms) : 0, 1469
crashtracking [candidate] (1.454 ms) : 0, 1454
BytebuddyAgent [baseline] (739.469 ms) : 0, 739469
BytebuddyAgent [candidate] (734.524 ms) : 0, 734524
GlobalTracer [baseline] (254.394 ms) : 0, 254394
GlobalTracer [candidate] (252.586 ms) : 0, 252586
AppSec [baseline] (30.93 ms) : 0, 30930
AppSec [candidate] (30.629 ms) : 0, 30629
Debugger [baseline] (6.494 ms) : 0, 6494
Debugger [candidate] (6.384 ms) : 0, 6384
Remote Config [baseline] (703.028 µs) : 0, 703
Remote Config [candidate] (695.821 µs) : 0, 696
Telemetry [baseline] (16.31 ms) : 0, 16310
Telemetry [candidate] (16.282 ms) : 0, 16282
section iast
crashtracking [baseline] (1.452 ms) : 0, 1452
crashtracking [candidate] (1.467 ms) : 0, 1467
BytebuddyAgent [baseline] (852.099 ms) : 0, 852099
BytebuddyAgent [candidate] (858.441 ms) : 0, 858441
GlobalTracer [baseline] (245.131 ms) : 0, 245131
GlobalTracer [candidate] (247.892 ms) : 0, 247892
IAST [baseline] (30.432 ms) : 0, 30432
IAST [candidate] (27.122 ms) : 0, 27122
AppSec [baseline] (25.485 ms) : 0, 25485
AppSec [candidate] (26.148 ms) : 0, 26148
Debugger [baseline] (6.078 ms) : 0, 6078
Debugger [candidate] (6.02 ms) : 0, 6020
Remote Config [baseline] (596.552 µs) : 0, 597
Remote Config [candidate] (586.327 µs) : 0, 586
Telemetry [baseline] (8.136 ms) : 0, 8136
Telemetry [candidate] (8.103 ms) : 0, 8103
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bdu/bdu-muzzle-dedicated-class-tasks
git_commit_date 1758016422 1758016923
git_commit_sha 2d42e7c f0d55c8
release_version 1.54.0-SNAPSHOT~2d42e7c7f3 1.54.0-SNAPSHOT~f0d55c8e95
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1758018457 1758018457
ci_job_id 1130903869 1130903869
ci_pipeline_id 76587404 76587404
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-0-mib31ss1 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-0-mib31ss1 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 2 performance improvements and 1 performance regressions! Performance is the same for 9 metrics, 12 unstable metrics.

scenario Δ mean http_req_duration Δ mean throughput candidate mean http_req_duration candidate mean throughput baseline mean http_req_duration baseline mean throughput
scenario:load:insecure-bank:no_agent:high_load worse
[+142.938µs; +248.793µs] or [+3.315%; +5.769%]
unstable
[-161.401op/s; +70.839op/s] or [-15.174%; +6.660%]
4.508ms 1018.406op/s 4.312ms 1063.688op/s
scenario:load:insecure-bank:profiling:high_load better
[-560.033µs; -233.711µs] or [-6.131%; -2.559%]
unstable
[-47.470op/s; +92.657op/s] or [-9.340%; +18.232%]
8.737ms 530.812op/s 9.134ms 508.219op/s
scenario:load:insecure-bank:tracing:high_load better
[-414.674µs; -167.141µs] or [-5.389%; -2.172%]
unstable
[-53.523op/s; +100.211op/s] or [-8.893%; +16.650%]
7.405ms 625.219op/s 7.695ms 601.875op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.54.0-SNAPSHOT~f0d55c8e95, baseline=1.54.0-SNAPSHOT~2d42e7c7f3
    dateFormat X
    axisFormat %s
section baseline
no_agent (4.312 ms) : 4265, 4360
.   : milestone, 4312,
iast (9.627 ms) : 9470, 9785
.   : milestone, 9627,
iast_FULL (14.005 ms) : 13721, 14289
.   : milestone, 14005,
iast_GLOBAL (10.333 ms) : 10148, 10517
.   : milestone, 10333,
profiling (9.134 ms) : 8980, 9288
.   : milestone, 9134,
tracing (7.695 ms) : 7573, 7818
.   : milestone, 7695,
section candidate
no_agent (4.508 ms) : 4457, 4559
.   : milestone, 4508,
iast (9.504 ms) : 9347, 9660
.   : milestone, 9504,
iast_FULL (13.948 ms) : 13678, 14218
.   : milestone, 13948,
iast_GLOBAL (10.341 ms) : 10155, 10527
.   : milestone, 10341,
profiling (8.737 ms) : 8588, 8887
.   : milestone, 8737,
tracing (7.405 ms) : 7297, 7512
.   : milestone, 7405,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.312 ms [4.265 ms, 4.36 ms] -
iast 9.627 ms [9.47 ms, 9.785 ms] 5.315 ms (123.3%)
iast_FULL 14.005 ms [13.721 ms, 14.289 ms] 9.693 ms (224.8%)
iast_GLOBAL 10.333 ms [10.148 ms, 10.517 ms] 6.02 ms (139.6%)
profiling 9.134 ms [8.98 ms, 9.288 ms] 4.822 ms (111.8%)
tracing 7.695 ms [7.573 ms, 7.818 ms] 3.383 ms (78.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.508 ms [4.457 ms, 4.559 ms] -
iast 9.504 ms [9.347 ms, 9.66 ms] 4.995 ms (110.8%)
iast_FULL 13.948 ms [13.678 ms, 14.218 ms] 9.44 ms (209.4%)
iast_GLOBAL 10.341 ms [10.155 ms, 10.527 ms] 5.833 ms (129.4%)
profiling 8.737 ms [8.588 ms, 8.887 ms] 4.229 ms (93.8%)
tracing 7.405 ms [7.297 ms, 7.512 ms] 2.896 ms (64.2%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.54.0-SNAPSHOT~f0d55c8e95, baseline=1.54.0-SNAPSHOT~2d42e7c7f3
    dateFormat X
    axisFormat %s
section baseline
no_agent (37.901 ms) : 37592, 38209
.   : milestone, 37901,
appsec (48.978 ms) : 48540, 49416
.   : milestone, 48978,
code_origins (45.251 ms) : 44849, 45653
.   : milestone, 45251,
iast (43.973 ms) : 43594, 44351
.   : milestone, 43973,
profiling (49.112 ms) : 48663, 49561
.   : milestone, 49112,
tracing (44.548 ms) : 44158, 44939
.   : milestone, 44548,
section candidate
no_agent (37.66 ms) : 37360, 37960
.   : milestone, 37660,
appsec (50.048 ms) : 49599, 50496
.   : milestone, 50048,
code_origins (46.341 ms) : 45959, 46723
.   : milestone, 46341,
iast (44.771 ms) : 44393, 45150
.   : milestone, 44771,
profiling (49.491 ms) : 49007, 49974
.   : milestone, 49491,
tracing (43.845 ms) : 43463, 44228
.   : milestone, 43845,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 37.901 ms [37.592 ms, 38.209 ms] -
appsec 48.978 ms [48.54 ms, 49.416 ms] 11.077 ms (29.2%)
code_origins 45.251 ms [44.849 ms, 45.653 ms] 7.35 ms (19.4%)
iast 43.973 ms [43.594 ms, 44.351 ms] 6.072 ms (16.0%)
profiling 49.112 ms [48.663 ms, 49.561 ms] 11.211 ms (29.6%)
tracing 44.548 ms [44.158 ms, 44.939 ms] 6.648 ms (17.5%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 37.66 ms [37.36 ms, 37.96 ms] -
appsec 50.048 ms [49.599 ms, 50.496 ms] 12.387 ms (32.9%)
code_origins 46.341 ms [45.959 ms, 46.723 ms] 8.681 ms (23.0%)
iast 44.771 ms [44.393 ms, 45.15 ms] 7.111 ms (18.9%)
profiling 49.491 ms [49.007 ms, 49.974 ms] 11.831 ms (31.4%)
tracing 43.845 ms [43.463 ms, 44.228 ms] 6.185 ms (16.4%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bdu/bdu-muzzle-dedicated-class-tasks
git_commit_date 1758016422 1758016923
git_commit_sha 2d42e7c f0d55c8
release_version 1.54.0-SNAPSHOT~2d42e7c7f3 1.54.0-SNAPSHOT~f0d55c8e95
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1758019047 1758019047
ci_job_id 1130903871 1130903871
ci_pipeline_id 76587404 76587404
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-1-33xsdl3h 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-1-33xsdl3h 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

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

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.54.0-SNAPSHOT~f0d55c8e95, baseline=1.54.0-SNAPSHOT~2d42e7c7f3
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.47 ms) : 1459, 1482
.   : milestone, 1470,
appsec (2.5 ms) : 2446, 2553
.   : milestone, 2500,
iast (2.196 ms) : 2133, 2259
.   : milestone, 2196,
iast_GLOBAL (2.232 ms) : 2169, 2295
.   : milestone, 2232,
profiling (2.476 ms) : 2312, 2640
.   : milestone, 2476,
tracing (2.022 ms) : 1973, 2072
.   : milestone, 2022,
section candidate
no_agent (1.48 ms) : 1468, 1492
.   : milestone, 1480,
appsec (3.69 ms) : 3474, 3906
.   : milestone, 3690,
iast (2.19 ms) : 2127, 2252
.   : milestone, 2190,
iast_GLOBAL (2.239 ms) : 2176, 2302
.   : milestone, 2239,
profiling (2.055 ms) : 2003, 2107
.   : milestone, 2055,
tracing (2.023 ms) : 1974, 2072
.   : milestone, 2023,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.47 ms [1.459 ms, 1.482 ms] -
appsec 2.5 ms [2.446 ms, 2.553 ms] 1.029 ms (70.0%)
iast 2.196 ms [2.133 ms, 2.259 ms] 725.67 µs (49.4%)
iast_GLOBAL 2.232 ms [2.169 ms, 2.295 ms] 761.847 µs (51.8%)
profiling 2.476 ms [2.312 ms, 2.64 ms] 1.006 ms (68.4%)
tracing 2.022 ms [1.973 ms, 2.072 ms] 552.055 µs (37.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.48 ms [1.468 ms, 1.492 ms] -
appsec 3.69 ms [3.474 ms, 3.906 ms] 2.21 ms (149.4%)
iast 2.19 ms [2.127 ms, 2.252 ms] 709.803 µs (48.0%)
iast_GLOBAL 2.239 ms [2.176 ms, 2.302 ms] 758.981 µs (51.3%)
profiling 2.055 ms [2.003 ms, 2.107 ms] 574.845 µs (38.8%)
tracing 2.023 ms [1.974 ms, 2.072 ms] 543.168 µs (36.7%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.54.0-SNAPSHOT~f0d55c8e95, baseline=1.54.0-SNAPSHOT~2d42e7c7f3
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.82 s) : 14820000, 14820000
.   : milestone, 14820000,
appsec (15.102 s) : 15102000, 15102000
.   : milestone, 15102000,
iast (18.464 s) : 18464000, 18464000
.   : milestone, 18464000,
iast_GLOBAL (18.113 s) : 18113000, 18113000
.   : milestone, 18113000,
profiling (15.978 s) : 15978000, 15978000
.   : milestone, 15978000,
tracing (14.831 s) : 14831000, 14831000
.   : milestone, 14831000,
section candidate
no_agent (15.296 s) : 15296000, 15296000
.   : milestone, 15296000,
appsec (15.037 s) : 15037000, 15037000
.   : milestone, 15037000,
iast (18.718 s) : 18718000, 18718000
.   : milestone, 18718000,
iast_GLOBAL (18.107 s) : 18107000, 18107000
.   : milestone, 18107000,
profiling (15.876 s) : 15876000, 15876000
.   : milestone, 15876000,
tracing (15.223 s) : 15223000, 15223000
.   : milestone, 15223000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.82 s [14.82 s, 14.82 s] -
appsec 15.102 s [15.102 s, 15.102 s] 282.0 ms (1.9%)
iast 18.464 s [18.464 s, 18.464 s] 3.644 s (24.6%)
iast_GLOBAL 18.113 s [18.113 s, 18.113 s] 3.293 s (22.2%)
profiling 15.978 s [15.978 s, 15.978 s] 1.158 s (7.8%)
tracing 14.831 s [14.831 s, 14.831 s] 11.0 ms (0.1%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.296 s [15.296 s, 15.296 s] -
appsec 15.037 s [15.037 s, 15.037 s] -259.0 ms (-1.7%)
iast 18.718 s [18.718 s, 18.718 s] 3.422 s (22.4%)
iast_GLOBAL 18.107 s [18.107 s, 18.107 s] 2.811 s (18.4%)
profiling 15.876 s [15.876 s, 15.876 s] 580.0 ms (3.8%)
tracing 15.223 s [15.223 s, 15.223 s] -73.0 ms (-0.5%)

Copy link
Contributor

@AlexeyKuznetsov-DD AlexeyKuznetsov-DD left a comment

Choose a reason for hiding this comment

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

Left several comments


abstract class AbstractMuzzleReportTask : AbstractMuzzleTask() {
internal fun dumpVersionsToCsv(versions: SortedMap<String, TestedArtifact>) {
val filename = project.path.replaceFirst("^:".toRegex(), "").replace(":", "_")
Copy link
Contributor

@AlexeyKuznetsov-DD AlexeyKuznetsov-DD Sep 16, 2025

Choose a reason for hiding this comment

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

Would it be better to use substring instead of replace by regexp?
Looks like it could be a utility function to create valid file name.

Copy link
Contributor Author

@bric3 bric3 Sep 16, 2025

Choose a reason for hiding this comment

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

Note, this was ported from groovy in the previous PR. That said this look like it can be replaced by a simple substring.

Comment on lines 10 to 12
val versionsFile = project.rootProject.layout.buildDirectory.file("${MUZZLE_DEPS_RESULTS}/$filename.csv")
with(project.file(versionsFile)) {
parentFile.mkdirs()
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe we can have resultDir and resulsFile as separte varaibles? Code would be a bit more readable.
Also it is better to use ${filename}.csv for readability.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Mmmh, I'll see to improve here.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Note in kotlin this is a weak warning to use braces if there's no code inside.

Maybe I'll declare the versionsFile as a task output 🤔.

* A pass or fail directive for a single dependency.
*/
open class MuzzleDirective {
open class MuzzleDirective : Serializable {
Copy link
Contributor

Choose a reason for hiding this comment

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

Just curious, why Serializable?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is for cacheability, without it there's a failure when serializing this task input.

Comment on lines +13 to +14
val endTimeMs = System.currentTimeMillis()
val seconds = (endTimeMs - startTimeMs.get()).toDouble() / 1000.0
Copy link
Contributor

Choose a reason for hiding this comment

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

No much sense in endTimeMs?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I slightly prefer to have a val.

val endTimeMs = System.currentTimeMillis()
val seconds = (endTimeMs - startTimeMs.get()).toDouble() / 1000.0
val name = "${project.path}:muzzle"
val dirname = name.replaceFirst("^:".toRegex(), "").replace(":", "_")
Copy link
Contributor

Choose a reason for hiding this comment

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

Looks like it could be a utility function to create valid file name.

Copy link
Contributor Author

@bric3 bric3 Sep 16, 2025

Choose a reason for hiding this comment

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

Indeed! The original code in groovy had some duplication. I barely inlined the utils methods.
I'll see what I can do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: tooling Build & Tooling tag: no release notes Changes to exclude from release notes type: enhancement Enhancements and improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants