Skip to content

fix(openfeature): allow null targeting key for static and rule-only flags#10990

Open
leoromanovsky wants to merge 4 commits intomasterfrom
leo.romanovsky/fix-null-targeting-key
Open

fix(openfeature): allow null targeting key for static and rule-only flags#10990
leoromanovsky wants to merge 4 commits intomasterfrom
leo.romanovsky/fix-null-targeting-key

Conversation

@leoromanovsky
Copy link
Copy Markdown
Contributor

@leoromanovsky leoromanovsky commented Mar 28, 2026

Motivation

The OpenFeature spec (3.1.1) declares that evaluation context — including targetingKey — is optional. However, DDEvaluator currently rejects ALL flag evaluations when targeting key is null, returning TARGETING_KEY_MISSING even for static flags that don't need one.

This means a simple call like:

client.getBooleanDetails(flagKey, false, new ImmutableContext());

fails with TARGETING_KEY_MISSING even when the flag is configured with a static default value.

Expected behavior (after this fix)

Scenario targetingKey absent targetingKey present
Static flag (no rules, no shards) Returns flag value Returns flag value
Rule-only flag (rules on non-id attribute) Returns matched value Returns matched value
Sharded flag (requires targeting key for hash) TARGETING_KEY_MISSING error Returns shard-assigned value

TARGETING_KEY_MISSING is only returned when the flag genuinely needs a targeting key (i.e., shard evaluation requires it for hashing).

Fixes the Java portion of the cross-SDK targeting key bug (FFL-1729).

Changes

  • Removed early null targeting key guard at DDEvaluator.evaluate() entry point (was at lines 90-92)
  • Added deferred null check in the shard evaluation else-branch, so TARGETING_KEY_MISSING is only returned when shard computation actually needs the targeting key
  • Updated existing test: null TK on static flag now expects success (was incorrectly expecting error)
  • Added test: null TK on sharded flag expects TARGETING_KEY_MISSING error
  • Added test: null TK on rule-only flag (matching on country attribute, not id) expects success
  • Added createCountryRuleFlag() test helper for the rule-only flag test case

Decisions

  • Placed null guard inside the else branch of the split loop (where shards exist), not before the split loop. This ensures static splits (no shards) still return the variant without needing a targeting key.
  • Rule-only test uses country attribute (not id) to avoid the id -> targeting key fallback in resolveAttribute(), ensuring the test validates rule matching independent of targeting key.
  • This PR targets master directly (not stacked on reason field fix) since the targeting key fix is independent.

…point

- Remove early null targeting key guard at evaluate() entry point
- Add deferred null check inside shard else-branch before matchesShard call
- Static and rule-only flags can now evaluate with null targeting key
- TARGETING_KEY_MISSING only returned when shard computation needs it
…rTest

- Update existing test: null TK on static flag now expects success (was
  incorrectly expecting TARGETING_KEY_MISSING error)
- Add test: null TK on sharded flag expects TARGETING_KEY_MISSING error
- Add test: null TK on rule-only flag (country attribute) expects success
- Add createCountryRuleFlag() helper: rule matching on 'country' attribute
  with no shards, validates rule evaluation works without targeting key
@pr-commenter
Copy link
Copy Markdown

pr-commenter bot commented Mar 28, 2026

Benchmarks

⚠️ Warning: Baseline build not found for merge-base commit. Comparing against the latest commit on master instead.

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master leo.romanovsky/fix-null-targeting-key
git_commit_date 1774890800 1774891504
git_commit_sha c2e4835 1c8b32c
release_version 1.61.0-SNAPSHOT~c2e48350d7 1.61.0-SNAPSHOT~1c8b32c8d8
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1774893340 1774893340
ci_job_id 1551379897 1551379897
ci_pipeline_id 105093491 105093491
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-5-00u9ry6d 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-5-00u9ry6d 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 1 performance regressions! Performance is the same for 64 metrics, 6 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:startup:insecure-bank:tracing:Remote Config worse
[+13.718µs; +60.917µs] or [+2.336%; +10.372%]
624.637µs 587.320µs
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.61.0-SNAPSHOT~1c8b32c8d8, baseline=1.61.0-SNAPSHOT~c2e48350d7

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.076 s) : 0, 1076298
Total [baseline] (4.496 s) : 0, 4495725
Agent [candidate] (1.073 s) : 0, 1073452
Total [candidate] (11.214 s) : 0, 11213698
section appsec
Agent [baseline] (1.259 s) : 0, 1258585
Total [baseline] (11.212 s) : 0, 11211898
Agent [candidate] (1.26 s) : 0, 1259598
Total [candidate] (11.282 s) : 0, 11281765
section iast
Agent [baseline] (1.245 s) : 0, 1244521
Total [baseline] (11.48 s) : 0, 11480353
Agent [candidate] (1.244 s) : 0, 1244037
Total [candidate] (11.423 s) : 0, 11423002
section profiling
Agent [baseline] (1.2 s) : 0, 1199907
Total [baseline] (11.164 s) : 0, 11163559
Agent [candidate] (1.194 s) : 0, 1193986
Total [candidate] (11.121 s) : 0, 11120623
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.076 s -
Agent appsec 1.259 s 182.287 ms (16.9%)
Agent iast 1.245 s 168.223 ms (15.6%)
Agent profiling 1.2 s 123.609 ms (11.5%)
Total tracing 4.496 s -
Total appsec 11.212 s 6.716 s (149.4%)
Total iast 11.48 s 6.985 s (155.4%)
Total profiling 11.164 s 6.668 s (148.3%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.073 s -
Agent appsec 1.26 s 186.145 ms (17.3%)
Agent iast 1.244 s 170.585 ms (15.9%)
Agent profiling 1.194 s 120.534 ms (11.2%)
Total tracing 11.214 s -
Total appsec 11.282 s 68.067 ms (0.6%)
Total iast 11.423 s 209.305 ms (1.9%)
Total profiling 11.121 s -93.074 ms (-0.8%)
gantt
    title petclinic - break down per module: candidate=1.61.0-SNAPSHOT~1c8b32c8d8, baseline=1.61.0-SNAPSHOT~c2e48350d7

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.173 ms) : 0, 1173
crashtracking [candidate] (1.217 ms) : 0, 1217
BytebuddyAgent [baseline] (628.47 ms) : 0, 628470
BytebuddyAgent [candidate] (638.666 ms) : 0, 638666
AgentMeter [baseline] (29.327 ms) : 0, 29327
AgentMeter [candidate] (29.682 ms) : 0, 29682
GlobalTracer [baseline] (269.242 ms) : 0, 269242
GlobalTracer [candidate] (259.795 ms) : 0, 259795
AppSec [baseline] (34.368 ms) : 0, 34368
AppSec [candidate] (32.146 ms) : 0, 32146
Debugger [baseline] (64.338 ms) : 0, 64338
Debugger [candidate] (61.477 ms) : 0, 61477
Remote Config [baseline] (680.817 µs) : 0, 681
Remote Config [candidate] (606.971 µs) : 0, 607
Telemetry [baseline] (8.538 ms) : 0, 8538
Telemetry [candidate] (8.124 ms) : 0, 8124
Flare Poller [baseline] (4.077 ms) : 0, 4077
Flare Poller [candidate] (5.079 ms) : 0, 5079
section appsec
crashtracking [baseline] (1.226 ms) : 0, 1226
crashtracking [candidate] (1.205 ms) : 0, 1205
BytebuddyAgent [baseline] (665.3 ms) : 0, 665300
BytebuddyAgent [candidate] (665.275 ms) : 0, 665275
AgentMeter [baseline] (12.258 ms) : 0, 12258
AgentMeter [candidate] (12.228 ms) : 0, 12228
GlobalTracer [baseline] (259.895 ms) : 0, 259895
GlobalTracer [candidate] (260.754 ms) : 0, 260754
AppSec [baseline] (179.182 ms) : 0, 179182
AppSec [candidate] (179.426 ms) : 0, 179426
Debugger [baseline] (66.965 ms) : 0, 66965
Debugger [candidate] (67.02 ms) : 0, 67020
Remote Config [baseline] (645.986 µs) : 0, 646
Remote Config [candidate] (642.65 µs) : 0, 643
Telemetry [baseline] (8.409 ms) : 0, 8409
Telemetry [candidate] (8.398 ms) : 0, 8398
Flare Poller [baseline] (3.651 ms) : 0, 3651
Flare Poller [candidate] (3.575 ms) : 0, 3575
IAST [baseline] (24.316 ms) : 0, 24316
IAST [candidate] (24.367 ms) : 0, 24367
section iast
crashtracking [baseline] (1.226 ms) : 0, 1226
crashtracking [candidate] (1.219 ms) : 0, 1219
BytebuddyAgent [baseline] (807.767 ms) : 0, 807767
BytebuddyAgent [candidate] (805.585 ms) : 0, 805585
AgentMeter [baseline] (11.636 ms) : 0, 11636
AgentMeter [candidate] (11.629 ms) : 0, 11629
GlobalTracer [baseline] (250.51 ms) : 0, 250510
GlobalTracer [candidate] (252.061 ms) : 0, 252061
AppSec [baseline] (26.954 ms) : 0, 26954
AppSec [candidate] (26.981 ms) : 0, 26981
Debugger [baseline] (69.401 ms) : 0, 69401
Debugger [candidate] (70.997 ms) : 0, 70997
Remote Config [baseline] (529.141 µs) : 0, 529
Remote Config [candidate] (540.127 µs) : 0, 540
Telemetry [baseline] (10.316 ms) : 0, 10316
Telemetry [candidate] (9.192 ms) : 0, 9192
Flare Poller [baseline] (3.767 ms) : 0, 3767
Flare Poller [candidate] (3.464 ms) : 0, 3464
IAST [baseline] (25.623 ms) : 0, 25623
IAST [candidate] (25.772 ms) : 0, 25772
section profiling
ProfilingAgent [baseline] (95.467 ms) : 0, 95467
ProfilingAgent [candidate] (94.844 ms) : 0, 94844
crashtracking [baseline] (1.21 ms) : 0, 1210
crashtracking [candidate] (1.189 ms) : 0, 1189
BytebuddyAgent [baseline] (693.089 ms) : 0, 693089
BytebuddyAgent [candidate] (689.146 ms) : 0, 689146
AgentMeter [baseline] (9.039 ms) : 0, 9039
AgentMeter [candidate] (9.072 ms) : 0, 9072
GlobalTracer [baseline] (217.785 ms) : 0, 217785
GlobalTracer [candidate] (216.861 ms) : 0, 216861
AppSec [baseline] (32.665 ms) : 0, 32665
AppSec [candidate] (32.764 ms) : 0, 32764
Debugger [baseline] (66.85 ms) : 0, 66850
Debugger [candidate] (66.691 ms) : 0, 66691
Remote Config [baseline] (574.309 µs) : 0, 574
Remote Config [candidate] (575.281 µs) : 0, 575
Telemetry [baseline] (7.845 ms) : 0, 7845
Telemetry [candidate] (7.794 ms) : 0, 7794
Flare Poller [baseline] (3.597 ms) : 0, 3597
Flare Poller [candidate] (3.487 ms) : 0, 3487
Profiling [baseline] (96.023 ms) : 0, 96023
Profiling [candidate] (95.399 ms) : 0, 95399
Loading
Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.61.0-SNAPSHOT~1c8b32c8d8, baseline=1.61.0-SNAPSHOT~c2e48350d7

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.061 s) : 0, 1061074
Total [baseline] (8.866 s) : 0, 8865548
Agent [candidate] (1.069 s) : 0, 1069341
Total [candidate] (8.972 s) : 0, 8971663
section iast
Agent [baseline] (1.25 s) : 0, 1249934
Total [baseline] (9.636 s) : 0, 9636129
Agent [candidate] (1.24 s) : 0, 1239522
Total [candidate] (9.599 s) : 0, 9598752
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.061 s -
Agent iast 1.25 s 188.86 ms (17.8%)
Total tracing 8.866 s -
Total iast 9.636 s 770.581 ms (8.7%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.069 s -
Agent iast 1.24 s 170.181 ms (15.9%)
Total tracing 8.972 s -
Total iast 9.599 s 627.089 ms (7.0%)
gantt
    title insecure-bank - break down per module: candidate=1.61.0-SNAPSHOT~1c8b32c8d8, baseline=1.61.0-SNAPSHOT~c2e48350d7

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.207 ms) : 0, 1207
crashtracking [candidate] (1.204 ms) : 0, 1204
BytebuddyAgent [baseline] (631.496 ms) : 0, 631496
BytebuddyAgent [candidate] (635.463 ms) : 0, 635463
AgentMeter [baseline] (29.537 ms) : 0, 29537
AgentMeter [candidate] (30.073 ms) : 0, 30073
GlobalTracer [baseline] (257.851 ms) : 0, 257851
GlobalTracer [candidate] (260.322 ms) : 0, 260322
AppSec [baseline] (31.973 ms) : 0, 31973
AppSec [candidate] (32.103 ms) : 0, 32103
Debugger [baseline] (59.965 ms) : 0, 59965
Debugger [candidate] (60.54 ms) : 0, 60540
Remote Config [baseline] (587.32 µs) : 0, 587
Remote Config [candidate] (624.637 µs) : 0, 625
Telemetry [baseline] (7.999 ms) : 0, 7999
Telemetry [candidate] (8.201 ms) : 0, 8201
Flare Poller [baseline] (4.237 ms) : 0, 4237
Flare Poller [candidate] (4.367 ms) : 0, 4367
section iast
crashtracking [baseline] (1.221 ms) : 0, 1221
crashtracking [candidate] (1.234 ms) : 0, 1234
BytebuddyAgent [baseline] (811.295 ms) : 0, 811295
BytebuddyAgent [candidate] (804.354 ms) : 0, 804354
AgentMeter [baseline] (11.681 ms) : 0, 11681
AgentMeter [candidate] (11.48 ms) : 0, 11480
GlobalTracer [baseline] (252.287 ms) : 0, 252287
GlobalTracer [candidate] (250.489 ms) : 0, 250489
AppSec [baseline] (27.121 ms) : 0, 27121
AppSec [candidate] (26.788 ms) : 0, 26788
Debugger [baseline] (67.74 ms) : 0, 67740
Debugger [candidate] (68.092 ms) : 0, 68092
Remote Config [baseline] (526.083 µs) : 0, 526
Remote Config [candidate] (535.813 µs) : 0, 536
Telemetry [baseline] (11.254 ms) : 0, 11254
Telemetry [candidate] (10.813 ms) : 0, 10813
Flare Poller [baseline] (4.047 ms) : 0, 4047
Flare Poller [candidate] (3.804 ms) : 0, 3804
IAST [baseline] (26.078 ms) : 0, 26078
IAST [candidate] (25.462 ms) : 0, 25462
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master leo.romanovsky/fix-null-targeting-key
git_commit_date 1774890800 1774891504
git_commit_sha c2e4835 1c8b32c
release_version 1.61.0-SNAPSHOT~c2e48350d7 1.61.0-SNAPSHOT~1c8b32c8d8
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1774893919 1774893919
ci_job_id 1551379899 1551379899
ci_pipeline_id 105093491 105093491
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-6-o8d1vge1 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-6-o8d1vge1 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 16 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
[+87.143µs; +168.947µs] or [+3.499%; +6.784%]
same
[-96.285µs; +364.744µs] or [-1.289%; +4.883%]
unstable
[-214.512op/s; +94.137op/s] or [-15.130%; +6.640%]
2.619ms 7.604ms 1357.594op/s 2.491ms 7.469ms 1417.781op/s
scenario:load:petclinic:profiling:high_load better
[-1359.803µs; -510.469µs] or [-7.054%; -2.648%]
unsure
[-1.875ms; -0.444ms] or [-6.034%; -1.429%]
unstable
[-3.321op/s; +40.601op/s] or [-1.390%; +16.999%]
18.343ms 29.911ms 257.484op/s 19.278ms 31.070ms 238.844op/s
scenario:load:petclinic:code_origins:high_load unsure
[-764.088µs; -192.785µs] or [-4.314%; -1.089%]
better
[-2.503ms; -0.620ms] or [-8.529%; -2.112%]
unstable
[-22.891op/s; +34.016op/s] or [-8.843%; +13.140%]
17.232ms 27.788ms 264.438op/s 17.711ms 29.350ms 258.875op/s
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~1c8b32c8d8, baseline=1.61.0-SNAPSHOT~c2e48350d7
    dateFormat X
    axisFormat %s
section baseline
no_agent (17.988 ms) : 17805, 18171
.   : milestone, 17988,
appsec (18.603 ms) : 18419, 18788
.   : milestone, 18603,
code_origins (18.025 ms) : 17844, 18206
.   : milestone, 18025,
iast (17.92 ms) : 17745, 18094
.   : milestone, 17920,
profiling (19.543 ms) : 19343, 19742
.   : milestone, 19543,
tracing (17.748 ms) : 17574, 17921
.   : milestone, 17748,
section candidate
no_agent (18.174 ms) : 17990, 18358
.   : milestone, 18174,
appsec (18.729 ms) : 18540, 18919
.   : milestone, 18729,
code_origins (17.641 ms) : 17468, 17813
.   : milestone, 17641,
iast (18.031 ms) : 17854, 18209
.   : milestone, 18031,
profiling (18.707 ms) : 18522, 18892
.   : milestone, 18707,
tracing (17.676 ms) : 17501, 17852
.   : milestone, 17676,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 17.988 ms [17.805 ms, 18.171 ms] -
appsec 18.603 ms [18.419 ms, 18.788 ms] 615.347 µs (3.4%)
code_origins 18.025 ms [17.844 ms, 18.206 ms] 37.119 µs (0.2%)
iast 17.92 ms [17.745 ms, 18.094 ms] -68.439 µs (-0.4%)
profiling 19.543 ms [19.343 ms, 19.742 ms] 1.555 ms (8.6%)
tracing 17.748 ms [17.574 ms, 17.921 ms] -240.143 µs (-1.3%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.174 ms [17.99 ms, 18.358 ms] -
appsec 18.729 ms [18.54 ms, 18.919 ms] 555.374 µs (3.1%)
code_origins 17.641 ms [17.468 ms, 17.813 ms] -533.501 µs (-2.9%)
iast 18.031 ms [17.854 ms, 18.209 ms] -142.814 µs (-0.8%)
profiling 18.707 ms [18.522 ms, 18.892 ms] 533.091 µs (2.9%)
tracing 17.676 ms [17.501 ms, 17.852 ms] -497.794 µs (-2.7%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~1c8b32c8d8, baseline=1.61.0-SNAPSHOT~c2e48350d7
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.226 ms) : 1214, 1238
.   : milestone, 1226,
iast (3.228 ms) : 3185, 3270
.   : milestone, 3228,
iast_FULL (5.993 ms) : 5932, 6054
.   : milestone, 5993,
iast_GLOBAL (3.743 ms) : 3684, 3801
.   : milestone, 3743,
profiling (2.259 ms) : 2239, 2279
.   : milestone, 2259,
tracing (1.864 ms) : 1849, 1880
.   : milestone, 1864,
section candidate
no_agent (1.241 ms) : 1228, 1253
.   : milestone, 1241,
iast (3.372 ms) : 3321, 3423
.   : milestone, 3372,
iast_FULL (6.165 ms) : 6101, 6229
.   : milestone, 6165,
iast_GLOBAL (3.698 ms) : 3640, 3757
.   : milestone, 3698,
profiling (2.21 ms) : 2190, 2230
.   : milestone, 2210,
tracing (1.878 ms) : 1862, 1895
.   : milestone, 1878,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.226 ms [1.214 ms, 1.238 ms] -
iast 3.228 ms [3.185 ms, 3.27 ms] 2.002 ms (163.3%)
iast_FULL 5.993 ms [5.932 ms, 6.054 ms] 4.767 ms (388.8%)
iast_GLOBAL 3.743 ms [3.684 ms, 3.801 ms] 2.517 ms (205.3%)
profiling 2.259 ms [2.239 ms, 2.279 ms] 1.033 ms (84.3%)
tracing 1.864 ms [1.849 ms, 1.88 ms] 638.431 µs (52.1%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.241 ms [1.228 ms, 1.253 ms] -
iast 3.372 ms [3.321 ms, 3.423 ms] 2.132 ms (171.8%)
iast_FULL 6.165 ms [6.101 ms, 6.229 ms] 4.925 ms (397.0%)
iast_GLOBAL 3.698 ms [3.64 ms, 3.757 ms] 2.458 ms (198.1%)
profiling 2.21 ms [2.19 ms, 2.23 ms] 969.558 µs (78.2%)
tracing 1.878 ms [1.862 ms, 1.895 ms] 637.697 µs (51.4%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master leo.romanovsky/fix-null-targeting-key
git_commit_date 1774890800 1774891504
git_commit_sha c2e4835 1c8b32c
release_version 1.61.0-SNAPSHOT~c2e48350d7 1.61.0-SNAPSHOT~1c8b32c8d8
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1774893686 1774893686
ci_job_id 1551379901 1551379901
ci_pipeline_id 105093491 105093491
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-xmt3y70t 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-xmt3y70t 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.61.0-SNAPSHOT~1c8b32c8d8, baseline=1.61.0-SNAPSHOT~c2e48350d7
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.48 ms) : 1469, 1492
.   : milestone, 1480,
appsec (3.806 ms) : 3584, 4028
.   : milestone, 3806,
iast (2.257 ms) : 2189, 2326
.   : milestone, 2257,
iast_GLOBAL (2.317 ms) : 2247, 2386
.   : milestone, 2317,
profiling (2.122 ms) : 2065, 2178
.   : milestone, 2122,
tracing (2.073 ms) : 2019, 2126
.   : milestone, 2073,
section candidate
no_agent (1.482 ms) : 1470, 1493
.   : milestone, 1482,
appsec (3.799 ms) : 3577, 4020
.   : milestone, 3799,
iast (2.262 ms) : 2193, 2332
.   : milestone, 2262,
iast_GLOBAL (2.31 ms) : 2241, 2380
.   : milestone, 2310,
profiling (2.118 ms) : 2061, 2175
.   : milestone, 2118,
tracing (2.068 ms) : 2015, 2122
.   : milestone, 2068,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.48 ms [1.469 ms, 1.492 ms] -
appsec 3.806 ms [3.584 ms, 4.028 ms] 2.325 ms (157.1%)
iast 2.257 ms [2.189 ms, 2.326 ms] 776.969 µs (52.5%)
iast_GLOBAL 2.317 ms [2.247 ms, 2.386 ms] 836.332 µs (56.5%)
profiling 2.122 ms [2.065 ms, 2.178 ms] 641.295 µs (43.3%)
tracing 2.073 ms [2.019 ms, 2.126 ms] 592.316 µs (40.0%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.482 ms [1.47 ms, 1.493 ms] -
appsec 3.799 ms [3.577 ms, 4.02 ms] 2.317 ms (156.4%)
iast 2.262 ms [2.193 ms, 2.332 ms] 780.925 µs (52.7%)
iast_GLOBAL 2.31 ms [2.241 ms, 2.38 ms] 828.801 µs (55.9%)
profiling 2.118 ms [2.061 ms, 2.175 ms] 636.692 µs (43.0%)
tracing 2.068 ms [2.015 ms, 2.122 ms] 586.744 µs (39.6%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~1c8b32c8d8, baseline=1.61.0-SNAPSHOT~c2e48350d7
    dateFormat X
    axisFormat %s
section baseline
no_agent (14.968 s) : 14968000, 14968000
.   : milestone, 14968000,
appsec (14.88 s) : 14880000, 14880000
.   : milestone, 14880000,
iast (18.457 s) : 18457000, 18457000
.   : milestone, 18457000,
iast_GLOBAL (17.994 s) : 17994000, 17994000
.   : milestone, 17994000,
profiling (14.892 s) : 14892000, 14892000
.   : milestone, 14892000,
tracing (14.942 s) : 14942000, 14942000
.   : milestone, 14942000,
section candidate
no_agent (15.494 s) : 15494000, 15494000
.   : milestone, 15494000,
appsec (14.703 s) : 14703000, 14703000
.   : milestone, 14703000,
iast (18.349 s) : 18349000, 18349000
.   : milestone, 18349000,
iast_GLOBAL (17.799 s) : 17799000, 17799000
.   : milestone, 17799000,
profiling (14.824 s) : 14824000, 14824000
.   : milestone, 14824000,
tracing (14.927 s) : 14927000, 14927000
.   : milestone, 14927000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 14.968 s [14.968 s, 14.968 s] -
appsec 14.88 s [14.88 s, 14.88 s] -88.0 ms (-0.6%)
iast 18.457 s [18.457 s, 18.457 s] 3.489 s (23.3%)
iast_GLOBAL 17.994 s [17.994 s, 17.994 s] 3.026 s (20.2%)
profiling 14.892 s [14.892 s, 14.892 s] -76.0 ms (-0.5%)
tracing 14.942 s [14.942 s, 14.942 s] -26.0 ms (-0.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.494 s [15.494 s, 15.494 s] -
appsec 14.703 s [14.703 s, 14.703 s] -791.0 ms (-5.1%)
iast 18.349 s [18.349 s, 18.349 s] 2.855 s (18.4%)
iast_GLOBAL 17.799 s [17.799 s, 17.799 s] 2.305 s (14.9%)
profiling 14.824 s [14.824 s, 14.824 s] -670.0 ms (-4.3%)
tracing 14.927 s [14.927 s, 14.927 s] -567.0 ms (-3.7%)

@leoromanovsky leoromanovsky marked this pull request as ready for review March 30, 2026 17:25
@leoromanovsky leoromanovsky requested a review from a team as a code owner March 30, 2026 17:25
@leoromanovsky leoromanovsky requested review from dd-oleksii and typotter and removed request for a team March 30, 2026 17:25
@github-actions
Copy link
Copy Markdown
Contributor

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.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant