Skip to content

Conversation

@manuel-alvarez-alvarez
Copy link
Member

@manuel-alvarez-alvarez manuel-alvarez-alvarez commented Nov 26, 2025

What Does This Do

Marks the AppSecActivationSmokeTest as flaky in oracle8
Added support for using closures in @Flaky annotations, alongside Predicate implementations, to simplify flaky-test filtering.

Motivation

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@manuel-alvarez-alvarez manuel-alvarez-alvarez requested a review from a team as a code owner November 26, 2025 14:49
@manuel-alvarez-alvarez manuel-alvarez-alvarez added the tag: no release notes Changes to exclude from release notes label Nov 26, 2025
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.

LGTM in general, left minor comment.
Maybe we do not need this new class and can use methods from JavaVirtualMachine ?

@manuel-alvarez-alvarez
Copy link
Member Author

manuel-alvarez-alvarez commented Nov 26, 2025

LGTM in general, left minor comment. Maybe we do not need this new class and can use methods from JavaVirtualMachine ?

Flaky test management is built in Java so we don't have access to groovy stuff in there (the condition just points to a class that implements Predicate), we could migrate it to groovy and use Closure there.

@pr-commenter
Copy link

pr-commenter bot commented Nov 26, 2025

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master malvarez/appsec-activation-flaky-oracle8
git_commit_date 1764194987 1764239768
git_commit_sha 912bdde c34ff34
release_version 1.57.0-SNAPSHOT~912bddeb5e 1.57.0-SNAPSHOT~c34ff34e6c
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1764241793 1764241793
ci_job_id 1260044058 1260044058
ci_pipeline_id 84228997 84228997
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-t27a4sr3 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-t27a4sr3 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 1 performance improvements and 0 performance regressions! Performance is the same for 56 metrics, 8 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:insecure-bank:iast:Remote Config better
[-53.553µs; -13.182µs] or [-8.466%; -2.084%]
599.227µs 632.594µs
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.57.0-SNAPSHOT~c34ff34e6c, baseline=1.57.0-SNAPSHOT~912bddeb5e

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.064 s) : 0, 1064193
Total [baseline] (8.744 s) : 0, 8744187
Agent [candidate] (1.058 s) : 0, 1058438
Total [candidate] (8.682 s) : 0, 8682218
section iast
Agent [baseline] (1.197 s) : 0, 1196955
Total [baseline] (9.333 s) : 0, 9332828
Agent [candidate] (1.192 s) : 0, 1191992
Total [candidate] (9.31 s) : 0, 9309781
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.064 s -
Agent iast 1.197 s 132.762 ms (12.5%)
Total tracing 8.744 s -
Total iast 9.333 s 588.641 ms (6.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.058 s -
Agent iast 1.192 s 133.555 ms (12.6%)
Total tracing 8.682 s -
Total iast 9.31 s 627.563 ms (7.2%)
gantt
    title insecure-bank - break down per module: candidate=1.57.0-SNAPSHOT~c34ff34e6c, baseline=1.57.0-SNAPSHOT~912bddeb5e

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.498 ms) : 0, 1498
crashtracking [candidate] (1.504 ms) : 0, 1504
BytebuddyAgent [baseline] (716.536 ms) : 0, 716536
BytebuddyAgent [candidate] (711.812 ms) : 0, 711812
GlobalTracer [baseline] (251.129 ms) : 0, 251129
GlobalTracer [candidate] (249.921 ms) : 0, 249921
AppSec [baseline] (32.255 ms) : 0, 32255
AppSec [candidate] (32.328 ms) : 0, 32328
Debugger [baseline] (6.463 ms) : 0, 6463
Debugger [candidate] (6.412 ms) : 0, 6412
Remote Config [baseline] (684.783 µs) : 0, 685
Remote Config [candidate] (680.673 µs) : 0, 681
Telemetry [baseline] (16.403 ms) : 0, 16403
Telemetry [candidate] (15.842 ms) : 0, 15842
Flare Poller [baseline] (4.09 ms) : 0, 4090
Flare Poller [candidate] (4.941 ms) : 0, 4941
section iast
crashtracking [baseline] (1.507 ms) : 0, 1507
crashtracking [candidate] (1.49 ms) : 0, 1490
BytebuddyAgent [baseline] (833.701 ms) : 0, 833701
BytebuddyAgent [candidate] (831.205 ms) : 0, 831205
GlobalTracer [baseline] (239.218 ms) : 0, 239218
GlobalTracer [candidate] (237.997 ms) : 0, 237997
AppSec [baseline] (30.855 ms) : 0, 30855
AppSec [candidate] (28.508 ms) : 0, 28508
Debugger [baseline] (6.108 ms) : 0, 6108
Debugger [candidate] (6.009 ms) : 0, 6009
Remote Config [baseline] (632.594 µs) : 0, 633
Remote Config [candidate] (599.227 µs) : 0, 599
Telemetry [baseline] (8.022 ms) : 0, 8022
Telemetry [candidate] (7.865 ms) : 0, 7865
Flare Poller [baseline] (10.881 ms) : 0, 10881
Flare Poller [candidate] (10.756 ms) : 0, 10756
IAST [baseline] (30.968 ms) : 0, 30968
IAST [candidate] (32.721 ms) : 0, 32721
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.57.0-SNAPSHOT~c34ff34e6c, baseline=1.57.0-SNAPSHOT~912bddeb5e

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.056 s) : 0, 1055510
Total [baseline] (10.871 s) : 0, 10871441
Agent [candidate] (1.059 s) : 0, 1059316
Total [candidate] (10.718 s) : 0, 10718099
section appsec
Agent [baseline] (1.231 s) : 0, 1231019
Total [baseline] (10.924 s) : 0, 10924292
Agent [candidate] (1.234 s) : 0, 1233933
Total [candidate] (10.904 s) : 0, 10903923
section iast
Agent [baseline] (1.206 s) : 0, 1206109
Total [baseline] (11.114 s) : 0, 11113705
Agent [candidate] (1.196 s) : 0, 1195931
Total [candidate] (11.123 s) : 0, 11123488
section profiling
Agent [baseline] (1.199 s) : 0, 1198966
Total [baseline] (10.818 s) : 0, 10818203
Agent [candidate] (1.202 s) : 0, 1201826
Total [candidate] (10.847 s) : 0, 10846766
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.056 s -
Agent appsec 1.231 s 175.509 ms (16.6%)
Agent iast 1.206 s 150.599 ms (14.3%)
Agent profiling 1.199 s 143.456 ms (13.6%)
Total tracing 10.871 s -
Total appsec 10.924 s 52.851 ms (0.5%)
Total iast 11.114 s 242.264 ms (2.2%)
Total profiling 10.818 s -53.238 ms (-0.5%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.059 s -
Agent appsec 1.234 s 174.617 ms (16.5%)
Agent iast 1.196 s 136.615 ms (12.9%)
Agent profiling 1.202 s 142.51 ms (13.5%)
Total tracing 10.718 s -
Total appsec 10.904 s 185.824 ms (1.7%)
Total iast 11.123 s 405.389 ms (3.8%)
Total profiling 10.847 s 128.667 ms (1.2%)
gantt
    title petclinic - break down per module: candidate=1.57.0-SNAPSHOT~c34ff34e6c, baseline=1.57.0-SNAPSHOT~912bddeb5e

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.499 ms) : 0, 1499
crashtracking [candidate] (1.493 ms) : 0, 1493
BytebuddyAgent [baseline] (709.571 ms) : 0, 709571
BytebuddyAgent [candidate] (713.303 ms) : 0, 713303
GlobalTracer [baseline] (249.938 ms) : 0, 249938
GlobalTracer [candidate] (250.375 ms) : 0, 250375
AppSec [baseline] (32.17 ms) : 0, 32170
AppSec [candidate] (31.85 ms) : 0, 31850
Debugger [baseline] (6.405 ms) : 0, 6405
Debugger [candidate] (6.401 ms) : 0, 6401
Remote Config [baseline] (678.008 µs) : 0, 678
Remote Config [candidate] (669.089 µs) : 0, 669
Telemetry [baseline] (15.499 ms) : 0, 15499
Telemetry [candidate] (15.357 ms) : 0, 15357
Flare Poller [baseline] (4.879 ms) : 0, 4879
Flare Poller [candidate] (4.877 ms) : 0, 4877
section appsec
crashtracking [baseline] (1.488 ms) : 0, 1488
crashtracking [candidate] (1.5 ms) : 0, 1500
BytebuddyAgent [baseline] (734.075 ms) : 0, 734075
BytebuddyAgent [candidate] (736.741 ms) : 0, 736741
GlobalTracer [baseline] (241.353 ms) : 0, 241353
GlobalTracer [candidate] (241.396 ms) : 0, 241396
IAST [baseline] (24.878 ms) : 0, 24878
IAST [candidate] (24.727 ms) : 0, 24727
AppSec [baseline] (175.109 ms) : 0, 175109
AppSec [candidate] (175.174 ms) : 0, 175174
Debugger [baseline] (6.279 ms) : 0, 6279
Debugger [candidate] (6.313 ms) : 0, 6313
Remote Config [baseline] (692.778 µs) : 0, 693
Remote Config [candidate] (697.615 µs) : 0, 698
Telemetry [baseline] (8.11 ms) : 0, 8110
Telemetry [candidate] (8.17 ms) : 0, 8170
Flare Poller [baseline] (3.998 ms) : 0, 3998
Flare Poller [candidate] (4.024 ms) : 0, 4024
section iast
crashtracking [baseline] (1.52 ms) : 0, 1520
crashtracking [candidate] (1.482 ms) : 0, 1482
BytebuddyAgent [baseline] (842.104 ms) : 0, 842104
BytebuddyAgent [candidate] (834.208 ms) : 0, 834208
GlobalTracer [baseline] (239.348 ms) : 0, 239348
GlobalTracer [candidate] (238.637 ms) : 0, 238637
IAST [baseline] (31.608 ms) : 0, 31608
IAST [candidate] (34.583 ms) : 0, 34583
AppSec [baseline] (30.712 ms) : 0, 30712
AppSec [candidate] (26.94 ms) : 0, 26940
Debugger [baseline] (6.147 ms) : 0, 6147
Debugger [candidate] (6.044 ms) : 0, 6044
Remote Config [baseline] (620.601 µs) : 0, 621
Remote Config [candidate] (608.332 µs) : 0, 608
Telemetry [baseline] (8.139 ms) : 0, 8139
Telemetry [candidate] (7.875 ms) : 0, 7875
Flare Poller [baseline] (10.77 ms) : 0, 10770
Flare Poller [candidate] (10.702 ms) : 0, 10702
section profiling
crashtracking [baseline] (1.444 ms) : 0, 1444
crashtracking [candidate] (1.442 ms) : 0, 1442
BytebuddyAgent [baseline] (733.584 ms) : 0, 733584
BytebuddyAgent [candidate] (735.666 ms) : 0, 735666
GlobalTracer [baseline] (222.894 ms) : 0, 222894
GlobalTracer [candidate] (223.096 ms) : 0, 223096
AppSec [baseline] (32.003 ms) : 0, 32003
AppSec [candidate] (32.023 ms) : 0, 32023
Debugger [baseline] (6.821 ms) : 0, 6821
Debugger [candidate] (6.828 ms) : 0, 6828
Remote Config [baseline] (688.682 µs) : 0, 689
Remote Config [candidate] (688.976 µs) : 0, 689
Telemetry [baseline] (16.457 ms) : 0, 16457
Telemetry [candidate] (16.694 ms) : 0, 16694
Flare Poller [baseline] (4.144 ms) : 0, 4144
Flare Poller [candidate] (4.187 ms) : 0, 4187
ProfilingAgent [baseline] (111.644 ms) : 0, 111644
ProfilingAgent [candidate] (111.808 ms) : 0, 111808
Profiling [baseline] (112.304 ms) : 0, 112304
Profiling [candidate] (112.443 ms) : 0, 112443
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master malvarez/appsec-activation-flaky-oracle8
git_commit_date 1764194987 1764239768
git_commit_sha 912bdde c34ff34
release_version 1.57.0-SNAPSHOT~912bddeb5e 1.57.0-SNAPSHOT~c34ff34e6c
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1764242292 1764242292
ci_job_id 1260044059 1260044059
ci_pipeline_id 84228997 84228997
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-x1dnjsfb 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-x1dnjsfb 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 2 performance regressions! Performance is the same for 17 metrics, 17 unstable metrics.

scenario Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p95 Δ mean throughput candidate mean agg_http_req_duration_p50 candidate mean agg_http_req_duration_p95 candidate mean throughput baseline mean agg_http_req_duration_p50 baseline mean agg_http_req_duration_p95 baseline mean throughput
scenario:load:insecure-bank:iast:high_load worse
[+112.602µs; +277.871µs] or [+4.509%; +11.128%]
worse
[+217.708µs; +706.098µs] or [+2.959%; +9.596%]
unstable
[-248.742op/s; +55.992op/s] or [-17.475%; +3.934%]
2.692ms 7.820ms 1327.031op/s 2.497ms 7.358ms 1423.406op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.57.0-SNAPSHOT~c34ff34e6c, baseline=1.57.0-SNAPSHOT~912bddeb5e
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.221 ms) : 1209, 1233
.   : milestone, 1221,
iast (3.215 ms) : 3172, 3257
.   : milestone, 3215,
iast_FULL (5.76 ms) : 5703, 5817
.   : milestone, 5760,
iast_GLOBAL (3.713 ms) : 3665, 3761
.   : milestone, 3713,
profiling (2.084 ms) : 2066, 2102
.   : milestone, 2084,
tracing (1.881 ms) : 1865, 1897
.   : milestone, 1881,
section candidate
no_agent (1.207 ms) : 1195, 1220
.   : milestone, 1207,
iast (3.452 ms) : 3401, 3504
.   : milestone, 3452,
iast_FULL (5.959 ms) : 5898, 6020
.   : milestone, 5959,
iast_GLOBAL (3.705 ms) : 3652, 3759
.   : milestone, 3705,
profiling (2.008 ms) : 1990, 2026
.   : milestone, 2008,
tracing (1.83 ms) : 1815, 1846
.   : milestone, 1830,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.221 ms [1.209 ms, 1.233 ms] -
iast 3.215 ms [3.172 ms, 3.257 ms] 1.994 ms (163.3%)
iast_FULL 5.76 ms [5.703 ms, 5.817 ms] 4.539 ms (371.8%)
iast_GLOBAL 3.713 ms [3.665 ms, 3.761 ms] 2.492 ms (204.1%)
profiling 2.084 ms [2.066 ms, 2.102 ms] 862.705 µs (70.7%)
tracing 1.881 ms [1.865 ms, 1.897 ms] 660.263 µs (54.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.207 ms [1.195 ms, 1.22 ms] -
iast 3.452 ms [3.401 ms, 3.504 ms] 2.245 ms (186.0%)
iast_FULL 5.959 ms [5.898 ms, 6.02 ms] 4.752 ms (393.7%)
iast_GLOBAL 3.705 ms [3.652 ms, 3.759 ms] 2.498 ms (207.0%)
profiling 2.008 ms [1.99 ms, 2.026 ms] 800.891 µs (66.3%)
tracing 1.83 ms [1.815 ms, 1.846 ms] 623.233 µs (51.6%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.57.0-SNAPSHOT~c34ff34e6c, baseline=1.57.0-SNAPSHOT~912bddeb5e
    dateFormat X
    axisFormat %s
section baseline
no_agent (18.456 ms) : 18261, 18651
.   : milestone, 18456,
appsec (18.426 ms) : 18239, 18613
.   : milestone, 18426,
code_origins (17.61 ms) : 17435, 17785
.   : milestone, 17610,
iast (17.708 ms) : 17531, 17884
.   : milestone, 17708,
profiling (18.497 ms) : 18311, 18682
.   : milestone, 18497,
tracing (17.515 ms) : 17340, 17689
.   : milestone, 17515,
section candidate
no_agent (19.229 ms) : 19031, 19428
.   : milestone, 19229,
appsec (18.431 ms) : 18246, 18615
.   : milestone, 18431,
code_origins (18.045 ms) : 17864, 18225
.   : milestone, 18045,
iast (17.676 ms) : 17497, 17855
.   : milestone, 17676,
profiling (18.609 ms) : 18420, 18797
.   : milestone, 18609,
tracing (17.59 ms) : 17414, 17766
.   : milestone, 17590,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.456 ms [18.261 ms, 18.651 ms] -
appsec 18.426 ms [18.239 ms, 18.613 ms] -30.099 µs (-0.2%)
code_origins 17.61 ms [17.435 ms, 17.785 ms] -845.613 µs (-4.6%)
iast 17.708 ms [17.531 ms, 17.884 ms] -748.224 µs (-4.1%)
profiling 18.497 ms [18.311 ms, 18.682 ms] 40.596 µs (0.2%)
tracing 17.515 ms [17.34 ms, 17.689 ms] -941.238 µs (-5.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 19.229 ms [19.031 ms, 19.428 ms] -
appsec 18.431 ms [18.246 ms, 18.615 ms] -798.754 µs (-4.2%)
code_origins 18.045 ms [17.864 ms, 18.225 ms] -1.185 ms (-6.2%)
iast 17.676 ms [17.497 ms, 17.855 ms] -1.554 ms (-8.1%)
profiling 18.609 ms [18.42 ms, 18.797 ms] -620.759 µs (-3.2%)
tracing 17.59 ms [17.414 ms, 17.766 ms] -1.639 ms (-8.5%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master malvarez/appsec-activation-flaky-oracle8
git_commit_date 1764194987 1764239768
git_commit_sha 912bdde c34ff34
release_version 1.57.0-SNAPSHOT~912bddeb5e 1.57.0-SNAPSHOT~c34ff34e6c
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1764241789 1764241789
ci_job_id 1260044061 1260044061
ci_pipeline_id 84228997 84228997
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-2-a9xem1c2 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-2-a9xem1c2 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.57.0-SNAPSHOT~c34ff34e6c, baseline=1.57.0-SNAPSHOT~912bddeb5e
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.476 ms) : 1465, 1488
.   : milestone, 1476,
appsec (3.719 ms) : 3503, 3936
.   : milestone, 3719,
iast (2.211 ms) : 2146, 2276
.   : milestone, 2211,
iast_GLOBAL (2.258 ms) : 2193, 2324
.   : milestone, 2258,
profiling (2.068 ms) : 2015, 2120
.   : milestone, 2068,
tracing (2.059 ms) : 2008, 2111
.   : milestone, 2059,
section candidate
no_agent (1.475 ms) : 1464, 1487
.   : milestone, 1475,
appsec (3.647 ms) : 3431, 3862
.   : milestone, 3647,
iast (2.208 ms) : 2143, 2272
.   : milestone, 2208,
iast_GLOBAL (2.263 ms) : 2197, 2328
.   : milestone, 2263,
profiling (2.505 ms) : 2342, 2669
.   : milestone, 2505,
tracing (2.045 ms) : 1994, 2096
.   : milestone, 2045,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.476 ms [1.465 ms, 1.488 ms] -
appsec 3.719 ms [3.503 ms, 3.936 ms] 2.243 ms (152.0%)
iast 2.211 ms [2.146 ms, 2.276 ms] 735.07 µs (49.8%)
iast_GLOBAL 2.258 ms [2.193 ms, 2.324 ms] 782.291 µs (53.0%)
profiling 2.068 ms [2.015 ms, 2.12 ms] 591.586 µs (40.1%)
tracing 2.059 ms [2.008 ms, 2.111 ms] 582.984 µs (39.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.475 ms [1.464 ms, 1.487 ms] -
appsec 3.647 ms [3.431 ms, 3.862 ms] 2.172 ms (147.2%)
iast 2.208 ms [2.143 ms, 2.272 ms] 732.528 µs (49.7%)
iast_GLOBAL 2.263 ms [2.197 ms, 2.328 ms] 787.567 µs (53.4%)
profiling 2.505 ms [2.342 ms, 2.669 ms] 1.03 ms (69.8%)
tracing 2.045 ms [1.994 ms, 2.096 ms] 569.483 µs (38.6%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.57.0-SNAPSHOT~c34ff34e6c, baseline=1.57.0-SNAPSHOT~912bddeb5e
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.086 s) : 15086000, 15086000
.   : milestone, 15086000,
appsec (14.554 s) : 14554000, 14554000
.   : milestone, 14554000,
iast (18.797 s) : 18797000, 18797000
.   : milestone, 18797000,
iast_GLOBAL (17.881 s) : 17881000, 17881000
.   : milestone, 17881000,
profiling (14.85 s) : 14850000, 14850000
.   : milestone, 14850000,
tracing (14.989 s) : 14989000, 14989000
.   : milestone, 14989000,
section candidate
no_agent (15.556 s) : 15556000, 15556000
.   : milestone, 15556000,
appsec (14.745 s) : 14745000, 14745000
.   : milestone, 14745000,
iast (18.859 s) : 18859000, 18859000
.   : milestone, 18859000,
iast_GLOBAL (17.863 s) : 17863000, 17863000
.   : milestone, 17863000,
profiling (14.863 s) : 14863000, 14863000
.   : milestone, 14863000,
tracing (14.886 s) : 14886000, 14886000
.   : milestone, 14886000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.086 s [15.086 s, 15.086 s] -
appsec 14.554 s [14.554 s, 14.554 s] -532.0 ms (-3.5%)
iast 18.797 s [18.797 s, 18.797 s] 3.711 s (24.6%)
iast_GLOBAL 17.881 s [17.881 s, 17.881 s] 2.795 s (18.5%)
profiling 14.85 s [14.85 s, 14.85 s] -236.0 ms (-1.6%)
tracing 14.989 s [14.989 s, 14.989 s] -97.0 ms (-0.6%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.556 s [15.556 s, 15.556 s] -
appsec 14.745 s [14.745 s, 14.745 s] -811.0 ms (-5.2%)
iast 18.859 s [18.859 s, 18.859 s] 3.303 s (21.2%)
iast_GLOBAL 17.863 s [17.863 s, 17.863 s] 2.307 s (14.8%)
profiling 14.863 s [14.863 s, 14.863 s] -693.0 ms (-4.5%)
tracing 14.886 s [14.886 s, 14.886 s] -670.0 ms (-4.3%)

@AlexeyKuznetsov-DD
Copy link
Contributor

LGTM in general, left minor comment. Maybe we do not need this new class and can use methods from JavaVirtualMachine ?

Flaky test management is built in Java so we don't have access to groovy stuff in there (the condition just points to a class that implements Predicate), we could migrate it to groovy and use Closure there.

Not sure that if my understanding correct, but I can see in our code base code in groovy like this:

@IgnoreIf(reason = "JVM crash with OpenJ9", value = {
  JavaVirtualMachine.isJ9()
})
class ChannelContextTest extends Specification {

Does it make sense? Or it is because @Flaky needs Predicate?

@AlexeyKuznetsov-DD
Copy link
Contributor

AlexeyKuznetsov-DD commented Nov 26, 2025

Does it make sense? Or it is because @Flaky needs Predicate?

Just checked, this should work:
@Flaky(condition = () -> JavaVirtualMachine.isOracleJDK8())

@PerfectSlayer PerfectSlayer added tag: flaky test Flaky tests tag: flaky test/disabled Disabled flaky tests comp: asm waf Application Security Management (WAF) and removed comp: testing Testing labels Nov 27, 2025
@manuel-alvarez-alvarez manuel-alvarez-alvarez force-pushed the malvarez/appsec-activation-flaky-oracle8 branch from 929aaf3 to c34ff34 Compare November 27, 2025 10:36
@manuel-alvarez-alvarez manuel-alvarez-alvarez requested review from claponcet, jandro996 and sarahchen6 and removed request for a team November 27, 2025 10:36
@manuel-alvarez-alvarez
Copy link
Member Author

manuel-alvarez-alvarez commented Nov 27, 2025

LGTM in general, left minor comment. Maybe we do not need this new class and can use methods from JavaVirtualMachine ?

Flaky test management is built in Java so we don't have access to groovy stuff in there (the condition just points to a class that implements Predicate), we could migrate it to groovy and use Closure there.

Not sure that if my understanding correct, but I can see in our code base code in groovy like this:

@IgnoreIf(reason = "JVM crash with OpenJ9", value = {
  JavaVirtualMachine.isJ9()
})
class ChannelContextTest extends Specification {

Does it make sense? Or it is because @Flaky needs Predicate?

That's what I mentioned before, @Flaky is built in java so it receives a Predicate, when you add a Closure in groovy you end up with something like:

    @Flaky(
        condition = __spock_feature_2_0_closure2.class,
        value = "Telemetry product change event flakes in oracle8"
    )

Which is no longer a Predicate and our code fails to handle it, now I tweaked it so it should be able to deal with Closure as well.

PS: IgnoreIf works as it's groovy and receives a closure

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD})
@ExtensionAnnotation(IgnoreIfExtension.class)
@Repeatable(Container.class)
public @interface IgnoreIf {
    Class<? extends Closure> value();

    @Retention(RetentionPolicy.RUNTIME)
    @Target({ElementType.TYPE, ElementType.METHOD})
    public @interface Container {
        IgnoreIf[] value();
    }
}

Copy link
Contributor

@PerfectSlayer PerfectSlayer left a comment

Choose a reason for hiding this comment

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

Left a minor request before merging.
Looking good otherwise 👍

Comment on lines +111 to +114
public static boolean isIbm() {
return runtime.vendor.contains("IBM");
}

Copy link
Contributor

Choose a reason for hiding this comment

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

🎯 suggestion: ‏Can you update the JavaVirtualMachineTest test suite too?

@Flacky
Copy link

Flacky commented Dec 2, 2025

Looks like my github tag as accidentally been added into the PR description, could it be corrected please? 🙂

@PerfectSlayer
Copy link
Contributor

Sorry, this was a misspelled Java annotation (they start with an @ as the GitHub user mention system 😬 ). I just fix the typo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: asm waf Application Security Management (WAF) tag: flaky test/disabled Disabled flaky tests tag: flaky test Flaky tests 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