Skip to content

Conversation

@bric3
Copy link
Contributor

@bric3 bric3 commented Aug 29, 2025

What Does This Do

Port the MuzzlePlugin written in groovy to Kotlin. Also spread the single source file to its constituents.

Motivation

Significantly better IDE support, this will improve maintainability.
In a previous PR this plugin was refactored to use lazy configuration API, this PR don't change that. However, it improves in a few places.

Additional Notes

Review strategy suggestion: go commit by commit, as I migrated piece of code one by one.

Related to

Conversion method:

  1. Spread classes that were in the same groovy file
  2. Method by method conversion.

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@bric3 bric3 force-pushed the bdu/convert-muzzle-to-kotlin branch from d61742d to 830d487 Compare August 29, 2025 14:41
@datadog-official
Copy link

datadog-official bot commented Aug 29, 2025

🎯 Code Coverage
Patch Coverage: 100.00%
Total Coverage: 60.14% (-0.01%)

View detailed report

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 435d92c | Docs | Was this helpful? Give us feedback!

@pr-commenter
Copy link

pr-commenter bot commented Aug 29, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bdu/convert-muzzle-to-kotlin
git_commit_date 1757667030 1757676996
git_commit_sha f7aa6d2 435d92c
release_version 1.54.0-SNAPSHOT~f7aa6d2c5e 1.53.0-SNAPSHOT~435d92cfcd
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1757678944 1757678944
ci_job_id 1126351080 1126351080
ci_pipeline_id 76292239 76292239
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-gkx2iqcy 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-gkx2iqcy 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 51 metrics, 8 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.53.0-SNAPSHOT~435d92cfcd, baseline=1.54.0-SNAPSHOT~f7aa6d2c5e

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.064 s) : 0, 1063770
Total [baseline] (8.698 s) : 0, 8697935
Agent [candidate] (1.06 s) : 0, 1059759
Total [candidate] (8.617 s) : 0, 8616657
section iast
Agent [baseline] (1.189 s) : 0, 1189296
Total [baseline] (9.308 s) : 0, 9307663
Agent [candidate] (1.196 s) : 0, 1195729
Total [candidate] (9.32 s) : 0, 9320113
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.064 s -
Agent iast 1.189 s 125.526 ms (11.8%)
Total tracing 8.698 s -
Total iast 9.308 s 609.728 ms (7.0%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.06 s -
Agent iast 1.196 s 135.97 ms (12.8%)
Total tracing 8.617 s -
Total iast 9.32 s 703.456 ms (8.2%)
gantt
    title insecure-bank - break down per module: candidate=1.53.0-SNAPSHOT~435d92cfcd, baseline=1.54.0-SNAPSHOT~f7aa6d2c5e

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.457 ms) : 0, 1457
crashtracking [candidate] (1.454 ms) : 0, 1454
BytebuddyAgent [baseline] (734.439 ms) : 0, 734439
BytebuddyAgent [candidate] (731.913 ms) : 0, 731913
GlobalTracer [baseline] (252.733 ms) : 0, 252733
GlobalTracer [candidate] (251.818 ms) : 0, 251818
AppSec [baseline] (30.682 ms) : 0, 30682
AppSec [candidate] (30.472 ms) : 0, 30472
Debugger [baseline] (6.42 ms) : 0, 6420
Debugger [candidate] (6.384 ms) : 0, 6384
Remote Config [baseline] (694.621 µs) : 0, 695
Remote Config [candidate] (691.475 µs) : 0, 691
Telemetry [baseline] (16.294 ms) : 0, 16294
Telemetry [candidate] (15.969 ms) : 0, 15969
section iast
crashtracking [baseline] (1.459 ms) : 0, 1459
crashtracking [candidate] (1.457 ms) : 0, 1457
BytebuddyAgent [baseline] (852.019 ms) : 0, 852019
BytebuddyAgent [candidate] (857.77 ms) : 0, 857770
GlobalTracer [baseline] (245.927 ms) : 0, 245927
GlobalTracer [candidate] (247.36 ms) : 0, 247360
IAST [baseline] (29.632 ms) : 0, 29632
IAST [candidate] (28.802 ms) : 0, 28802
AppSec [baseline] (24.591 ms) : 0, 24591
AppSec [candidate] (24.586 ms) : 0, 24586
Debugger [baseline] (6.048 ms) : 0, 6048
Debugger [candidate] (6.013 ms) : 0, 6013
Remote Config [baseline] (591.793 µs) : 0, 592
Remote Config [candidate] (584.131 µs) : 0, 584
Telemetry [baseline] (8.076 ms) : 0, 8076
Telemetry [candidate] (8.189 ms) : 0, 8189
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.53.0-SNAPSHOT~435d92cfcd, baseline=1.54.0-SNAPSHOT~f7aa6d2c5e

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.059 s) : 0, 1059450
Total [baseline] (10.714 s) : 0, 10713696
Agent [candidate] (1.075 s) : 0, 1075134
Total [candidate] (10.72 s) : 0, 10720186
section appsec
Agent [baseline] (1.232 s) : 0, 1231711
Total [baseline] (10.896 s) : 0, 10895530
Agent [candidate] (1.235 s) : 0, 1234946
Total [candidate] (11.026 s) : 0, 11025734
section iast
Agent [baseline] (1.188 s) : 0, 1188416
Total [baseline] (11.007 s) : 0, 11007416
Agent [candidate] (1.195 s) : 0, 1194609
Total [candidate] (11.092 s) : 0, 11091934
section profiling
Agent [baseline] (1.215 s) : 0, 1215176
Total [baseline] (10.955 s) : 0, 10954980
Agent [candidate] (1.206 s) : 0, 1206280
Total [candidate] (10.859 s) : 0, 10859230
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.059 s -
Agent appsec 1.232 s 172.261 ms (16.3%)
Agent iast 1.188 s 128.966 ms (12.2%)
Agent profiling 1.215 s 155.726 ms (14.7%)
Total tracing 10.714 s -
Total appsec 10.896 s 181.834 ms (1.7%)
Total iast 11.007 s 293.72 ms (2.7%)
Total profiling 10.955 s 241.284 ms (2.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.075 s -
Agent appsec 1.235 s 159.812 ms (14.9%)
Agent iast 1.195 s 119.475 ms (11.1%)
Agent profiling 1.206 s 131.146 ms (12.2%)
Total tracing 10.72 s -
Total appsec 11.026 s 305.548 ms (2.9%)
Total iast 11.092 s 371.748 ms (3.5%)
Total profiling 10.859 s 139.045 ms (1.3%)
gantt
    title petclinic - break down per module: candidate=1.53.0-SNAPSHOT~435d92cfcd, baseline=1.54.0-SNAPSHOT~f7aa6d2c5e

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.451 ms) : 0, 1451
crashtracking [candidate] (1.488 ms) : 0, 1488
BytebuddyAgent [baseline] (731.16 ms) : 0, 731160
BytebuddyAgent [candidate] (742.389 ms) : 0, 742389
GlobalTracer [baseline] (251.722 ms) : 0, 251722
GlobalTracer [candidate] (255.313 ms) : 0, 255313
AppSec [baseline] (30.379 ms) : 0, 30379
AppSec [candidate] (31.07 ms) : 0, 31070
Debugger [baseline] (6.373 ms) : 0, 6373
Debugger [candidate] (6.468 ms) : 0, 6468
Remote Config [baseline] (692.989 µs) : 0, 693
Remote Config [candidate] (704.778 µs) : 0, 705
Telemetry [baseline] (16.507 ms) : 0, 16507
Telemetry [candidate] (16.41 ms) : 0, 16410
section appsec
crashtracking [baseline] (1.463 ms) : 0, 1463
crashtracking [candidate] (1.443 ms) : 0, 1443
BytebuddyAgent [baseline] (753.622 ms) : 0, 753622
BytebuddyAgent [candidate] (756.037 ms) : 0, 756037
GlobalTracer [baseline] (245.152 ms) : 0, 245152
GlobalTracer [candidate] (245.491 ms) : 0, 245491
IAST [baseline] (23.716 ms) : 0, 23716
IAST [candidate] (23.622 ms) : 0, 23622
AppSec [baseline] (171.454 ms) : 0, 171454
AppSec [candidate] (171.241 ms) : 0, 171241
Debugger [baseline] (6.03 ms) : 0, 6030
Debugger [candidate] (6.793 ms) : 0, 6793
Remote Config [baseline] (653.918 µs) : 0, 654
Remote Config [candidate] (623.673 µs) : 0, 624
Telemetry [baseline] (8.369 ms) : 0, 8369
Telemetry [candidate] (8.522 ms) : 0, 8522
section iast
crashtracking [baseline] (1.451 ms) : 0, 1451
crashtracking [candidate] (1.457 ms) : 0, 1457
BytebuddyAgent [baseline] (850.848 ms) : 0, 850848
BytebuddyAgent [candidate] (856.994 ms) : 0, 856994
GlobalTracer [baseline] (245.307 ms) : 0, 245307
GlobalTracer [candidate] (245.763 ms) : 0, 245763
IAST [baseline] (30.399 ms) : 0, 30399
IAST [candidate] (30.203 ms) : 0, 30203
AppSec [baseline] (24.62 ms) : 0, 24620
AppSec [candidate] (24.426 ms) : 0, 24426
Debugger [baseline] (6.016 ms) : 0, 6016
Debugger [candidate] (6.044 ms) : 0, 6044
Remote Config [baseline] (612.669 µs) : 0, 613
Remote Config [candidate] (589.454 µs) : 0, 589
Telemetry [baseline] (8.123 ms) : 0, 8123
Telemetry [candidate] (8.107 ms) : 0, 8107
section profiling
crashtracking [baseline] (1.435 ms) : 0, 1435
crashtracking [candidate] (1.435 ms) : 0, 1435
BytebuddyAgent [baseline] (764.931 ms) : 0, 764931
BytebuddyAgent [candidate] (759.903 ms) : 0, 759903
GlobalTracer [baseline] (234.605 ms) : 0, 234605
GlobalTracer [candidate] (232.43 ms) : 0, 232430
AppSec [baseline] (31.364 ms) : 0, 31364
AppSec [candidate] (31.127 ms) : 0, 31127
Debugger [baseline] (8.985 ms) : 0, 8985
Debugger [candidate] (7.445 ms) : 0, 7445
Remote Config [baseline] (719.534 µs) : 0, 720
Remote Config [candidate] (702.55 µs) : 0, 703
Telemetry [baseline] (13.428 ms) : 0, 13428
Telemetry [candidate] (14.908 ms) : 0, 14908
ProfilingAgent [baseline] (108.453 ms) : 0, 108453
ProfilingAgent [candidate] (107.446 ms) : 0, 107446
Profiling [baseline] (109.115 ms) : 0, 109115
Profiling [candidate] (108.102 ms) : 0, 108102
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bdu/convert-muzzle-to-kotlin
git_commit_date 1757667030 1757676996
git_commit_sha f7aa6d2 435d92c
release_version 1.54.0-SNAPSHOT~f7aa6d2c5e 1.53.0-SNAPSHOT~435d92cfcd
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1757678594 1757678594
ci_job_id 1126351082 1126351082
ci_pipeline_id 76292239 76292239
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-jx6c5utj 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-jx6c5utj 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 4 performance improvements and 1 performance regressions! Performance is the same for 7 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:iast:high_load better
[-608.860µs; -256.453µs] or [-6.267%; -2.640%]
unstable
[-35.132op/s; +79.382op/s] or [-7.349%; +16.606%]
9.282ms 500.156op/s 9.715ms 478.031op/s
scenario:load:petclinic:profiling:high_load better
[-2.924ms; -1.951ms] or [-5.881%; -3.924%]
unstable
[-2.052op/s; +11.902op/s] or [-2.180%; +12.643%]
47.281ms 99.062op/s 49.719ms 94.138op/s
scenario:load:petclinic:appsec:high_load worse
[+1.869ms; +2.784ms] or [+3.960%; +5.900%]
unstable
[-11.499op/s; +2.149op/s] or [-11.591%; +2.166%]
49.512ms 94.525op/s 47.186ms 99.200op/s
scenario:load:petclinic:iast:high_load better
[-1.748ms; -0.964ms] or [-3.946%; -2.176%]
unstable
[-4.191op/s; +10.866op/s] or [-3.968%; +10.287%]
42.953ms 108.963op/s 44.310ms 105.625op/s
scenario:load:petclinic:tracing:high_load better
[-2.425ms; -1.637ms] or [-5.440%; -3.672%]
unstable
[-2.799op/s; +12.699op/s] or [-2.666%; +12.096%]
42.548ms 109.938op/s 44.579ms 104.987op/s
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.53.0-SNAPSHOT~435d92cfcd, baseline=1.54.0-SNAPSHOT~f7aa6d2c5e
    dateFormat X
    axisFormat %s
section baseline
no_agent (36.877 ms) : 36585, 37168
.   : milestone, 36877,
appsec (47.186 ms) : 46772, 47599
.   : milestone, 47186,
code_origins (46.3 ms) : 45909, 46691
.   : milestone, 46300,
iast (44.31 ms) : 43944, 44675
.   : milestone, 44310,
profiling (49.719 ms) : 49236, 50201
.   : milestone, 49719,
tracing (44.579 ms) : 44208, 44949
.   : milestone, 44579,
section candidate
no_agent (36.803 ms) : 36498, 37108
.   : milestone, 36803,
appsec (49.512 ms) : 49075, 49949
.   : milestone, 49512,
code_origins (46.523 ms) : 46108, 46937
.   : milestone, 46523,
iast (42.953 ms) : 42590, 43317
.   : milestone, 42953,
profiling (47.281 ms) : 46861, 47701
.   : milestone, 47281,
tracing (42.548 ms) : 42186, 42910
.   : milestone, 42548,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 36.877 ms [36.585 ms, 37.168 ms] -
appsec 47.186 ms [46.772 ms, 47.599 ms] 10.309 ms (28.0%)
code_origins 46.3 ms [45.909 ms, 46.691 ms] 9.423 ms (25.6%)
iast 44.31 ms [43.944 ms, 44.675 ms] 7.433 ms (20.2%)
profiling 49.719 ms [49.236 ms, 50.201 ms] 12.842 ms (34.8%)
tracing 44.579 ms [44.208 ms, 44.949 ms] 7.702 ms (20.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 36.803 ms [36.498 ms, 37.108 ms] -
appsec 49.512 ms [49.075 ms, 49.949 ms] 12.709 ms (34.5%)
code_origins 46.523 ms [46.108 ms, 46.937 ms] 9.72 ms (26.4%)
iast 42.953 ms [42.59 ms, 43.317 ms] 6.15 ms (16.7%)
profiling 47.281 ms [46.861 ms, 47.701 ms] 10.478 ms (28.5%)
tracing 42.548 ms [42.186 ms, 42.91 ms] 5.745 ms (15.6%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.53.0-SNAPSHOT~435d92cfcd, baseline=1.54.0-SNAPSHOT~f7aa6d2c5e
    dateFormat X
    axisFormat %s
section baseline
no_agent (4.268 ms) : 4220, 4316
.   : milestone, 4268,
iast (9.715 ms) : 9540, 9889
.   : milestone, 9715,
iast_FULL (13.971 ms) : 13690, 14252
.   : milestone, 13971,
iast_GLOBAL (10.349 ms) : 10149, 10550
.   : milestone, 10349,
profiling (9.017 ms) : 8874, 9159
.   : milestone, 9017,
tracing (7.997 ms) : 7872, 8121
.   : milestone, 7997,
section candidate
no_agent (4.287 ms) : 4240, 4333
.   : milestone, 4287,
iast (9.282 ms) : 9130, 9434
.   : milestone, 9282,
iast_FULL (14.308 ms) : 14020, 14597
.   : milestone, 14308,
iast_GLOBAL (10.381 ms) : 10180, 10583
.   : milestone, 10381,
profiling (9.309 ms) : 9142, 9477
.   : milestone, 9309,
tracing (7.714 ms) : 7605, 7822
.   : milestone, 7714,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.268 ms [4.22 ms, 4.316 ms] -
iast 9.715 ms [9.54 ms, 9.889 ms] 5.447 ms (127.6%)
iast_FULL 13.971 ms [13.69 ms, 14.252 ms] 9.703 ms (227.3%)
iast_GLOBAL 10.349 ms [10.149 ms, 10.55 ms] 6.081 ms (142.5%)
profiling 9.017 ms [8.874 ms, 9.159 ms] 4.749 ms (111.3%)
tracing 7.997 ms [7.872 ms, 8.121 ms] 3.729 ms (87.4%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.287 ms [4.24 ms, 4.333 ms] -
iast 9.282 ms [9.13 ms, 9.434 ms] 4.996 ms (116.5%)
iast_FULL 14.308 ms [14.02 ms, 14.597 ms] 10.022 ms (233.8%)
iast_GLOBAL 10.381 ms [10.18 ms, 10.583 ms] 6.095 ms (142.2%)
profiling 9.309 ms [9.142 ms, 9.477 ms] 5.023 ms (117.2%)
tracing 7.714 ms [7.605 ms, 7.822 ms] 3.427 ms (80.0%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master bdu/convert-muzzle-to-kotlin
git_commit_date 1757667030 1757676996
git_commit_sha f7aa6d2 435d92c
release_version 1.54.0-SNAPSHOT~f7aa6d2c5e 1.53.0-SNAPSHOT~435d92cfcd
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1757679104 1757679104
ci_job_id 1126351084 1126351084
ci_pipeline_id 76292239 76292239
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-xvki8rh3 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-xvki8rh3 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.53.0-SNAPSHOT~435d92cfcd, baseline=1.54.0-SNAPSHOT~f7aa6d2c5e
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.469 ms) : 1458, 1480
.   : milestone, 1469,
appsec (2.506 ms) : 2453, 2560
.   : milestone, 2506,
iast (2.197 ms) : 2134, 2261
.   : milestone, 2197,
iast_GLOBAL (2.242 ms) : 2178, 2306
.   : milestone, 2242,
profiling (2.467 ms) : 2240, 2695
.   : milestone, 2467,
tracing (2.011 ms) : 1961, 2060
.   : milestone, 2011,
section candidate
no_agent (1.472 ms) : 1461, 1484
.   : milestone, 1472,
appsec (3.724 ms) : 3506, 3942
.   : milestone, 3724,
iast (2.205 ms) : 2141, 2269
.   : milestone, 2205,
iast_GLOBAL (2.242 ms) : 2178, 2306
.   : milestone, 2242,
profiling (2.04 ms) : 1989, 2092
.   : milestone, 2040,
tracing (2.023 ms) : 1974, 2073
.   : milestone, 2023,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.469 ms [1.458 ms, 1.48 ms] -
appsec 2.506 ms [2.453 ms, 2.56 ms] 1.037 ms (70.6%)
iast 2.197 ms [2.134 ms, 2.261 ms] 728.312 µs (49.6%)
iast_GLOBAL 2.242 ms [2.178 ms, 2.306 ms] 773.15 µs (52.6%)
profiling 2.467 ms [2.24 ms, 2.695 ms] 998.44 µs (68.0%)
tracing 2.011 ms [1.961 ms, 2.06 ms] 541.537 µs (36.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.472 ms [1.461 ms, 1.484 ms] -
appsec 3.724 ms [3.506 ms, 3.942 ms] 2.252 ms (152.9%)
iast 2.205 ms [2.141 ms, 2.269 ms] 732.469 µs (49.7%)
iast_GLOBAL 2.242 ms [2.178 ms, 2.306 ms] 769.178 µs (52.2%)
profiling 2.04 ms [1.989 ms, 2.092 ms] 567.75 µs (38.6%)
tracing 2.023 ms [1.974 ms, 2.073 ms] 550.972 µs (37.4%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.53.0-SNAPSHOT~435d92cfcd, baseline=1.54.0-SNAPSHOT~f7aa6d2c5e
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.013 s) : 15013000, 15013000
.   : milestone, 15013000,
appsec (15.002 s) : 15002000, 15002000
.   : milestone, 15002000,
iast (18.573 s) : 18573000, 18573000
.   : milestone, 18573000,
iast_GLOBAL (18.077 s) : 18077000, 18077000
.   : milestone, 18077000,
profiling (15.997 s) : 15997000, 15997000
.   : milestone, 15997000,
tracing (14.969 s) : 14969000, 14969000
.   : milestone, 14969000,
section candidate
no_agent (15.322 s) : 15322000, 15322000
.   : milestone, 15322000,
appsec (14.809 s) : 14809000, 14809000
.   : milestone, 14809000,
iast (18.488 s) : 18488000, 18488000
.   : milestone, 18488000,
iast_GLOBAL (17.876 s) : 17876000, 17876000
.   : milestone, 17876000,
profiling (15.982 s) : 15982000, 15982000
.   : milestone, 15982000,
tracing (14.803 s) : 14803000, 14803000
.   : milestone, 14803000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.013 s [15.013 s, 15.013 s] -
appsec 15.002 s [15.002 s, 15.002 s] -11.0 ms (-0.1%)
iast 18.573 s [18.573 s, 18.573 s] 3.56 s (23.7%)
iast_GLOBAL 18.077 s [18.077 s, 18.077 s] 3.064 s (20.4%)
profiling 15.997 s [15.997 s, 15.997 s] 984.0 ms (6.6%)
tracing 14.969 s [14.969 s, 14.969 s] -44.0 ms (-0.3%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.322 s [15.322 s, 15.322 s] -
appsec 14.809 s [14.809 s, 14.809 s] -513.0 ms (-3.3%)
iast 18.488 s [18.488 s, 18.488 s] 3.166 s (20.7%)
iast_GLOBAL 17.876 s [17.876 s, 17.876 s] 2.554 s (16.7%)
profiling 15.982 s [15.982 s, 15.982 s] 660.0 ms (4.3%)
tracing 14.803 s [14.803 s, 14.803 s] -519.0 ms (-3.4%)

@bric3 bric3 marked this pull request as ready for review August 31, 2025 14:42
@bric3 bric3 requested a review from a team as a code owner August 31, 2025 14:42
@bric3 bric3 requested a review from dougqh August 31, 2025 14:42
@github-actions
Copy link
Contributor

github-actions bot commented Aug 31, 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 added tag: no release notes Changes to exclude from release notes comp: tooling Build & Tooling labels Sep 1, 2025
@bric3 bric3 requested a review from mcculls September 1, 2025 09:30
@bric3 bric3 requested a review from PerfectSlayer September 1, 2025 09:30
Copy link
Contributor

@sarahchen6 sarahchen6 left a comment

Choose a reason for hiding this comment

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

I reviewed this PR by comparing the new kotlin files to the previous groovy implementations. Looks like all of the classes and logic were transferred directly over. Nice! Thanks!

@mcculls
Copy link
Contributor

mcculls commented Sep 11, 2025

Couple of issues I don't see with the original plugin:

./gradlew :dd-java-agent:instrumentation:mule-4:muzzle

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':dd-java-agent:instrumentation:mule-4'.
> Could not create domain object 'muzzle-AssertPass-org.mule.runtime-mule-core-4.9.9' (LegacyConfiguration)
./gradlew :dd-java-agent:instrumentation:spring-webflux-5:muzzle

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':dd-java-agent:instrumentation:spring-webflux-5'.
> Could not create task ':dd-java-agent:instrumentation:spring-webflux-5:muzzle-AssertPass-io.projectreactor.netty-reactor-netty-1.0.0-netty_0.8.0+_with_spring-webflux:5.1.0'.
   > The task name 'muzzle-AssertPass-io.projectreactor.netty-reactor-netty-1.0.0-netty_0.8.0+_with_spring-webflux:5.1.0' must not contain any of the following characters: [/, \, :, <, >, ", ?, *, |].

(This also fails for :dd-java-agent:instrumentation:spring-webflux-6:muzzle)

@mcculls
Copy link
Contributor

mcculls commented Sep 11, 2025

I also noticed that the ./gradlew printReferences task doesn't generate any output, only errors:

FAILURE: Build completed with 4 failures.

1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':dd-java-agent:instrumentation:apache-httpcore:printReferences'.
> Extension of type 'SourceSetContainer' does not exist. Currently registered extension types: [ExtraPropertiesExtension, DevelocityConfiguration, InstrumentExtension, MuzzleExtension, LibrariesForLibs, VersionCatalogsExtension]

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Get more help at https://help.gradle.org.
==============================================================================

2: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':dd-java-agent:instrumentation:armeria:printReferences'.
> Extension of type 'SourceSetContainer' does not exist. Currently registered extension types: [ExtraPropertiesExtension, DevelocityConfiguration, InstrumentExtension, MuzzleExtension, LibrariesForLibs, VersionCatalogsExtension]

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Get more help at https://help.gradle.org.
==============================================================================

3: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':dd-java-agent:instrumentation:couchbase:printReferences'.
> Extension of type 'SourceSetContainer' does not exist. Currently registered extension types: [ExtraPropertiesExtension, DevelocityConfiguration, InstrumentExtension, MuzzleExtension, LibrariesForLibs, VersionCatalogsExtension]

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Get more help at https://help.gradle.org.
==============================================================================

4: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':dd-java-agent:instrumentation:akka:printReferences'.
> Extension of type 'SourceSetContainer' does not exist. Currently registered extension types: [ExtraPropertiesExtension, DevelocityConfiguration, InstrumentExtension, MuzzleExtension, LibrariesForLibs, VersionCatalogsExtension]

Those projects are all intermediate modules which don't have any source sets/code - I suspect there's a check missing in the new plugin that should be skipping these projects.

@bric3 bric3 requested a review from a team as a code owner September 12, 2025 11:33
@bric3
Copy link
Contributor Author

bric3 commented Sep 12, 2025

@mcculls thank for catching those !

I'm not sure what made the build green in the first place.

  • 1st issue was due to Groovy adding a GStringImpl to a `List.
  • 2nd issue was an oversight from me used name instead of nameSlug
  • 3rd issue was also n oversight I only tested printReferences on specific projects, but empty non-java parent projects also had the muzzle plugin applied and this failed.

Copy link
Contributor

@mcculls mcculls left a comment

Choose a reason for hiding this comment

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

LGTM - thanks!

@bric3 bric3 enabled auto-merge (squash) September 12, 2025 12:24
@bric3 bric3 merged commit ac35950 into master Sep 12, 2025
505 checks passed
@bric3 bric3 deleted the bdu/convert-muzzle-to-kotlin branch September 12, 2025 12:32
@github-actions github-actions bot added this to the 1.54.0 milestone Sep 12, 2025
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants