-
Notifications
You must be signed in to change notification settings - Fork 324
Add test case for OF.7: empty targeting key compliance #10445
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
OF.7 specifies that empty string shall be accepted as a targeting key and evaluation should proceed as normal.
|
Hi! 👋 Thanks for your pull request! 🎉 To help us review it, please make sure to:
If you need help, please check our contributing guidelines. |
BenchmarksStartupParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 65 metrics, 6 unstable metrics. Startup time reports for insecure-bankgantt
title insecure-bank - global startup overhead: candidate=1.59.0-SNAPSHOT~3812616984, baseline=1.59.0-SNAPSHOT~3436b44819
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.088 s) : 0, 1087687
Total [baseline] (8.747 s) : 0, 8747233
Agent [candidate] (1.098 s) : 0, 1098099
Total [candidate] (8.744 s) : 0, 8744108
section iast
Agent [baseline] (1.24 s) : 0, 1239914
Total [baseline] (9.359 s) : 0, 9358606
Agent [candidate] (1.232 s) : 0, 1231975
Total [candidate] (9.371 s) : 0, 9371198
gantt
title insecure-bank - break down per module: candidate=1.59.0-SNAPSHOT~3812616984, baseline=1.59.0-SNAPSHOT~3436b44819
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.177 ms) : 0, 1177
crashtracking [candidate] (1.188 ms) : 0, 1188
BytebuddyAgent [baseline] (651.452 ms) : 0, 651452
BytebuddyAgent [candidate] (658.67 ms) : 0, 658670
AgentMeter [baseline] (28.86 ms) : 0, 28860
AgentMeter [candidate] (29.089 ms) : 0, 29089
GlobalTracer [baseline] (257.258 ms) : 0, 257258
GlobalTracer [candidate] (259.828 ms) : 0, 259828
AppSec [baseline] (32.776 ms) : 0, 32776
AppSec [candidate] (33.164 ms) : 0, 33164
Debugger [baseline] (67.433 ms) : 0, 67433
Debugger [candidate] (67.117 ms) : 0, 67117
Remote Config [baseline] (606.183 µs) : 0, 606
Remote Config [candidate] (606.495 µs) : 0, 606
Telemetry [baseline] (8.851 ms) : 0, 8851
Telemetry [candidate] (8.883 ms) : 0, 8883
Flare Poller [baseline] (3.694 ms) : 0, 3694
Flare Poller [candidate] (3.754 ms) : 0, 3754
section iast
crashtracking [baseline] (1.193 ms) : 0, 1193
crashtracking [candidate] (1.188 ms) : 0, 1188
BytebuddyAgent [baseline] (800.621 ms) : 0, 800621
BytebuddyAgent [candidate] (794.895 ms) : 0, 794895
AgentMeter [baseline] (11.575 ms) : 0, 11575
AgentMeter [candidate] (11.286 ms) : 0, 11286
GlobalTracer [baseline] (250.458 ms) : 0, 250458
GlobalTracer [candidate] (249.609 ms) : 0, 249609
AppSec [baseline] (34.575 ms) : 0, 34575
AppSec [candidate] (32.729 ms) : 0, 32729
Debugger [baseline] (65.892 ms) : 0, 65892
Debugger [candidate] (67.331 ms) : 0, 67331
Remote Config [baseline] (538.66 µs) : 0, 539
Remote Config [candidate] (531.819 µs) : 0, 532
Telemetry [baseline] (8.606 ms) : 0, 8606
Telemetry [candidate] (8.561 ms) : 0, 8561
Flare Poller [baseline] (3.593 ms) : 0, 3593
Flare Poller [candidate] (3.525 ms) : 0, 3525
IAST [baseline] (27.27 ms) : 0, 27270
IAST [candidate] (26.898 ms) : 0, 26898
Startup time reports for petclinicgantt
title petclinic - global startup overhead: candidate=1.59.0-SNAPSHOT~3812616984, baseline=1.59.0-SNAPSHOT~3436b44819
dateFormat X
axisFormat %s
section tracing
Agent [baseline] (1.094 s) : 0, 1094230
Total [baseline] (10.831 s) : 0, 10830676
Agent [candidate] (1.091 s) : 0, 1090939
Total [candidate] (10.669 s) : 0, 10668524
section appsec
Agent [baseline] (1.271 s) : 0, 1271382
Total [baseline] (10.995 s) : 0, 10995158
Agent [candidate] (1.281 s) : 0, 1280696
Total [candidate] (11.097 s) : 0, 11096737
section iast
Agent [baseline] (1.236 s) : 0, 1236053
Total [baseline] (11.057 s) : 0, 11056544
Agent [candidate] (1.232 s) : 0, 1232245
Total [candidate] (11.077 s) : 0, 11076550
section profiling
Agent [baseline] (1.217 s) : 0, 1217025
Total [baseline] (11.08 s) : 0, 11079735
Agent [candidate] (1.21 s) : 0, 1210062
Total [candidate] (11.022 s) : 0, 11022033
gantt
title petclinic - break down per module: candidate=1.59.0-SNAPSHOT~3812616984, baseline=1.59.0-SNAPSHOT~3436b44819
dateFormat X
axisFormat %s
section tracing
crashtracking [baseline] (1.195 ms) : 0, 1195
crashtracking [candidate] (1.179 ms) : 0, 1179
BytebuddyAgent [baseline] (656.217 ms) : 0, 656217
BytebuddyAgent [candidate] (652.803 ms) : 0, 652803
AgentMeter [baseline] (28.892 ms) : 0, 28892
AgentMeter [candidate] (28.923 ms) : 0, 28923
GlobalTracer [baseline] (257.868 ms) : 0, 257868
GlobalTracer [candidate] (257.891 ms) : 0, 257891
AppSec [baseline] (32.758 ms) : 0, 32758
AppSec [candidate] (33.031 ms) : 0, 33031
Debugger [baseline] (65.671 ms) : 0, 65671
Debugger [candidate] (67.61 ms) : 0, 67610
Remote Config [baseline] (623.437 µs) : 0, 623
Remote Config [candidate] (606.269 µs) : 0, 606
Telemetry [baseline] (9.044 ms) : 0, 9044
Telemetry [candidate] (8.907 ms) : 0, 8907
Flare Poller [baseline] (6.104 ms) : 0, 6104
Flare Poller [candidate] (4.517 ms) : 0, 4517
section appsec
crashtracking [baseline] (1.186 ms) : 0, 1186
crashtracking [candidate] (1.193 ms) : 0, 1193
BytebuddyAgent [baseline] (691.691 ms) : 0, 691691
BytebuddyAgent [candidate] (697.557 ms) : 0, 697557
AgentMeter [baseline] (12.015 ms) : 0, 12015
AgentMeter [candidate] (12.151 ms) : 0, 12151
GlobalTracer [baseline] (251.164 ms) : 0, 251164
GlobalTracer [candidate] (253.362 ms) : 0, 253362
AppSec [baseline] (173.743 ms) : 0, 173743
AppSec [candidate] (175.008 ms) : 0, 175008
Debugger [baseline] (67.926 ms) : 0, 67926
Debugger [candidate] (67.064 ms) : 0, 67064
Remote Config [baseline] (717.352 µs) : 0, 717
Remote Config [candidate] (728.422 µs) : 0, 728
Telemetry [baseline] (9.148 ms) : 0, 9148
Telemetry [candidate] (9.266 ms) : 0, 9266
Flare Poller [baseline] (3.538 ms) : 0, 3538
Flare Poller [candidate] (3.641 ms) : 0, 3641
IAST [baseline] (24.635 ms) : 0, 24635
IAST [candidate] (25.018 ms) : 0, 25018
section iast
crashtracking [baseline] (1.189 ms) : 0, 1189
crashtracking [candidate] (1.19 ms) : 0, 1190
BytebuddyAgent [baseline] (798.125 ms) : 0, 798125
BytebuddyAgent [candidate] (794.239 ms) : 0, 794239
AgentMeter [baseline] (11.316 ms) : 0, 11316
AgentMeter [candidate] (11.308 ms) : 0, 11308
GlobalTracer [baseline] (249.582 ms) : 0, 249582
GlobalTracer [candidate] (249.464 ms) : 0, 249464
AppSec [baseline] (33.006 ms) : 0, 33006
AppSec [candidate] (34.345 ms) : 0, 34345
Debugger [baseline] (67.875 ms) : 0, 67875
Debugger [candidate] (66.788 ms) : 0, 66788
Remote Config [baseline] (555.553 µs) : 0, 556
Remote Config [candidate] (549.396 µs) : 0, 549
Telemetry [baseline] (8.598 ms) : 0, 8598
Telemetry [candidate] (8.641 ms) : 0, 8641
Flare Poller [baseline] (3.474 ms) : 0, 3474
Flare Poller [candidate] (3.511 ms) : 0, 3511
IAST [baseline] (26.858 ms) : 0, 26858
IAST [candidate] (26.863 ms) : 0, 26863
section profiling
ProfilingAgent [baseline] (95.989 ms) : 0, 95989
ProfilingAgent [candidate] (97.738 ms) : 0, 97738
crashtracking [baseline] (1.248 ms) : 0, 1248
crashtracking [candidate] (1.213 ms) : 0, 1213
BytebuddyAgent [baseline] (706.935 ms) : 0, 706935
BytebuddyAgent [candidate] (702.624 ms) : 0, 702624
AgentMeter [baseline] (8.951 ms) : 0, 8951
AgentMeter [candidate] (8.824 ms) : 0, 8824
GlobalTracer [baseline] (217.636 ms) : 0, 217636
GlobalTracer [candidate] (216.735 ms) : 0, 216735
AppSec [baseline] (32.854 ms) : 0, 32854
AppSec [candidate] (32.409 ms) : 0, 32409
Debugger [baseline] (68.566 ms) : 0, 68566
Debugger [candidate] (67.561 ms) : 0, 67561
Remote Config [baseline] (625.828 µs) : 0, 626
Remote Config [candidate] (608.996 µs) : 0, 609
Telemetry [baseline] (8.829 ms) : 0, 8829
Telemetry [candidate] (8.696 ms) : 0, 8696
Flare Poller [baseline] (4.906 ms) : 0, 4906
Flare Poller [candidate] (3.647 ms) : 0, 3647
Profiling [baseline] (96.583 ms) : 0, 96583
Profiling [candidate] (98.336 ms) : 0, 98336
LoadParameters
See matching parameters
SummaryFound 1 performance improvements and 2 performance regressions! Performance is the same for 17 metrics, 16 unstable metrics.
Request duration reports for petclinicgantt
title petclinic - request duration [CI 0.99] : candidate=1.59.0-SNAPSHOT~3812616984, baseline=1.59.0-SNAPSHOT~3436b44819
dateFormat X
axisFormat %s
section baseline
no_agent (19.428 ms) : 19230, 19626
. : milestone, 19428,
appsec (18.545 ms) : 18361, 18730
. : milestone, 18545,
code_origins (17.614 ms) : 17442, 17786
. : milestone, 17614,
iast (17.513 ms) : 17340, 17686
. : milestone, 17513,
profiling (18.693 ms) : 18505, 18881
. : milestone, 18693,
tracing (17.441 ms) : 17267, 17614
. : milestone, 17441,
section candidate
no_agent (18.179 ms) : 17991, 18366
. : milestone, 18179,
appsec (19.985 ms) : 19777, 20194
. : milestone, 19985,
code_origins (17.646 ms) : 17474, 17818
. : milestone, 17646,
iast (17.63 ms) : 17455, 17805
. : milestone, 17630,
profiling (18.545 ms) : 18358, 18732
. : milestone, 18545,
tracing (17.587 ms) : 17414, 17761
. : milestone, 17587,
Request duration reports for insecure-bankgantt
title insecure-bank - request duration [CI 0.99] : candidate=1.59.0-SNAPSHOT~3812616984, baseline=1.59.0-SNAPSHOT~3436b44819
dateFormat X
axisFormat %s
section baseline
no_agent (1.18 ms) : 1168, 1191
. : milestone, 1180,
iast (3.1 ms) : 3061, 3139
. : milestone, 3100,
iast_FULL (5.784 ms) : 5726, 5841
. : milestone, 5784,
iast_GLOBAL (3.48 ms) : 3430, 3530
. : milestone, 3480,
profiling (2.005 ms) : 1988, 2022
. : milestone, 2005,
tracing (1.774 ms) : 1760, 1787
. : milestone, 1774,
section candidate
no_agent (1.207 ms) : 1194, 1220
. : milestone, 1207,
iast (3.093 ms) : 3057, 3128
. : milestone, 3093,
iast_FULL (5.782 ms) : 5724, 5839
. : milestone, 5782,
iast_GLOBAL (3.487 ms) : 3436, 3537
. : milestone, 3487,
profiling (1.972 ms) : 1956, 1989
. : milestone, 1972,
tracing (1.793 ms) : 1778, 1809
. : milestone, 1793,
DacapoParameters
See matching parameters
SummaryFound 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics. Execution time for biojavagantt
title biojava - execution time [CI 0.99] : candidate=1.59.0-SNAPSHOT~3812616984, baseline=1.59.0-SNAPSHOT~3436b44819
dateFormat X
axisFormat %s
section baseline
no_agent (15.525 s) : 15525000, 15525000
. : milestone, 15525000,
appsec (14.787 s) : 14787000, 14787000
. : milestone, 14787000,
iast (18.126 s) : 18126000, 18126000
. : milestone, 18126000,
iast_GLOBAL (17.865 s) : 17865000, 17865000
. : milestone, 17865000,
profiling (14.815 s) : 14815000, 14815000
. : milestone, 14815000,
tracing (14.75 s) : 14750000, 14750000
. : milestone, 14750000,
section candidate
no_agent (15.406 s) : 15406000, 15406000
. : milestone, 15406000,
appsec (14.782 s) : 14782000, 14782000
. : milestone, 14782000,
iast (17.972 s) : 17972000, 17972000
. : milestone, 17972000,
iast_GLOBAL (17.629 s) : 17629000, 17629000
. : milestone, 17629000,
profiling (15.409 s) : 15409000, 15409000
. : milestone, 15409000,
tracing (14.676 s) : 14676000, 14676000
. : milestone, 14676000,
Execution time for tomcatgantt
title tomcat - execution time [CI 0.99] : candidate=1.59.0-SNAPSHOT~3812616984, baseline=1.59.0-SNAPSHOT~3436b44819
dateFormat X
axisFormat %s
section baseline
no_agent (1.466 ms) : 1455, 1478
. : milestone, 1466,
appsec (2.504 ms) : 2448, 2559
. : milestone, 2504,
iast (2.206 ms) : 2141, 2271
. : milestone, 2206,
iast_GLOBAL (2.254 ms) : 2188, 2319
. : milestone, 2254,
profiling (2.052 ms) : 2000, 2105
. : milestone, 2052,
tracing (2.039 ms) : 1987, 2090
. : milestone, 2039,
section candidate
no_agent (1.47 ms) : 1459, 1482
. : milestone, 1470,
appsec (3.652 ms) : 3438, 3866
. : milestone, 3652,
iast (2.202 ms) : 2137, 2267
. : milestone, 2202,
iast_GLOBAL (2.25 ms) : 2184, 2316
. : milestone, 2250,
profiling (2.088 ms) : 2034, 2143
. : milestone, 2088,
tracing (2.035 ms) : 1984, 2087
. : milestone, 2035,
|
typotter
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks Leo!
Motivation
OpenFeature specification rule OF.7 states that an empty string shall be accepted as a valid targeting key, and flag evaluation should proceed as normal. Previously, the OpenFeature Java SDK's
MutableContextincorrectly converted empty string targeting keys tonull, breaking OF.7 compliance.This was fixed upstream in open-feature/java-sdk#1807 and released in SDK version 1.20.1 (already in dd-trace-java master).
Changes
DDEvaluatorTestto verify that empty string targeting keys are handled correctly per OF.7TARGETING_MATCH) rather than failing withTARGETING_KEY_MISSINGTest Plan
./gradlew :products:feature-flagging:feature-flagging-api:testpasses