Skip to content

Conversation

@bantonsson
Copy link
Contributor

@bantonsson bantonsson commented Oct 22, 2025

What does this PR do?

Runs the sdk tests as individual test cases for better reporting and integration with CI Visibility.

Addition to #1271

@bantonsson bantonsson requested a review from a team as a code owner October 22, 2025 10:08
@bantonsson bantonsson force-pushed the ban/run-ffe-sdk-tests-individually branch from 13d406d to 6927240 Compare October 22, 2025 10:15
@pr-commenter
Copy link

pr-commenter bot commented Oct 22, 2025

Benchmarks

Comparison

Benchmark execution time: 2025-10-22 10:29:23

Comparing candidate commit 6927240 in PR branch ban/run-ffe-sdk-tests-individually with baseline commit 64681df in branch FFL-1255-feature-flagging.

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

Candidate

Candidate benchmark details

Group 1

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6927240 1761128142 ban/run-ffe-sdk-tests-individually
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching deserializing traces from msgpack to their internal representation execution_time 59.933ms 60.403ms ± 2.334ms 60.087ms ± 0.069ms 60.168ms 60.417ms 78.756ms 79.549ms 32.39% 7.949 61.402 3.85% 0.165ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching deserializing traces from msgpack to their internal representation execution_time [60.079ms; 60.726ms] or [-0.536%; +0.536%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6927240 1761128142 ban/run-ffe-sdk-tests-individually
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
single_flag_killswitch/rules-based execution_time 171.707ns 175.672ns ± 3.325ns 174.916ns ± 2.026ns 177.322ns 180.606ns 185.655ns 199.261ns 13.92% 2.584 13.219 1.89% 0.235ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
single_flag_killswitch/rules-based execution_time [175.211ns; 176.133ns] or [-0.262%; +0.262%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6927240 1761128142 ban/run-ffe-sdk-tests-individually
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time 496.095µs 497.055µs ± 0.934µs 496.834µs ± 0.219µs 497.128µs 497.904µs 501.034µs 502.755µs 1.19% 3.684 14.633 0.19% 0.066µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1989042.366op/s 2011855.385op/s ± 3754.475op/s 2012743.687op/s ± 888.378op/s 2013456.827op/s 2014755.036op/s 2015126.049op/s 2015742.727op/s 0.15% -3.666 14.504 0.19% 265.481op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 370.468µs 371.134µs ± 0.300µs 371.120µs ± 0.236µs 371.359µs 371.646µs 371.813µs 371.828µs 0.19% 0.161 -0.682 0.08% 0.021µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2689417.423op/s 2694443.446op/s ± 2177.463op/s 2694547.343op/s ± 1716.177op/s 2696175.724op/s 2697867.987op/s 2698639.465op/s 2699287.834op/s 0.18% -0.158 -0.684 0.08% 153.970op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 168.431µs 168.786µs ± 0.153µs 168.780µs ± 0.121µs 168.905µs 169.053µs 169.104µs 169.205µs 0.25% 0.240 -0.658 0.09% 0.011µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5909997.338op/s 5924667.066op/s ± 5369.643op/s 5924872.615op/s ± 4256.783op/s 5928999.814op/s 5932671.696op/s 5934594.863op/s 5937164.093op/s 0.21% -0.237 -0.660 0.09% 379.691op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.153µs 36.440µs ± 0.107µs 36.422µs ± 0.069µs 36.510µs 36.630µs 36.698µs 36.747µs 0.89% 0.375 -0.039 0.29% 0.008µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 27212966.434op/s 27442408.472op/s ± 80361.944op/s 27455875.641op/s ± 52473.144op/s 27496655.930op/s 27556338.751op/s 27589024.256op/s 27659861.798op/s 0.74% -0.359 -0.051 0.29% 5682.448op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 46.190µs 46.353µs ± 0.114µs 46.346µs ± 0.045µs 46.386µs 46.477µs 46.530µs 47.616µs 2.74% 6.825 72.922 0.25% 0.008µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21001329.384op/s 21573811.723op/s ± 52304.961op/s 21576677.339op/s ± 21053.528op/s 21598644.037op/s 21626495.580op/s 21642187.290op/s 21649551.493op/s 0.34% -6.619 69.905 0.24% 3698.519op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time [496.926µs; 497.185µs] or [-0.026%; +0.026%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [2011335.051op/s; 2012375.719op/s] or [-0.026%; +0.026%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [371.093µs; 371.176µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2694141.671op/s; 2694745.221op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [168.765µs; 168.807µs] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5923922.885op/s; 5925411.247op/s] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [36.425µs; 36.455µs] or [-0.041%; +0.041%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [27431271.079op/s; 27453545.865op/s] or [-0.041%; +0.041%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [46.337µs; 46.369µs] or [-0.034%; +0.034%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21566562.759op/s; 21581060.688op/s] or [-0.034%; +0.034%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6927240 1761128142 ban/run-ffe-sdk-tests-individually
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time 185.534µs 186.059µs ± 0.382µs 186.012µs ± 0.142µs 186.163µs 186.456µs 187.194µs 189.190µs 1.71% 5.206 38.256 0.20% 0.027µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5285683.251op/s 5374667.789op/s ± 10918.799op/s 5376000.500op/s ± 4102.789op/s 5380069.278op/s 5385006.202op/s 5386592.375op/s 5389861.482op/s 0.26% -5.125 37.398 0.20% 772.076op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.797µs 17.858µs ± 0.034µs 17.854µs ± 0.017µs 17.870µs 17.906µs 17.953µs 18.098µs 1.37% 2.611 13.821 0.19% 0.002µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 55255109.124op/s 55998494.659op/s ± 105323.206op/s 56011083.605op/s ± 53530.678op/s 56065735.439op/s 56117301.027op/s 56154918.713op/s 56188661.695op/s 0.32% -2.561 13.387 0.19% 7447.475op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.541µs 10.587µs ± 0.020µs 10.583µs ± 0.012µs 10.599µs 10.624µs 10.638µs 10.657µs 0.70% 0.502 0.440 0.19% 0.001µs 1 200
normalization/normalize_name/normalize_name/good throughput 93835905.172op/s 94457872.405op/s ± 175569.322op/s 94491165.077op/s ± 102769.701op/s 94568186.081op/s 94697370.850op/s 94822105.386op/s 94866364.196op/s 0.40% -0.490 0.423 0.19% 12414.626op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time [186.006µs; 186.112µs] or [-0.028%; +0.028%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5373154.548op/s; 5376181.029op/s] or [-0.028%; +0.028%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [17.853µs; 17.862µs] or [-0.026%; +0.026%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [55983897.876op/s; 56013091.443op/s] or [-0.026%; +0.026%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.584µs; 10.589µs] or [-0.026%; +0.026%] None None None
normalization/normalize_name/normalize_name/good throughput [94433540.186op/s; 94482204.625op/s] or [-0.026%; +0.026%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6927240 1761128142 ban/run-ffe-sdk-tests-individually
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
credit_card/is_card_number/ execution_time 3.895µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.913µs 3.915µs 3.917µs 3.925µs 0.34% -0.741 11.840 0.06% 0.000µs 1 200
credit_card/is_card_number/ throughput 254788041.469op/s 255627717.247op/s ± 165273.275op/s 255642219.322op/s ± 94219.703op/s 255719606.454op/s 255830452.099op/s 255901349.193op/s 256742942.557op/s 0.43% 0.766 11.944 0.06% 11686.585op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 78.670µs 80.799µs ± 0.917µs 80.833µs ± 0.623µs 81.445µs 82.344µs 82.833µs 83.148µs 2.86% 0.113 -0.409 1.13% 0.065µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12026786.293op/s 12378029.622op/s ± 140328.652op/s 12371154.351op/s ± 95085.319op/s 12481894.279op/s 12597451.274op/s 12667754.912op/s 12711270.619op/s 2.75% -0.060 -0.426 1.13% 9922.734op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 71.482µs 72.293µs ± 0.450µs 72.252µs ± 0.296µs 72.506µs 73.081µs 73.537µs 74.065µs 2.51% 0.769 0.732 0.62% 0.032µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13501600.182op/s 13833165.293op/s ± 85771.006op/s 13840501.090op/s ± 56454.552op/s 13899644.873op/s 13950822.272op/s 13977244.485op/s 13989620.306op/s 1.08% -0.729 0.622 0.62% 6064.926op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.894µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.914µs 3.917µs 3.921µs 3.925µs 0.34% -0.175 8.603 0.08% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254767347.694op/s 255610401.525op/s ± 196058.611op/s 255634404.212op/s ± 95595.676op/s 255721506.179op/s 255829948.823op/s 255916973.598op/s 256834618.293op/s 0.47% 0.200 8.703 0.08% 13863.437op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 68.602µs 69.382µs ± 0.348µs 69.363µs ± 0.240µs 69.606µs 69.969µs 70.190µs 70.541µs 1.70% 0.364 -0.096 0.50% 0.025µs 1 200
credit_card/is_card_number/378282246310005 throughput 14176247.121op/s 14413313.150op/s ± 72183.191op/s 14416938.280op/s ± 49980.298op/s 14466824.317op/s 14521172.386op/s 14553865.545op/s 14576868.199op/s 1.11% -0.337 -0.133 0.50% 5104.122op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 45.350µs 45.658µs ± 0.151µs 45.660µs ± 0.121µs 45.782µs 45.902µs 45.931µs 45.976µs 0.69% -0.047 -0.917 0.33% 0.011µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 21750277.614op/s 21902182.545op/s ± 72540.330op/s 21901202.376op/s ± 58064.424op/s 21956759.356op/s 22020339.286op/s 22039336.158op/s 22050958.658op/s 0.68% 0.058 -0.916 0.33% 5129.376op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.428µs 6.437µs ± 0.005µs 6.436µs ± 0.003µs 6.439µs 6.445µs 6.449µs 6.467µs 0.48% 1.481 5.875 0.08% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 154626311.786op/s 155358486.352op/s ± 120960.859op/s 155373897.186op/s ± 74709.651op/s 155445063.525op/s 155518579.031op/s 155552205.815op/s 155560211.462op/s 0.12% -1.468 5.783 0.08% 8553.224op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.894µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.916µs 3.918µs 3.922µs 3.924µs 0.28% -0.665 6.806 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254845682.265op/s 255527960.165op/s ± 201333.977op/s 255557424.146op/s ± 121330.662op/s 255640429.534op/s 255802055.487op/s 255869397.981op/s 256779207.153op/s 0.48% 0.685 6.915 0.08% 14236.462op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 61.785µs 63.827µs ± 0.585µs 63.825µs ± 0.363µs 64.265µs 64.670µs 65.163µs 65.244µs 2.22% -0.312 0.330 0.91% 0.041µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15327143.133op/s 15668716.603op/s ± 143966.477op/s 15667740.652op/s ± 89369.001op/s 15736404.409op/s 15907063.662op/s 15968781.523op/s 16185116.229op/s 3.30% 0.374 0.425 0.92% 10179.967op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 53.897µs 54.266µs ± 0.140µs 54.299µs ± 0.077µs 54.365µs 54.445µs 54.499µs 54.566µs 0.49% -0.743 0.045 0.26% 0.010µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18326564.722op/s 18427938.823op/s ± 47608.820op/s 18416431.758op/s ± 26002.732op/s 18452731.493op/s 18524752.806op/s 18547214.198op/s 18553867.443op/s 0.75% 0.754 0.061 0.26% 3366.452op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.894µs 3.912µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.917µs 3.920µs 3.923µs 0.28% -0.617 8.447 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254889978.476op/s 255601665.705op/s ± 188657.457op/s 255606786.362op/s ± 113070.437op/s 255731074.972op/s 255812838.841op/s 255894021.721op/s 256821649.221op/s 0.48% 0.639 8.571 0.07% 13340.097op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 50.232µs 50.612µs ± 0.126µs 50.626µs ± 0.049µs 50.671µs 50.775µs 50.931µs 51.060µs 0.86% -0.810 2.944 0.25% 0.009µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 19584850.380op/s 19758093.442op/s ± 49470.562op/s 19752522.728op/s ± 19029.407op/s 19772276.531op/s 19884672.089op/s 19905911.459op/s 19907640.552op/s 0.79% 0.842 2.955 0.25% 3498.097op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 45.352µs 45.701µs ± 0.145µs 45.713µs ± 0.115µs 45.825µs 45.910µs 45.934µs 45.943µs 0.50% -0.227 -0.952 0.32% 0.010µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 21766149.066op/s 21881418.893op/s ± 69541.734op/s 21875615.254op/s ± 55113.512op/s 21934236.053op/s 21997460.964op/s 22021579.755op/s 22049522.220op/s 0.79% 0.236 -0.945 0.32% 4917.343op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.427µs 6.435µs ± 0.004µs 6.435µs ± 0.002µs 6.437µs 6.442µs 6.446µs 6.447µs 0.19% 0.436 0.197 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 155112947.978op/s 155401647.313op/s ± 94155.715op/s 155408640.721op/s ± 59253.102op/s 155469529.861op/s 155551767.193op/s 155573717.347op/s 155601036.539op/s 0.12% -0.433 0.191 0.06% 6657.814op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
credit_card/is_card_number/ execution_time [3.912µs; 3.912µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ throughput [255604811.960op/s; 255650622.533op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [80.672µs; 80.926µs] or [-0.157%; +0.157%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12358581.420op/s; 12397477.823op/s] or [-0.157%; +0.157%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [72.230µs; 72.355µs] or [-0.086%; +0.086%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13821278.257op/s; 13845052.330op/s] or [-0.086%; +0.086%] None None None
credit_card/is_card_number/37828224631 execution_time [3.912µs; 3.913µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/37828224631 throughput [255583229.687op/s; 255637573.363op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/378282246310005 execution_time [69.334µs; 69.430µs] or [-0.070%; +0.070%] None None None
credit_card/is_card_number/378282246310005 throughput [14403309.254op/s; 14423317.046op/s] or [-0.069%; +0.069%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [45.637µs; 45.679µs] or [-0.046%; +0.046%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [21892129.153op/s; 21912235.937op/s] or [-0.046%; +0.046%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.436µs; 6.437µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/x371413321323331 throughput [155341722.341op/s; 155375250.364op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.913µs; 3.914µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ throughput [255500057.212op/s; 255555863.117op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [63.746µs; 63.908µs] or [-0.127%; +0.127%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15648764.234op/s; 15688668.972op/s] or [-0.127%; +0.127%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [54.246µs; 54.285µs] or [-0.036%; +0.036%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18421340.698op/s; 18434536.947op/s] or [-0.036%; +0.036%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.912µs; 3.913µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255575519.596op/s; 255627811.814op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [50.595µs; 50.630µs] or [-0.035%; +0.035%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [19751237.298op/s; 19764949.586op/s] or [-0.035%; +0.035%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [45.681µs; 45.721µs] or [-0.044%; +0.044%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [21871781.077op/s; 21891056.708op/s] or [-0.044%; +0.044%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.434µs; 6.435µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [155388598.236op/s; 155414696.389op/s] or [-0.008%; +0.008%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6927240 1761128142 ban/run-ffe-sdk-tests-individually
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching serializing traces from their internal representation to msgpack execution_time 14.558ms 14.615ms ± 0.032ms 14.613ms ± 0.015ms 14.626ms 14.659ms 14.730ms 14.840ms 1.55% 2.592 12.809 0.22% 0.002ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching serializing traces from their internal representation to msgpack execution_time [14.611ms; 14.620ms] or [-0.031%; +0.031%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6927240 1761128142 ban/run-ffe-sdk-tests-individually
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sdk_test_data/rules-based execution_time 121.588µs 123.090µs ± 2.507µs 122.692µs ± 0.461µs 123.152µs 124.692µs 134.779µs 150.295µs 22.50% 7.947 74.750 2.03% 0.177µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sdk_test_data/rules-based execution_time [122.743µs; 123.438µs] or [-0.282%; +0.282%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6927240 1761128142 ban/run-ffe-sdk-tests-individually
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
receiver_entry_point/report/2597 execution_time 6.061ms 6.117ms ± 0.046ms 6.107ms ± 0.018ms 6.127ms 6.196ms 6.331ms 6.403ms 4.85% 3.324 15.375 0.75% 0.003ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
receiver_entry_point/report/2597 execution_time [6.110ms; 6.123ms] or [-0.104%; +0.104%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6927240 1761128142 ban/run-ffe-sdk-tests-individually
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
write only interface execution_time 1.165µs 3.214µs ± 1.453µs 3.006µs ± 0.028µs 3.031µs 3.652µs 14.024µs 15.038µs 400.25% 7.389 55.585 45.10% 0.103µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [3.013µs; 3.415µs] or [-6.266%; +6.266%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6927240 1761128142 ban/run-ffe-sdk-tests-individually
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
concentrator/add_spans_to_concentrator execution_time 10.700ms 10.723ms ± 0.012ms 10.721ms ± 0.007ms 10.728ms 10.743ms 10.752ms 10.801ms 0.74% 1.863 8.904 0.11% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
concentrator/add_spans_to_concentrator execution_time [10.721ms; 10.724ms] or [-0.015%; +0.015%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6927240 1761128142 ban/run-ffe-sdk-tests-individually
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_trace/test_trace execution_time 245.368ns 257.140ns ± 12.604ns 250.062ns ± 3.783ns 264.704ns 284.374ns 285.724ns 287.062ns 14.80% 1.061 -0.295 4.89% 0.891ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_trace/test_trace execution_time [255.393ns; 258.887ns] or [-0.679%; +0.679%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6927240 1761128142 ban/run-ffe-sdk-tests-individually
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
ip_address/quantize_peer_ip_address_benchmark execution_time 4.994µs 5.092µs ± 0.046µs 5.108µs ± 0.048µs 5.130µs 5.164µs 5.167µs 5.169µs 1.21% -0.021 -1.332 0.89% 0.003µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
ip_address/quantize_peer_ip_address_benchmark execution_time [5.086µs; 5.099µs] or [-0.124%; +0.124%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6927240 1761128142 ban/run-ffe-sdk-tests-individually
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sql/obfuscate_sql_string execution_time 85.220µs 85.585µs ± 0.161µs 85.561µs ± 0.046µs 85.625µs 85.739µs 85.883µs 87.343µs 2.08% 7.004 71.475 0.19% 0.011µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sql/obfuscate_sql_string execution_time [85.563µs; 85.607µs] or [-0.026%; +0.026%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6927240 1761128142 ban/run-ffe-sdk-tests-individually
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
redis/obfuscate_redis_string execution_time 33.481µs 34.049µs ± 0.955µs 33.601µs ± 0.078µs 33.783µs 36.060µs 36.087µs 37.571µs 11.82% 1.731 1.277 2.80% 0.068µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
redis/obfuscate_redis_string execution_time [33.916µs; 34.181µs] or [-0.389%; +0.389%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6927240 1761128142 ban/run-ffe-sdk-tests-individually
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
two way interface execution_time 17.955µs 25.714µs ± 10.126µs 18.119µs ± 0.093µs 35.096µs 44.957µs 52.827µs 72.404µs 299.61% 1.137 1.166 39.28% 0.716µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [24.311µs; 27.118µs] or [-5.458%; +5.458%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6927240 1761128142 ban/run-ffe-sdk-tests-individually
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching string interning on wordpress profile execution_time 162.745µs 163.693µs ± 0.407µs 163.668µs ± 0.180µs 163.834µs 164.173µs 164.584µs 166.710µs 1.86% 3.772 25.486 0.25% 0.029µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching string interning on wordpress profile execution_time [163.636µs; 163.749µs] or [-0.034%; +0.034%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6927240 1761128142 ban/run-ffe-sdk-tests-individually
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
tags/replace_trace_tags execution_time 2.334µs 2.404µs ± 0.022µs 2.405µs ± 0.009µs 2.414µs 2.443µs 2.453µs 2.455µs 2.09% -0.643 2.113 0.90% 0.002µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
tags/replace_trace_tags execution_time [2.401µs; 2.407µs] or [-0.125%; +0.125%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commented Oct 22, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.78%. Comparing base (a266728) to head (2cfac2f).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1273      +/-   ##
==========================================
- Coverage   71.82%   71.78%   -0.05%     
==========================================
  Files         368      368              
  Lines       57975    57934      -41     
==========================================
- Hits        41641    41588      -53     
- Misses      16334    16346      +12     
Components Coverage Δ
datadog-crashtracker 49.02% <ø> (-0.03%) ⬇️
datadog-crashtracker-ffi 5.86% <ø> (ø)
datadog-alloc 98.73% <ø> (ø)
data-pipeline 87.83% <ø> (ø)
data-pipeline-ffi 88.19% <ø> (ø)
ddcommon 84.31% <ø> (ø)
ddcommon-ffi 73.84% <ø> (ø)
ddtelemetry 59.98% <ø> (-0.04%) ⬇️
ddtelemetry-ffi 21.24% <ø> (ø)
dogstatsd-client 83.26% <ø> (ø)
datadog-ipc 82.39% <ø> (ø)
datadog-profiling 76.90% <ø> (ø)
datadog-profiling-ffi 62.12% <ø> (ø)
datadog-sidecar 36.96% <ø> (ø)
datdog-sidecar-ffi 12.37% <ø> (ø)
spawn-worker 55.18% <ø> (ø)
tinybytes 92.22% <ø> (ø)
datadog-trace-normalization 98.24% <ø> (ø)
datadog-trace-obfuscation 94.17% <ø> (ø)
datadog-trace-protobuf 59.65% <ø> (ø)
datadog-trace-utils 89.84% <ø> (ø)
datadog-tracer-flare 62.42% <ø> (ø)
datadog-log 75.57% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dd-octo-sts
Copy link

dd-octo-sts bot commented Oct 22, 2025

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 71.35 MB 71.35 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 7.25 MB 7.25 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 9.20 MB 9.20 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 83.70 MB 83.70 MB 0% (0 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 18.55 MB 18.55 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 65.77 KB 65.77 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 129.25 MB 129.25 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 675.61 MB 675.61 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 5.93 MB 5.93 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 65.77 KB 65.77 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 17.51 MB 17.51 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 32.46 MB 32.46 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 15.81 MB 15.81 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 66.79 KB 66.79 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 131.44 MB 131.42 MB --.01% (-16.00 KB) 💪
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 664.14 MB 664.14 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 4.54 MB 4.54 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 66.79 KB 66.79 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 18.66 MB 18.66 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 30.51 MB 30.51 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 63.95 MB 63.95 MB 0% (0 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 8.56 MB 8.56 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 78.43 MB 78.43 MB 0% (0 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 9.91 MB 9.91 MB 0% (0 B) 👌

Base automatically changed from FFL-1255-feature-flagging to main October 22, 2025 15:20
@dd-mergequeue dd-mergequeue bot requested review from a team as code owners October 22, 2025 15:20
@bantonsson
Copy link
Contributor Author

/merge

@dd-devflow-routing-codex
Copy link

dd-devflow-routing-codex bot commented Oct 23, 2025

View all feedbacks in Devflow UI.

2025-10-23 14:14:56 UTC ℹ️ Start processing command /merge


2025-10-23 14:15:03 UTC ℹ️ MergeQueue: waiting for PR to be ready

This merge request is not mergeable according to GitHub. Common reasons include pending required checks, missing approvals, or merge conflicts — but it could also be blocked by other repository rules or settings.
It will be added to the queue as soon as checks pass and/or get approvals.
Note: if you pushed new commits since the last approval, you may need additional approval.
You can remove it from the waiting list with /remove command.


2025-10-23 14:23:57 UTC ⚠️ MergeQueue: This merge request was unqueued

[email protected] unqueued this merge request

Copy link

@leoromanovsky leoromanovsky left a comment

Choose a reason for hiding this comment

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

The diff turned out to be very large. I just reviewed 6927240 - you probably wanted to merge main in?

@bantonsson
Copy link
Contributor Author

/remove

@dd-devflow-routing-codex
Copy link

dd-devflow-routing-codex bot commented Oct 23, 2025

View all feedbacks in Devflow UI.

2025-10-23 14:23:52 UTC ℹ️ Start processing command /remove


2025-10-23 14:23:54 UTC ℹ️ Devflow: /remove

@bantonsson
Copy link
Contributor Author

Thanks. I'm not used to this squash merging which makes the PR on top of PR not work automatically.

@bantonsson bantonsson force-pushed the ban/run-ffe-sdk-tests-individually branch from 6927240 to 2cfac2f Compare October 23, 2025 14:29
@bantonsson
Copy link
Contributor Author

/merge

@dd-devflow-routing-codex
Copy link

dd-devflow-routing-codex bot commented Oct 23, 2025

View all feedbacks in Devflow UI.

2025-10-23 14:30:48 UTC ℹ️ Start processing command /merge


2025-10-23 14:30:57 UTC ℹ️ MergeQueue: waiting for PR to be ready

This merge request is not mergeable according to GitHub. Common reasons include pending required checks, missing approvals, or merge conflicts — but it could also be blocked by other repository rules or settings.
It will be added to the queue as soon as checks pass and/or get approvals.
Note: if you pushed new commits since the last approval, you may need additional approval.
You can remove it from the waiting list with /remove command.


2025-10-23 15:02:53 UTC ℹ️ MergeQueue: merge request added to the queue

The expected merge time in main is approximately 36m (p90).


2025-10-23 15:35:39 UTC ℹ️ MergeQueue: This merge request was merged

@dd-mergequeue dd-mergequeue bot merged commit b9c68ca into main Oct 23, 2025
37 checks passed
@dd-mergequeue dd-mergequeue bot deleted the ban/run-ffe-sdk-tests-individually branch October 23, 2025 15:35
dd-oleksii added a commit that referenced this pull request Oct 30, 2025
This reverts commit b9c68ca.

Test generation in build.rs made tests hard to edit.
dd-mergequeue bot pushed a commit that referenced this pull request Nov 5, 2025
[ffe] add pyo3 conversion methods

[ffe] Remove unused errors

[ffe] step back and remove IntoPyObject types

These will be defined in dd-trace-py to better match what Python/OF
need.

Revert "test(ffe): run sdk tests individually (#1273)"

This reverts commit b9c68ca.

Test generation in build.rs made tests hard to edit.

[ffe] Expose EvaluationFailure

This is required to allow tracers return more precise error codes.

[ffe] remove support for JSON:API

Merge remote-tracking branch 'origin/main' into HEAD

[ffe] fix clippy

Merge remote-tracking branch 'origin/main' into HEAD

refactor(ffe): merge EvaluationError and EvalutionFailure into one type

The distinction served us well in Eppo but it's less useful as we're
migrating to OpenFeature and it handles these various errors rather
similarly.

Merge branch 'main' into ffe-pyo3-methods

Co-authored-by: oleksii.shmalko <[email protected]>
anais-raison pushed a commit that referenced this pull request Nov 10, 2025
[ffe] add pyo3 conversion methods

[ffe] Remove unused errors

[ffe] step back and remove IntoPyObject types

These will be defined in dd-trace-py to better match what Python/OF
need.

Revert "test(ffe): run sdk tests individually (#1273)"

This reverts commit b9c68ca.

Test generation in build.rs made tests hard to edit.

[ffe] Expose EvaluationFailure

This is required to allow tracers return more precise error codes.

[ffe] remove support for JSON:API

Merge remote-tracking branch 'origin/main' into HEAD

[ffe] fix clippy

Merge remote-tracking branch 'origin/main' into HEAD

refactor(ffe): merge EvaluationError and EvalutionFailure into one type

The distinction served us well in Eppo but it's less useful as we're
migrating to OpenFeature and it handles these various errors rather
similarly.

Merge branch 'main' into ffe-pyo3-methods

Co-authored-by: oleksii.shmalko <[email protected]>
dd-mergequeue bot pushed a commit that referenced this pull request Nov 10, 2025
Add FFI bindings for datadog-ffe

Creates C-compatible FFI layer for Feature Flagging & Experimentation:

- Add datadog-ffe-ffi crate following ddsketch-ffi patterns
- Implement Handle<T> wrappers for Configuration, EvaluationContext, Assignment
- Export get_assignment, configuration_new, evaluation_context_new functions
- Add memory management with drop functions
- Generate C headers via cbindgen for Ruby integration
- Update Cargo.toml to include new FFI crate in workspace

Fix missing newlines at ends of files

Fix Rust formatting issues in datadog-ffe-ffi

- Remove trailing whitespace from doc comments
- Reformat function call in assignment.rs to fit line length constraints

Remove unused NULL_POINTER_ERROR constant from error.rs

Fix formatting in assignment.rs by removing trailing whitespace from doc comments

Update LICENSE-3rdparty.yml to include datadog-ffe-ffi

Add datadog-ffe-ffi Cargo.toml to Dockerfile.build

Set datadog-ffe-ffi version to 0.1.0 to match pre-release status

Update Cargo.lock

Refactor build script and cbindgen configuration

- Updated build.rs to use a variable for the header name and improved readability.
- Modified cbindgen.toml to reorganize export settings and enforce naming conventions for types and functions.
- Added Clippy lints in lib.rs to enhance code quality and prevent common pitfalls.

Update CODEOWNERS to include datadog-ffe-ffi and team

Update datadog-ffe-ffi/Cargo.toml

Pin datadog-ffe to exact version

Co-authored-by: Oleksii Shmalko <[email protected]>

refactor(ffe): simplify error handling (#1285)

refactor(ffe): simplify error handling

Merge branch 'sameerank/FFL-1284-Create-datadog-ffe-ffi-crate' into ffe-simplify-error-handling

Co-authored-by: sameerank <[email protected]>

Replace single-attribute constructor with multi-attribute API

Replace ddog_ffe_evaluation_context_new_with_attribute with ddog_ffe_evaluation_context_new_with_attributes that accepts an array of AttributePair structs.

Remove unnecessary whitespace in evaluation_context.rs

Fix documentation formatting in evaluation_context.rs

Fix Cargo.toml

Prevent malloc error in drop functions

Handle take() errors gracefully in ddog_ffe_configuration_drop and ddog_ffe_assignment_drop to prevent malloc corruption from double-free or use-after-free scenarios. Previously, take() failures would panic and cause "pointer being freed was not allocated" errors.

Update drop functions to simplify error handling

Refactor EvaluationContext API

- Changed the `context` parameter in `ddog_ffe_get_assignment` to be a pointer for consistency.
- Removed the single-attribute constructor `ddog_ffe_evaluation_context_new` and updated the multi-attribute constructor's documentation for clarity.

Merge branch 'main' into sameerank/FFL-1284-Create-datadog-ffe-ffi-crate

[ffe] add pyo3 conversion methods

[ffe] Remove unused errors

[ffe] step back and remove IntoPyObject types

These will be defined in dd-trace-py to better match what Python/OF
need.

Revert "test(ffe): run sdk tests individually (#1273)"

This reverts commit b9c68ca.

Test generation in build.rs made tests hard to edit.

[ffe] Expose EvaluationFailure

This is required to allow tracers return more precise error codes.

[ffe] remove support for JSON:API

Merge remote-tracking branch 'origin/main' into HEAD

[ffe] fix clippy

Merge remote-tracking branch 'origin/main' into HEAD

Update datadog-ffe-ffi/src/evaluation_context.rs

Co-authored-by: Oleksii Shmalko <[email protected]>

Lint fix

Replace Assignment with ResolutionDetails structure

Replace AssignmentValue with C-compatible value representation

Add error mapping for ResolutionDetails error handling

Lint fixes

Clippy fixes

refactor(ffe): merge EvaluationError and EvalutionFailure into one type

The distinction served us well in Eppo but it's less useful as we're
migrating to OpenFeature and it handles these various errors rather
similarly.

Merge remote-tracking branch 'origin/ffe-pyo3-methods' into HEAD

feat: handle non-string attributes

feat(ffe): adding accessors for ResolutionDetails

feat(ffe): preserve json raw value

datadog-ffe-ffi: finish assignment getters

add missing license header

Merge remote-tracking branch 'origin/main' into HEAD

fix tests

fix parsing RawValue through TryParse

(I think) the way serde_json implements untagged enum parsing is by
first parsing into serde_json::Value and then parsing that to one of
the variants. This breaks RawValue deserialization because Value does
not hold onto original string.

This PR makes TryParse work by quickly scanning into RawValue first,
and then trying to parse it into target type. If that parsing fails,
the RawValue is copied into Box.

Merge remote-tracking branch 'origin/main' into HEAD

feat: support multiple/number expected flag type

Merge remote-tracking branch 'origin/main' into HEAD

merge main

Merge main@origin

Co-authored-by: dd-oleksii <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants