Skip to content

Conversation

@sarahchen6
Copy link
Contributor

What Does This Do

Turn configure_tests.gradle file into a convention plugin. Make some lazy API improvements along the way as well.

Motivation

Improve our build with convention plugins and lazy API!

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@sarahchen6 sarahchen6 added type: enhancement Enhancements and improvements tag: no release notes Changes to exclude from release notes comp: tooling Build & Tooling labels Oct 24, 2025
@pr-commenter
Copy link

pr-commenter bot commented Oct 24, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master sarahchen6/configure-tests-convention-plugin
git_commit_date 1761596708 1761599387
git_commit_sha a632fe7 f654867
release_version 1.55.0-SNAPSHOT~a632fe70e1 1.55.0-SNAPSHOT~f654867f52
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1761602106 1761602106
ci_job_id 1200959456 1200959456
ci_pipeline_id 80436637 80436637
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-28tmtkp7 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-28tmtkp7 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 54 metrics, 11 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.55.0-SNAPSHOT~f654867f52, baseline=1.55.0-SNAPSHOT~a632fe70e1

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.027 s) : 0, 1026814
Total [baseline] (8.644 s) : 0, 8643720
Agent [candidate] (1.027 s) : 0, 1027251
Total [candidate] (8.684 s) : 0, 8684453
section iast
Agent [baseline] (1.166 s) : 0, 1165893
Total [baseline] (9.359 s) : 0, 9359281
Agent [candidate] (1.157 s) : 0, 1156606
Total [candidate] (9.329 s) : 0, 9328763
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.027 s -
Agent iast 1.166 s 139.08 ms (13.5%)
Total tracing 8.644 s -
Total iast 9.359 s 715.561 ms (8.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.027 s -
Agent iast 1.157 s 129.355 ms (12.6%)
Total tracing 8.684 s -
Total iast 9.329 s 644.309 ms (7.4%)
gantt
    title insecure-bank - break down per module: candidate=1.55.0-SNAPSHOT~f654867f52, baseline=1.55.0-SNAPSHOT~a632fe70e1

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.457 ms) : 0, 1457
crashtracking [candidate] (1.465 ms) : 0, 1465
BytebuddyAgent [baseline] (699.737 ms) : 0, 699737
BytebuddyAgent [candidate] (700.844 ms) : 0, 700844
GlobalTracer [baseline] (244.298 ms) : 0, 244298
GlobalTracer [candidate] (244.544 ms) : 0, 244544
AppSec [baseline] (32.244 ms) : 0, 32244
AppSec [candidate] (32.278 ms) : 0, 32278
Debugger [baseline] (6.378 ms) : 0, 6378
Debugger [candidate] (6.362 ms) : 0, 6362
Remote Config [baseline] (679.713 µs) : 0, 680
Remote Config [candidate] (675.394 µs) : 0, 675
Telemetry [baseline] (12.965 ms) : 0, 12965
Telemetry [candidate] (15.071 ms) : 0, 15071
Flare Poller [baseline] (8.035 ms) : 0, 8035
Flare Poller [candidate] (4.979 ms) : 0, 4979
section iast
crashtracking [baseline] (1.478 ms) : 0, 1478
crashtracking [candidate] (1.45 ms) : 0, 1450
BytebuddyAgent [baseline] (828.552 ms) : 0, 828552
BytebuddyAgent [candidate] (821.252 ms) : 0, 821252
GlobalTracer [baseline] (233.027 ms) : 0, 233027
GlobalTracer [candidate] (233.158 ms) : 0, 233158
AppSec [baseline] (29.267 ms) : 0, 29267
AppSec [candidate] (27.778 ms) : 0, 27778
Debugger [baseline] (6.177 ms) : 0, 6177
Debugger [candidate] (6.06 ms) : 0, 6060
Remote Config [baseline] (604.372 µs) : 0, 604
Remote Config [candidate] (591.751 µs) : 0, 592
Telemetry [baseline] (8.493 ms) : 0, 8493
Telemetry [candidate] (8.301 ms) : 0, 8301
Flare Poller [baseline] (4.186 ms) : 0, 4186
Flare Poller [candidate] (4.074 ms) : 0, 4074
IAST [baseline] (32.474 ms) : 0, 32474
IAST [candidate] (32.785 ms) : 0, 32785
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.55.0-SNAPSHOT~f654867f52, baseline=1.55.0-SNAPSHOT~a632fe70e1

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.026 s) : 0, 1026299
Total [baseline] (10.805 s) : 0, 10805338
Agent [candidate] (1.029 s) : 0, 1028965
Total [candidate] (10.801 s) : 0, 10801338
section appsec
Agent [baseline] (1.207 s) : 0, 1206987
Total [baseline] (10.912 s) : 0, 10912064
Agent [candidate] (1.199 s) : 0, 1198640
Total [candidate] (10.865 s) : 0, 10865421
section iast
Agent [baseline] (1.159 s) : 0, 1159266
Total [baseline] (11.114 s) : 0, 11113674
Agent [candidate] (1.169 s) : 0, 1168929
Total [candidate] (11.144 s) : 0, 11144256
section profiling
Agent [baseline] (1.172 s) : 0, 1171987
Total [baseline] (10.883 s) : 0, 10883293
Agent [candidate] (1.181 s) : 0, 1181401
Total [candidate] (10.972 s) : 0, 10971966
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.026 s -
Agent appsec 1.207 s 180.688 ms (17.6%)
Agent iast 1.159 s 132.966 ms (13.0%)
Agent profiling 1.172 s 145.688 ms (14.2%)
Total tracing 10.805 s -
Total appsec 10.912 s 106.726 ms (1.0%)
Total iast 11.114 s 308.336 ms (2.9%)
Total profiling 10.883 s 77.955 ms (0.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.029 s -
Agent appsec 1.199 s 169.675 ms (16.5%)
Agent iast 1.169 s 139.963 ms (13.6%)
Agent profiling 1.181 s 152.436 ms (14.8%)
Total tracing 10.801 s -
Total appsec 10.865 s 64.083 ms (0.6%)
Total iast 11.144 s 342.918 ms (3.2%)
Total profiling 10.972 s 170.628 ms (1.6%)
gantt
    title petclinic - break down per module: candidate=1.55.0-SNAPSHOT~f654867f52, baseline=1.55.0-SNAPSHOT~a632fe70e1

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.451 ms) : 0, 1451
crashtracking [candidate] (1.449 ms) : 0, 1449
BytebuddyAgent [baseline] (699.963 ms) : 0, 699963
BytebuddyAgent [candidate] (701.696 ms) : 0, 701696
GlobalTracer [baseline] (243.898 ms) : 0, 243898
GlobalTracer [candidate] (244.333 ms) : 0, 244333
AppSec [baseline] (32.104 ms) : 0, 32104
AppSec [candidate] (32.403 ms) : 0, 32403
Debugger [baseline] (6.309 ms) : 0, 6309
Debugger [candidate] (6.386 ms) : 0, 6386
Remote Config [baseline] (678.284 µs) : 0, 678
Remote Config [candidate] (674.696 µs) : 0, 675
Telemetry [baseline] (13.725 ms) : 0, 13725
Telemetry [candidate] (15.196 ms) : 0, 15196
Flare Poller [baseline] (7.086 ms) : 0, 7086
Flare Poller [candidate] (5.706 ms) : 0, 5706
section appsec
crashtracking [baseline] (1.467 ms) : 0, 1467
crashtracking [candidate] (1.459 ms) : 0, 1459
BytebuddyAgent [baseline] (729.107 ms) : 0, 729107
BytebuddyAgent [candidate] (723.147 ms) : 0, 723147
GlobalTracer [baseline] (236.844 ms) : 0, 236844
GlobalTracer [candidate] (235.262 ms) : 0, 235262
AppSec [baseline] (174.45 ms) : 0, 174450
AppSec [candidate] (173.82 ms) : 0, 173820
Debugger [baseline] (5.903 ms) : 0, 5903
Debugger [candidate] (5.935 ms) : 0, 5935
Remote Config [baseline] (624.545 µs) : 0, 625
Remote Config [candidate] (612.194 µs) : 0, 612
Telemetry [baseline] (8.441 ms) : 0, 8441
Telemetry [candidate] (8.419 ms) : 0, 8419
Flare Poller [baseline] (3.867 ms) : 0, 3867
Flare Poller [candidate] (3.89 ms) : 0, 3890
IAST [baseline] (25.087 ms) : 0, 25087
IAST [candidate] (25.025 ms) : 0, 25025
section iast
crashtracking [baseline] (1.461 ms) : 0, 1461
crashtracking [candidate] (1.461 ms) : 0, 1461
BytebuddyAgent [baseline] (821.606 ms) : 0, 821606
BytebuddyAgent [candidate] (829.825 ms) : 0, 829825
GlobalTracer [baseline] (233.569 ms) : 0, 233569
GlobalTracer [candidate] (234.765 ms) : 0, 234765
AppSec [baseline] (32.538 ms) : 0, 32538
AppSec [candidate] (29.919 ms) : 0, 29919
Debugger [baseline] (6.111 ms) : 0, 6111
Debugger [candidate] (6.13 ms) : 0, 6130
Remote Config [baseline] (594.86 µs) : 0, 595
Remote Config [candidate] (596.546 µs) : 0, 597
Telemetry [baseline] (8.599 ms) : 0, 8599
Telemetry [candidate] (8.538 ms) : 0, 8538
Flare Poller [baseline] (4.27 ms) : 0, 4270
Flare Poller [candidate] (4.258 ms) : 0, 4258
IAST [baseline] (29.194 ms) : 0, 29194
IAST [candidate] (32.022 ms) : 0, 32022
section profiling
crashtracking [baseline] (1.46 ms) : 0, 1460
crashtracking [candidate] (1.483 ms) : 0, 1483
BytebuddyAgent [baseline] (725.864 ms) : 0, 725864
BytebuddyAgent [candidate] (731.898 ms) : 0, 731898
GlobalTracer [baseline] (220.242 ms) : 0, 220242
GlobalTracer [candidate] (221.647 ms) : 0, 221647
AppSec [baseline] (32.314 ms) : 0, 32314
AppSec [candidate] (32.649 ms) : 0, 32649
Debugger [baseline] (11.389 ms) : 0, 11389
Debugger [candidate] (13.066 ms) : 0, 13066
Remote Config [baseline] (732.386 µs) : 0, 732
Remote Config [candidate] (703.685 µs) : 0, 704
Telemetry [baseline] (11.228 ms) : 0, 11228
Telemetry [candidate] (9.864 ms) : 0, 9864
Flare Poller [baseline] (4.174 ms) : 0, 4174
Flare Poller [candidate] (4.167 ms) : 0, 4167
ProfilingAgent [baseline] (109.249 ms) : 0, 109249
ProfilingAgent [candidate] (110.289 ms) : 0, 110289
Profiling [baseline] (109.876 ms) : 0, 109876
Profiling [candidate] (110.921 ms) : 0, 110921
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master sarahchen6/configure-tests-convention-plugin
git_commit_date 1761596708 1761599387
git_commit_sha a632fe7 f654867
release_version 1.55.0-SNAPSHOT~a632fe70e1 1.55.0-SNAPSHOT~f654867f52
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1761601773 1761601773
ci_job_id 1200959457 1200959457
ci_pipeline_id 80436637 80436637
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-dpygw1b0 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-dpygw1b0 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 1 performance improvements and 1 performance regressions! Performance is the same for 10 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_GLOBAL:high_load better
[-1185.941µs; -754.650µs] or [-10.460%; -6.656%]
unstable
[-13.829op/s; +89.954op/s] or [-3.371%; +21.927%]
10.368ms 448.312op/s 11.338ms 410.250op/s
scenario:load:petclinic:tracing:high_load worse
[+0.994ms; +1.787ms] or [+2.320%; +4.169%]
unstable
[-11.090op/s; +4.140op/s] or [-10.158%; +3.793%]
44.265ms 105.700op/s 42.874ms 109.175op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~f654867f52, baseline=1.55.0-SNAPSHOT~a632fe70e1
    dateFormat X
    axisFormat %s
section baseline
no_agent (4.314 ms) : 4262, 4365
.   : milestone, 4314,
iast (9.466 ms) : 9308, 9625
.   : milestone, 9466,
iast_FULL (14.503 ms) : 14213, 14793
.   : milestone, 14503,
iast_GLOBAL (11.338 ms) : 11131, 11545
.   : milestone, 11338,
profiling (8.771 ms) : 8632, 8910
.   : milestone, 8771,
tracing (8.024 ms) : 7901, 8147
.   : milestone, 8024,
section candidate
no_agent (4.225 ms) : 4172, 4277
.   : milestone, 4225,
iast (9.48 ms) : 9320, 9640
.   : milestone, 9480,
iast_FULL (14.249 ms) : 13967, 14530
.   : milestone, 14249,
iast_GLOBAL (10.368 ms) : 10174, 10561
.   : milestone, 10368,
profiling (8.964 ms) : 8824, 9105
.   : milestone, 8964,
tracing (7.772 ms) : 7662, 7882
.   : milestone, 7772,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.314 ms [4.262 ms, 4.365 ms] -
iast 9.466 ms [9.308 ms, 9.625 ms] 5.153 ms (119.5%)
iast_FULL 14.503 ms [14.213 ms, 14.793 ms] 10.189 ms (236.2%)
iast_GLOBAL 11.338 ms [11.131 ms, 11.545 ms] 7.024 ms (162.8%)
profiling 8.771 ms [8.632 ms, 8.91 ms] 4.457 ms (103.3%)
tracing 8.024 ms [7.901 ms, 8.147 ms] 3.71 ms (86.0%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 4.225 ms [4.172 ms, 4.277 ms] -
iast 9.48 ms [9.32 ms, 9.64 ms] 5.255 ms (124.4%)
iast_FULL 14.249 ms [13.967 ms, 14.53 ms] 10.024 ms (237.3%)
iast_GLOBAL 10.368 ms [10.174 ms, 10.561 ms] 6.143 ms (145.4%)
profiling 8.964 ms [8.824 ms, 9.105 ms] 4.74 ms (112.2%)
tracing 7.772 ms [7.662 ms, 7.882 ms] 3.547 ms (84.0%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.55.0-SNAPSHOT~f654867f52, baseline=1.55.0-SNAPSHOT~a632fe70e1
    dateFormat X
    axisFormat %s
section baseline
no_agent (36.676 ms) : 36375, 36976
.   : milestone, 36676,
appsec (47.652 ms) : 47233, 48071
.   : milestone, 47652,
code_origins (43.751 ms) : 43374, 44128
.   : milestone, 43751,
iast (44.443 ms) : 44064, 44822
.   : milestone, 44443,
profiling (48.957 ms) : 48465, 49449
.   : milestone, 48957,
tracing (42.874 ms) : 42507, 43242
.   : milestone, 42874,
section candidate
no_agent (37.492 ms) : 37190, 37795
.   : milestone, 37492,
appsec (47.29 ms) : 46864, 47716
.   : milestone, 47290,
code_origins (44.154 ms) : 43772, 44535
.   : milestone, 44154,
iast (44.418 ms) : 44037, 44799
.   : milestone, 44418,
profiling (49.821 ms) : 49340, 50302
.   : milestone, 49821,
tracing (44.265 ms) : 43896, 44635
.   : milestone, 44265,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 36.676 ms [36.375 ms, 36.976 ms] -
appsec 47.652 ms [47.233 ms, 48.071 ms] 10.977 ms (29.9%)
code_origins 43.751 ms [43.374 ms, 44.128 ms] 7.075 ms (19.3%)
iast 44.443 ms [44.064 ms, 44.822 ms] 7.767 ms (21.2%)
profiling 48.957 ms [48.465 ms, 49.449 ms] 12.281 ms (33.5%)
tracing 42.874 ms [42.507 ms, 43.242 ms] 6.199 ms (16.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 37.492 ms [37.19 ms, 37.795 ms] -
appsec 47.29 ms [46.864 ms, 47.716 ms] 9.798 ms (26.1%)
code_origins 44.154 ms [43.772 ms, 44.535 ms] 6.661 ms (17.8%)
iast 44.418 ms [44.037 ms, 44.799 ms] 6.926 ms (18.5%)
profiling 49.821 ms [49.34 ms, 50.302 ms] 12.329 ms (32.9%)
tracing 44.265 ms [43.896 ms, 44.635 ms] 6.773 ms (18.1%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master sarahchen6/configure-tests-convention-plugin
git_commit_date 1761596708 1761599387
git_commit_sha a632fe7 f654867
release_version 1.55.0-SNAPSHOT~a632fe70e1 1.55.0-SNAPSHOT~f654867f52
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1761602351 1761602351
ci_job_id 1200959458 1200959458
ci_pipeline_id 80436637 80436637
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-7bvfeh6y 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-7bvfeh6y 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 11 metrics, 1 unstable metrics.

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~f654867f52, baseline=1.55.0-SNAPSHOT~a632fe70e1
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.474 ms) : 1463, 1486
.   : milestone, 1474,
appsec (2.459 ms) : 2407, 2510
.   : milestone, 2459,
iast (2.217 ms) : 2153, 2281
.   : milestone, 2217,
iast_GLOBAL (2.246 ms) : 2183, 2310
.   : milestone, 2246,
profiling (2.069 ms) : 2016, 2122
.   : milestone, 2069,
tracing (2.015 ms) : 1966, 2065
.   : milestone, 2015,
section candidate
no_agent (1.475 ms) : 1464, 1487
.   : milestone, 1475,
appsec (3.635 ms) : 3422, 3847
.   : milestone, 3635,
iast (2.21 ms) : 2146, 2274
.   : milestone, 2210,
iast_GLOBAL (2.251 ms) : 2187, 2315
.   : milestone, 2251,
profiling (2.058 ms) : 2007, 2110
.   : milestone, 2058,
tracing (2.035 ms) : 1985, 2086
.   : milestone, 2035,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.474 ms [1.463 ms, 1.486 ms] -
appsec 2.459 ms [2.407 ms, 2.51 ms] 984.298 µs (66.8%)
iast 2.217 ms [2.153 ms, 2.281 ms] 742.727 µs (50.4%)
iast_GLOBAL 2.246 ms [2.183 ms, 2.31 ms] 772.158 µs (52.4%)
profiling 2.069 ms [2.016 ms, 2.122 ms] 594.465 µs (40.3%)
tracing 2.015 ms [1.966 ms, 2.065 ms] 541.052 µs (36.7%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.475 ms [1.464 ms, 1.487 ms] -
appsec 3.635 ms [3.422 ms, 3.847 ms] 2.159 ms (146.3%)
iast 2.21 ms [2.146 ms, 2.274 ms] 734.223 µs (49.8%)
iast_GLOBAL 2.251 ms [2.187 ms, 2.315 ms] 775.271 µs (52.5%)
profiling 2.058 ms [2.007 ms, 2.11 ms] 582.631 µs (39.5%)
tracing 2.035 ms [1.985 ms, 2.086 ms] 559.896 µs (37.9%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.55.0-SNAPSHOT~f654867f52, baseline=1.55.0-SNAPSHOT~a632fe70e1
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.907 s) : 14907000, 14907000
.   : milestone, 14907000,
appsec (15.106 s) : 15106000, 15106000
.   : milestone, 15106000,
iast (18.746 s) : 18746000, 18746000
.   : milestone, 18746000,
iast_GLOBAL (18.029 s) : 18029000, 18029000
.   : milestone, 18029000,
profiling (15.001 s) : 15001000, 15001000
.   : milestone, 15001000,
tracing (15.178 s) : 15178000, 15178000
.   : milestone, 15178000,
section candidate
no_agent (14.793 s) : 14793000, 14793000
.   : milestone, 14793000,
appsec (15.013 s) : 15013000, 15013000
.   : milestone, 15013000,
iast (18.535 s) : 18535000, 18535000
.   : milestone, 18535000,
iast_GLOBAL (18.356 s) : 18356000, 18356000
.   : milestone, 18356000,
profiling (14.788 s) : 14788000, 14788000
.   : milestone, 14788000,
tracing (15.024 s) : 15024000, 15024000
.   : milestone, 15024000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.907 s [14.907 s, 14.907 s] -
appsec 15.106 s [15.106 s, 15.106 s] 199.0 ms (1.3%)
iast 18.746 s [18.746 s, 18.746 s] 3.839 s (25.8%)
iast_GLOBAL 18.029 s [18.029 s, 18.029 s] 3.122 s (20.9%)
profiling 15.001 s [15.001 s, 15.001 s] 94.0 ms (0.6%)
tracing 15.178 s [15.178 s, 15.178 s] 271.0 ms (1.8%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.793 s [14.793 s, 14.793 s] -
appsec 15.013 s [15.013 s, 15.013 s] 220.0 ms (1.5%)
iast 18.535 s [18.535 s, 18.535 s] 3.742 s (25.3%)
iast_GLOBAL 18.356 s [18.356 s, 18.356 s] 3.563 s (24.1%)
profiling 14.788 s [14.788 s, 14.788 s] -5.0 ms (-0.0%)
tracing 15.024 s [15.024 s, 15.024 s] 231.0 ms (1.6%)

@datadog-datadog-prod-us1
Copy link
Contributor

datadog-datadog-prod-us1 bot commented Oct 24, 2025

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

View detailed report

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

@pr-commenter
Copy link

pr-commenter bot commented Oct 24, 2025

Kafka / producer-benchmark

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master sarahchen6/configure-tests-convention-plugin
git_commit_date 1761575617 1761599387
git_commit_sha 45b8e15 f654867
See matching parameters
Baseline Candidate
ci_job_date 1761601421 1761601421
ci_job_id 1200959461 1200959461
ci_pipeline_id 80436637 80436637
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
jdkVersion 11.0.25 11.0.25
jmhVersion 1.36 1.36
jvm /usr/lib/jvm/java-11-openjdk-amd64/bin/java /usr/lib/jvm/java-11-openjdk-amd64/bin/java
jvmArgs -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/go/src/github.com/DataDog/apm-reliability/dd-trace-java/platform/src/producer-benchmark/build/tmp/jmh -Duser.country=US -Duser.language=en -Duser.variant -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/go/src/github.com/DataDog/apm-reliability/dd-trace-java/platform/src/producer-benchmark/build/tmp/jmh -Duser.country=US -Duser.language=en -Duser.variant
vmName OpenJDK 64-Bit Server VM OpenJDK 64-Bit Server VM
vmVersion 11.0.25+9-post-Ubuntu-1ubuntu122.04 11.0.25+9-post-Ubuntu-1ubuntu122.04

Summary

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

See unchanged results
scenario Δ mean throughput
scenario:not-instrumented/KafkaProduceBenchmark.benchProduce unsure
[-33105.821op/s; -6116.116op/s] or [-1.824%; -0.337%]
scenario:only-tracing-dsm-disabled-benchmarks/KafkaProduceBenchmark.benchProduce same
scenario:only-tracing-dsm-enabled-benchmarks/KafkaProduceBenchmark.benchProduce same

@pr-commenter
Copy link

pr-commenter bot commented Oct 24, 2025

Kafka / consumer-benchmark

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master sarahchen6/configure-tests-convention-plugin
git_commit_date 1761575617 1761599387
git_commit_sha 45b8e15 f654867
See matching parameters
Baseline Candidate
ci_job_date 1761601460 1761601460
ci_job_id 1200959462 1200959462
ci_pipeline_id 80436637 80436637
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
jdkVersion 11.0.25 11.0.25
jmhVersion 1.36 1.36
jvm /usr/lib/jvm/java-11-openjdk-amd64/bin/java /usr/lib/jvm/java-11-openjdk-amd64/bin/java
jvmArgs -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/go/src/github.com/DataDog/apm-reliability/dd-trace-java/platform/src/consumer-benchmark/build/tmp/jmh -Duser.country=US -Duser.language=en -Duser.variant -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/go/src/github.com/DataDog/apm-reliability/dd-trace-java/platform/src/consumer-benchmark/build/tmp/jmh -Duser.country=US -Duser.language=en -Duser.variant
vmName OpenJDK 64-Bit Server VM OpenJDK 64-Bit Server VM
vmVersion 11.0.25+9-post-Ubuntu-1ubuntu122.04 11.0.25+9-post-Ubuntu-1ubuntu122.04

Summary

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

See unchanged results
scenario Δ mean throughput
scenario:not-instrumented/KafkaConsumerBenchmark.benchConsume unsure
[-12211.118op/s; -2924.770op/s] or [-4.081%; -0.977%]
scenario:only-tracing-dsm-disabled-benchmarks/KafkaConsumerBenchmark.benchConsume unsure
[+620.577op/s; +12900.972op/s] or [+0.204%; +4.234%]
scenario:only-tracing-dsm-enabled-benchmarks/KafkaConsumerBenchmark.benchConsume same


apply from: "$rootDir/gradle/configure_tests.gradle"

tasks.named("latestDepTest", Test) {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

These files should already be applying this plugin via gradle/java_no_deps.gradle.

Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks for the cleanup !

// maxRetries = 3
// }
// }
// }
Copy link
Contributor Author

@sarahchen6 sarahchen6 Oct 27, 2025

Choose a reason for hiding this comment

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

I'm not sure how to convert this part to Kotlin... Any help or recommendations would be appreciated!

Since CI is passing, I wonder if we can remove this section, but perhaps these CI runs did not need to leverage test retries whereas other runs will need to.

Copy link
Contributor

Choose a reason for hiding this comment

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

This should be kept, the issue is likely to be that you need to acces the develocity types. Usually this involves referring to the plugin without applying it. But since this is develocity, I'm not sure.

@sarahchen6 sarahchen6 force-pushed the sarahchen6/configure-tests-convention-plugin branch from 24e44ed to be41722 Compare October 27, 2025 14:36
@sarahchen6 sarahchen6 marked this pull request as ready for review October 27, 2025 16:44
@sarahchen6 sarahchen6 requested review from a team as code owners October 27, 2025 16:44
Comment on lines 100 to 118
tasks.register("allTests") {
dependsOn(providers.provider {
tasks.withType<Test>().filter { testTask ->
!testTask.name.contains("latest", ignoreCase = true) && testTask.name != "traceAgentTest"
}
})
}

tasks.register("allLatestDepTests") {
dependsOn(providers.provider {
tasks.withType<Test>().filter { testTask ->
testTask.name.contains("latest", ignoreCase = true)
}
})
}

tasks.named("check") {
dependsOn(tasks.withType<Test>())
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Would be cool to comment each register block for future refernce

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Like this: afa8ed9?

Comment on lines +10 to +28
fun isTestingInstrumentation(project: Project): Boolean {
return listOf(
"cucumber",
"cucumber-junit-4",
"cucumber-junit-5",
"junit-4.10",
"junit-4.13",
"junit-5.3",
"junit-5.8",
"karate",
"munit-junit-4",
"scalatest",
"selenium",
"spock-junit-5",
"testng-6",
"testng-7",
"weaver"
).contains(project.name)
}
Copy link
Contributor

Choose a reason for hiding this comment

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

thought: I would rather avoid having existing project in a convention plugin. Anything in buildSrc shouldn't be aware of dd-trace-java project, but some projects could provide answer to this plugin. E.g. with an project or task extension (...thinking out loudly).

Note, it was there before. But since the goal is to make it a convention plugin, I think this should be tackled sooner in this case.

Comment on lines +51 to +57
val activePartitionProvider = providers.provider {
project.extra.properties["activePartition"] as? Boolean ?: true
}

// Go through the Test tasks and configure them
tasks.withType(Test::class.java).configureEach {
enabled = activePartitionProvider.get()
Copy link
Contributor

Choose a reason for hiding this comment

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

thought: I wonder if this "trait" or "feature" should be moved over the ci convention plugin ?

// maxRetries = 3
// }
// }
// }
Copy link
Contributor

Choose a reason for hiding this comment

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

This should be kept, the issue is likely to be that you need to acces the develocity types. Usually this involves referring to the plugin without applying it. But since this is develocity, I'm not sure.


apply from: "$rootDir/gradle/configure_tests.gradle"

tasks.named("latestDepTest", Test) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks for the cleanup !

}

apply from: "$rootDir/gradle/configure_tests.gradle"
apply plugin: 'datadog.configure-tests'
Copy link
Contributor

Choose a reason for hiding this comment

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

suggestion: Does it still work when it's moved at the top ?

Comment on lines +47 to +53
val skipTestsProvider = rootProject.providers.gradleProperty("skipTests")
val skipForkedTestsProvider = rootProject.providers.gradleProperty("skipForkedTests")
val skipFlakyTestsProvider = rootProject.providers.gradleProperty("skipFlakyTests")
val runFlakyTestsProvider = rootProject.providers.gradleProperty("runFlakyTests")
val activePartitionProvider = providers.provider {
project.extra.properties["activePartition"] as? Boolean ?: true
}
Copy link
Contributor

Choose a reason for hiding this comment

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

note: Maybe, these could end-up in the extension I mentioned earlier. I'm kind if undecided there.

Comment on lines +105 to +109
dependsOn(providers.provider {
tasks.withType<Test>().filter { testTask ->
!testTask.name.contains("latest", ignoreCase = true) && testTask.name != "traceAgentTest"
}
})
Copy link
Contributor

Choose a reason for hiding this comment

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

suggestion: I think the provider is not needed there, but filter here is a faux-ami in this case as it works against the collection (which means the tasks have to be "realized"). Instead to filter lazily a TaskCollection (and any gradle *DomainObject*), the matching method is more adapted to the situation.

Suggested change
dependsOn(providers.provider {
tasks.withType<Test>().filter { testTask ->
!testTask.name.contains("latest", ignoreCase = true) && testTask.name != "traceAgentTest"
}
})
dependsOn(tasks.withType<Test>().matching { testTask ->
!testTask.name.contains("latest", ignoreCase = true) && testTask.name != "traceAgentTest"
})

// Register a task "allLatestDepTests" that depends on all Test tasks whose names include 'latest'.
// This is used when we want to run tests against the latest dependency versions.
tasks.register("allLatestDepTests") {
dependsOn(providers.provider {
Copy link
Contributor

Choose a reason for hiding this comment

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

suggestion: same as above.

dependsOn(tasks.withType<Test>())
}

tasks.withType(Test::class.java).configureEach {
Copy link
Contributor

Choose a reason for hiding this comment

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

nitpick:

Suggested change
tasks.withType(Test::class.java).configureEach {
tasks.withType<Test>().configureEach {

}

// Go through the Test tasks and configure them
tasks.withType(Test::class.java).configureEach {
Copy link
Contributor

Choose a reason for hiding this comment

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

nitpick:

Suggested change
tasks.withType(Test::class.java).configureEach {
tasks.withType<Test>().configureEach {

@bric3
Copy link
Contributor

bric3 commented Oct 28, 2025

Cool, I have been eying to convert this script.

Looking further down the road, I believe this could be split in two, as some tests config might only make sense for integrations, not so much for other components.

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.

4 participants