Skip to content

feat: Add FFE_FLAGS remote config product and capability#1532

Open
leoromanovsky wants to merge 5 commits intomainfrom
feature/ffe-rc-product
Open

feat: Add FFE_FLAGS remote config product and capability#1532
leoromanovsky wants to merge 5 commits intomainfrom
feature/ffe-rc-product

Conversation

@leoromanovsky
Copy link
Contributor

@leoromanovsky leoromanovsky commented Feb 7, 2026

Motivation

Add Feature Flagging and Experimentation (FFE) support to the remote config infrastructure, enabling tracers to subscribe to FFE_FLAGS configurations via the sidecar.

WIP: php tracer changes (DataDog/dd-trace-php#3630)

Changes

  • Add FfeFlags variant to RemoteConfigProduct enum
  • Add "FFE_FLAGS" string mapping in Display and FromStr
  • Add FfeFlagConfigurationRules = 46 to RemoteConfigCapabilities
  • Add FfeFlags(Vec<u8>) variant to RemoteConfigData to preserve raw config bytes

Decisions

  • Raw bytes are preserved (not parsed) in FfeFlags(Vec<u8>) since each tracer handles evaluation with the datadog-ffe crate directly
  • Capability bit 46 matches the server-side FFE capability definition

@codecov-commenter
Copy link

codecov-commenter commented Feb 7, 2026

Codecov Report

❌ Patch coverage is 0% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.25%. Comparing base (9a3e4ee) to head (8d39017).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1532      +/-   ##
==========================================
+ Coverage   71.16%   71.25%   +0.08%     
==========================================
  Files         426      426              
  Lines       69871    69860      -11     
==========================================
+ Hits        49724    49777      +53     
+ Misses      20147    20083      -64     
Components Coverage Δ
libdd-crashtracker 62.36% <ø> (-0.02%) ⬇️
libdd-crashtracker-ffi 16.80% <ø> (ø)
libdd-alloc 98.73% <ø> (ø)
libdd-data-pipeline 86.86% <ø> (ø)
libdd-data-pipeline-ffi 78.68% <ø> (ø)
libdd-common 80.58% <ø> (ø)
libdd-common-ffi 74.54% <ø> (ø)
libdd-telemetry 65.09% <ø> (ø)
libdd-telemetry-ffi 21.17% <ø> (ø)
libdd-dogstatsd-client 83.75% <ø> (ø)
datadog-ipc 82.70% <ø> (+0.04%) ⬆️
libdd-profiling 81.83% <ø> (ø)
libdd-profiling-ffi 64.74% <ø> (ø)
datadog-sidecar 35.51% <ø> (+1.12%) ⬆️
datdog-sidecar-ffi 12.84% <ø> (+5.16%) ⬆️
spawn-worker 55.18% <ø> (ø)
libdd-tinybytes 93.43% <ø> (ø)
libdd-trace-normalization 82.33% <ø> (ø)
libdd-trace-obfuscation 94.17% <ø> (ø)
libdd-trace-protobuf 61.18% <ø> (ø)
libdd-trace-utils 89.37% <ø> (-0.17%) ⬇️
datadog-tracer-flare 63.49% <ø> (+1.42%) ⬆️
libdd-log 75.57% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@pr-commenter
Copy link

pr-commenter bot commented Feb 7, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-02-08 23:58:13

Comparing candidate commit 8d39017 in PR branch feature/ffe-rc-product with baseline commit 9a3e4ee in branch main.

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

scenario:benching deserializing traces from msgpack to their internal representation

  • 🟥 execution_time [+1.951ms; +2.506ms] or [+4.029%; +5.176%]

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 8d39017 1770594169 feature/ffe-rc-product
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.606ms 10.632ms ± 0.014ms 10.630ms ± 0.009ms 10.639ms 10.655ms 10.664ms 10.707ms 0.72% 1.185 3.926 0.13% 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.630ms; 10.633ms] or [-0.018%; +0.018%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8d39017 1770594169 feature/ffe-rc-product
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.228µs 33.948µs ± 1.280µs 33.337µs ± 0.072µs 33.536µs 36.714µs 36.766µs 37.162µs 11.47% 1.682 0.886 3.76% 0.090µ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.771µs; 34.126µs] or [-0.522%; +0.522%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8d39017 1770594169 feature/ffe-rc-product
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 50.279ms 50.645ms ± 1.546ms 50.447ms ± 0.041ms 50.487ms 50.658ms 60.906ms 66.137ms 31.10% 8.371 70.848 3.04% 0.109ms 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 [50.431ms; 50.860ms] or [-0.423%; +0.423%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8d39017 1770594169 feature/ffe-rc-product
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 160.843µs 161.529µs ± 0.494µs 161.426µs ± 0.152µs 161.627µs 162.091µs 162.871µs 166.546µs 3.17% 6.059 53.768 0.31% 0.035µ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 [161.461µs; 161.598µs] or [-0.042%; +0.042%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8d39017 1770594169 feature/ffe-rc-product
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 534.766µs 536.654µs ± 1.454µs 536.095µs ± 0.452µs 537.077µs 539.353µs 541.990µs 545.192µs 1.70% 2.380 7.953 0.27% 0.103µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1834216.599op/s 1863413.104op/s ± 5016.071op/s 1865341.338op/s ± 1574.983op/s 1866516.306op/s 1867898.422op/s 1868519.184op/s 1869976.363op/s 0.25% -2.346 7.697 0.27% 354.690op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 379.702µs 380.579µs ± 0.305µs 380.589µs ± 0.212µs 380.775µs 381.096µs 381.227µs 381.346µs 0.20% 0.054 -0.396 0.08% 0.022µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2622287.828op/s 2627574.382op/s ± 2104.604op/s 2627509.014op/s ± 1467.728op/s 2629172.608op/s 2630900.076op/s 2631979.063op/s 2633643.073op/s 0.23% -0.050 -0.396 0.08% 148.818op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 189.426µs 189.945µs ± 0.187µs 189.925µs ± 0.114µs 190.045µs 190.272µs 190.489µs 190.552µs 0.33% 0.593 0.672 0.10% 0.013µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5247899.326op/s 5264694.228op/s ± 5187.984op/s 5265234.500op/s ± 3158.623op/s 5268105.897op/s 5271723.343op/s 5274979.521op/s 5279099.922op/s 0.26% -0.586 0.663 0.10% 366.846op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.447µs 36.570µs ± 0.050µs 36.570µs ± 0.034µs 36.603µs 36.655µs 36.682µs 36.711µs 0.38% 0.144 -0.211 0.14% 0.004µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 27240071.809op/s 27345182.112op/s ± 37128.544op/s 27344578.616op/s ± 25662.745op/s 27372059.389op/s 27404426.436op/s 27421522.669op/s 27436771.385op/s 0.34% -0.137 -0.216 0.14% 2625.385op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.915µs 46.061µs ± 0.058µs 46.052µs ± 0.036µs 46.096µs 46.161µs 46.235µs 46.265µs 0.46% 0.699 0.867 0.13% 0.004µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21614538.803op/s 21710594.641op/s ± 27379.435op/s 21714769.507op/s ± 17163.378op/s 21729093.850op/s 21747943.615op/s 21762815.634op/s 21779343.309op/s 0.30% -0.690 0.848 0.13% 1936.018op/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 [536.452µs; 536.855µs] or [-0.038%; +0.038%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1862717.925op/s; 1864108.284op/s] or [-0.037%; +0.037%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [380.537µs; 380.622µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2627282.704op/s; 2627866.060op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [189.919µs; 189.971µs] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5263975.223op/s; 5265413.232op/s] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [36.563µs; 36.576µs] or [-0.019%; +0.019%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [27340036.453op/s; 27350327.771op/s] or [-0.019%; +0.019%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [46.052µs; 46.069µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21706800.115op/s; 21714389.167op/s] or [-0.017%; +0.017%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8d39017 1770594169 feature/ffe-rc-product
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 188.384ns 190.721ns ± 2.034ns 190.377ns ± 1.302ns 191.662ns 194.751ns 196.782ns 198.249ns 4.13% 1.205 1.232 1.06% 0.144ns 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 [190.439ns; 191.003ns] or [-0.148%; +0.148%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8d39017 1770594169 feature/ffe-rc-product
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.182µs 3.263µs ± 1.451µs 3.033µs ± 0.032µs 3.070µs 3.709µs 14.283µs 15.097µs 397.71% 7.293 54.563 44.36% 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.062µs; 3.464µs] or [-6.164%; +6.164%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8d39017 1770594169 feature/ffe-rc-product
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 204.959µs 205.745µs ± 0.411µs 205.708µs ± 0.281µs 206.034µs 206.436µs 206.805µs 206.900µs 0.58% 0.358 -0.265 0.20% 0.029µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4833254.673op/s 4860414.482op/s ± 9700.915op/s 4861253.263op/s ± 6632.192op/s 4866562.314op/s 4875364.888op/s 4877792.147op/s 4879034.879op/s 0.37% -0.348 -0.277 0.20% 685.958op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.610µs 18.777µs ± 0.106µs 18.751µs ± 0.064µs 18.844µs 18.960µs 19.088µs 19.250µs 2.66% 1.084 1.584 0.56% 0.007µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 51947937.601op/s 53258128.220op/s ± 297742.758op/s 53331887.127op/s ± 180814.732op/s 53468721.236op/s 53631681.860op/s 53684835.557op/s 53734306.623op/s 0.75% -1.044 1.419 0.56% 21053.592op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.806µs 10.882µs ± 0.034µs 10.878µs ± 0.019µs 10.898µs 10.939µs 10.958µs 11.119µs 2.21% 1.865 10.680 0.31% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 89936330.570op/s 91897645.382op/s ± 286226.646op/s 91926986.114op/s ± 160270.258op/s 92066422.079op/s 92280656.268op/s 92436820.525op/s 92541965.309op/s 0.67% -1.781 10.000 0.31% 20239.280op/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 [205.688µs; 205.802µ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 [4859070.029op/s; 4861758.936op/s] or [-0.028%; +0.028%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.762µs; 18.792µs] or [-0.078%; +0.078%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [53216863.937op/s; 53299392.503op/s] or [-0.077%; +0.077%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.877µs; 10.887µs] or [-0.043%; +0.043%] None None None
normalization/normalize_name/normalize_name/good throughput [91857977.122op/s; 91937313.642op/s] or [-0.043%; +0.043%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8d39017 1770594169 feature/ffe-rc-product
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 13.987ms 14.050ms ± 0.035ms 14.043ms ± 0.016ms 14.062ms 14.102ms 14.162ms 14.261ms 1.55% 2.546 11.011 0.24% 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.045ms; 14.054ms] or [-0.034%; +0.034%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8d39017 1770594169 feature/ffe-rc-product
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 9.509ms 9.809ms ± 0.074ms 9.823ms ± 0.031ms 9.853ms 9.892ms 9.915ms 10.023ms 2.04% -1.417 3.042 0.75% 0.005ms 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 [9.799ms; 9.820ms] or [-0.104%; +0.104%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8d39017 1770594169 feature/ffe-rc-product
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample2_frames_x1000 execution_time 535.534µs 536.229µs ± 0.429µs 536.118µs ± 0.177µs 536.353µs 537.182µs 537.532µs 538.850µs 0.51% 2.179 7.450 0.08% 0.030µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample2_frames_x1000 execution_time [536.170µs; 536.289µs] or [-0.011%; +0.011%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8d39017 1770594169 feature/ffe-rc-product
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 144.037µs 145.899µs ± 1.783µs 145.564µs ± 0.561µs 146.168µs 148.018µs 154.034µs 162.130µs 11.38% 5.350 39.622 1.22% 0.126µ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 [145.652µs; 146.146µs] or [-0.169%; +0.169%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8d39017 1770594169 feature/ffe-rc-product
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample_frames_x1000 execution_time 3.985ms 3.989ms ± 0.007ms 3.988ms ± 0.001ms 3.990ms 3.993ms 3.996ms 4.079ms 2.27% 11.117 139.364 0.17% 0.000ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample_frames_x1000 execution_time [3.988ms; 3.990ms] or [-0.024%; +0.024%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8d39017 1770594169 feature/ffe-rc-product
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.913µs ± 0.003µs 3.913µs ± 0.002µs 3.915µs 3.918µs 3.921µs 3.922µs 0.23% -0.512 3.369 0.09% 0.000µs 1 200
credit_card/is_card_number/ throughput 254959368.530op/s 255549590.189op/s ± 219716.621op/s 255540976.852op/s ± 152984.363op/s 255719019.104op/s 255838183.332op/s 255919273.434op/s 256752221.956op/s 0.47% 0.525 3.432 0.09% 15536.311op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 77.061µs 77.512µs ± 0.467µs 77.388µs ± 0.238µs 77.684µs 78.433µs 78.923µs 79.946µs 3.30% 1.857 4.733 0.60% 0.033µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12508498.563op/s 12901728.256op/s ± 76888.621op/s 12921889.767op/s ± 39865.279op/s 12959601.360op/s 12972631.325op/s 12976444.729op/s 12976673.132op/s 0.42% -1.799 4.374 0.59% 5436.847op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 70.623µs 70.906µs ± 0.365µs 70.751µs ± 0.078µs 70.982µs 71.663µs 72.140µs 73.004µs 3.18% 2.623 8.479 0.51% 0.026µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13697970.058op/s 14103490.244op/s ± 71550.156op/s 14134144.561op/s ± 15542.065op/s 14145051.282op/s 14154152.587op/s 14157525.296op/s 14159610.544op/s 0.18% -2.569 8.065 0.51% 5059.360op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.895µs 3.912µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.919µs 3.920µs 3.922µs 0.27% 0.024 2.569 0.09% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254945514.245op/s 255604820.163op/s ± 224584.246op/s 255626366.831op/s ± 153460.666op/s 255781690.285op/s 255874622.920op/s 255919871.806op/s 256737527.697op/s 0.43% -0.012 2.614 0.09% 15880.504op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 67.423µs 67.648µs ± 0.302µs 67.527µs ± 0.063µs 67.705µs 68.280µs 68.930µs 69.069µs 2.28% 2.624 7.331 0.45% 0.021µs 1 200
credit_card/is_card_number/378282246310005 throughput 14478300.842op/s 14782647.931op/s ± 65318.469op/s 14808803.093op/s ± 13736.802op/s 14819721.344op/s 14828888.603op/s 14831536.058op/s 14831725.060op/s 0.15% -2.591 7.127 0.44% 4618.713op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 44.704µs 45.092µs ± 0.151µs 45.096µs ± 0.096µs 45.194µs 45.334µs 45.396µs 45.402µs 0.68% -0.229 -0.404 0.33% 0.011µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 22025339.061op/s 22177045.538op/s ± 74236.008op/s 22175096.261op/s ± 47061.918op/s 22220249.338op/s 22317701.662op/s 22340498.819op/s 22369588.323op/s 0.88% 0.245 -0.395 0.33% 5249.278op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.027µs 6.039µs ± 0.017µs 6.034µs ± 0.003µs 6.038µs 6.101µs 6.106µs 6.111µs 1.27% 3.295 9.637 0.29% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 163635201.931op/s 165595585.052op/s ± 471334.874op/s 165714690.627op/s ± 79616.151op/s 165788489.607op/s 165864332.576op/s 165917712.578op/s 165922734.679op/s 0.13% -3.288 9.604 0.28% 33328.409op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.893µs 3.912µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.917µs 3.918µs 3.934µs 0.57% 0.620 14.402 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254170832.023op/s 255626065.537op/s ± 215930.578op/s 255629241.845op/s ± 124202.306op/s 255758306.559op/s 255886291.617op/s 255947946.284op/s 256896960.006op/s 0.50% -0.579 14.317 0.08% 15268.598op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.492µs 65.718µs ± 0.163µs 65.744µs ± 0.060µs 65.793µs 65.882µs 65.910µs 65.934µs 0.29% -4.154 25.006 0.25% 0.012µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15166660.647op/s 15216634.331op/s ± 38089.795op/s 15210472.410op/s ± 13807.271op/s 15227882.634op/s 15256001.578op/s 15397774.168op/s 15505856.113op/s 1.94% 4.227 25.694 0.25% 2693.355op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 52.949µs 53.017µs ± 0.040µs 53.014µs ± 0.025µs 53.035µs 53.099µs 53.130µs 53.144µs 0.24% 0.749 0.443 0.08% 0.003µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18816870.828op/s 18861935.629op/s ± 14391.762op/s 18862775.257op/s ± 8762.415op/s 18872492.399op/s 18882721.555op/s 18885034.271op/s 18886016.793op/s 0.12% -0.744 0.434 0.08% 1017.651op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.890µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.913µs 3.917µs 3.919µs 3.924µs 0.31% -1.013 12.040 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254842074.157op/s 255631664.042op/s ± 202906.832op/s 255643119.406op/s ± 96520.238op/s 255740208.756op/s 255891665.420op/s 255948702.837op/s 257059743.218op/s 0.55% 1.044 12.239 0.08% 14347.680op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 49.747µs 49.796µs ± 0.029µs 49.789µs ± 0.018µs 49.812µs 49.850µs 49.881µs 49.918µs 0.26% 1.019 1.286 0.06% 0.002µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 20032829.921op/s 20081982.517op/s ± 11774.477op/s 20084708.507op/s ± 7177.385op/s 20090601.617op/s 20097637.322op/s 20099691.472op/s 20101833.287op/s 0.09% -1.015 1.272 0.06% 832.581op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 44.708µs 45.166µs ± 0.146µs 45.176µs ± 0.102µs 45.276µs 45.388µs 45.451µs 45.463µs 0.64% -0.295 -0.330 0.32% 0.010µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 21995815.048op/s 22140882.121op/s ± 71598.649op/s 22135711.262op/s ± 49679.602op/s 22186814.383op/s 22258552.866op/s 22302652.438op/s 22367499.016op/s 1.05% 0.310 -0.312 0.32% 5062.789op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.027µs 6.035µs ± 0.005µs 6.034µs ± 0.003µs 6.037µs 6.044µs 6.049µs 6.051µs 0.28% 0.970 0.954 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 165258066.878op/s 165697580.934op/s ± 128644.769op/s 165722281.365op/s ± 70822.007op/s 165787249.685op/s 165876482.626op/s 165909894.599op/s 165918581.139op/s 0.12% -0.965 0.942 0.08% 9096.559op/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.913µs; 3.914µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number/ throughput [255519139.579op/s; 255580040.800op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [77.447µs; 77.576µs] or [-0.084%; +0.084%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12891072.233op/s; 12912384.280op/s] or [-0.083%; +0.083%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [70.856µs; 70.957µs] or [-0.071%; +0.071%] None None None
credit_card/is_card_number/ 378282246310005 throughput [14093574.081op/s; 14113406.408op/s] or [-0.070%; +0.070%] None None None
credit_card/is_card_number/37828224631 execution_time [3.912µs; 3.913µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number/37828224631 throughput [255573694.946op/s; 255635945.380op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number/378282246310005 execution_time [67.606µs; 67.690µs] or [-0.062%; +0.062%] None None None
credit_card/is_card_number/378282246310005 throughput [14773595.419op/s; 14791700.442op/s] or [-0.061%; +0.061%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [45.071µs; 45.113µs] or [-0.046%; +0.046%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [22166757.141op/s; 22187333.934op/s] or [-0.046%; +0.046%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.036µs; 6.041µs] or [-0.040%; +0.040%] None None None
credit_card/is_card_number/x371413321323331 throughput [165530262.572op/s; 165660907.532op/s] or [-0.039%; +0.039%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.912µs; 3.912µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/ throughput [255596139.636op/s; 255655991.438op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.695µs; 65.741µs] or [-0.034%; +0.034%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15211355.452op/s; 15221913.210op/s] or [-0.035%; +0.035%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [53.011µs; 53.022µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18859941.069op/s; 18863930.188op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.911µs; 3.912µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255603543.107op/s; 255659784.978op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [49.792µs; 49.800µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [20080350.688op/s; 20083614.346op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [45.146µs; 45.186µs] or [-0.045%; +0.045%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [22130959.237op/s; 22150805.005op/s] or [-0.045%; +0.045%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.034µs; 6.036µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [165679752.006op/s; 165715409.862op/s] or [-0.011%; +0.011%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8d39017 1770594169 feature/ffe-rc-product
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 241.381ns 253.316ns ± 13.990ns 247.480ns ± 4.238ns 254.522ns 282.338ns 296.668ns 298.377ns 20.57% 1.628 1.593 5.51% 0.989ns 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 [251.377ns; 255.255ns] or [-0.765%; +0.765%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8d39017 1770594169 feature/ffe-rc-product
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.355µs 2.403µs ± 0.020µs 2.398µs ± 0.006µs 2.411µs 2.435µs 2.452µs 2.558µs 6.68% 2.855 19.084 0.81% 0.001µ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.400µs; 2.406µs] or [-0.112%; +0.112%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8d39017 1770594169 feature/ffe-rc-product
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 5.141µs 5.219µs ± 0.043µs 5.229µs ± 0.036µs 5.259µs 5.278µs 5.291µs 5.297µs 1.29% -0.146 -1.366 0.83% 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.213µs; 5.225µs] or [-0.115%; +0.115%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8d39017 1770594169 feature/ffe-rc-product
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.207µs 85.445µs ± 0.189µs 85.426µs ± 0.059µs 85.488µs 85.599µs 85.927µs 87.503µs 2.43% 7.122 70.813 0.22% 0.013µ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.419µs; 85.471µs] or [-0.031%; +0.031%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8d39017 1770594169 feature/ffe-rc-product
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 18.370µs 26.690µs ± 9.613µs 19.097µs ± 0.592µs 34.998µs 43.325µs 49.101µs 59.225µs 210.12% 0.720 -0.707 35.92% 0.680µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [25.358µs; 28.023µs] or [-4.991%; +4.991%] None None None

Baseline

Omitted due to size.

@dd-octo-sts
Copy link

dd-octo-sts bot commented Feb 7, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 91.69 MB 91.69 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.38 MB 8.38 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.76 MB 10.76 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 106.40 MB 106.40 MB 0% (0 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 25.08 MB 25.08 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 75.94 KB 75.94 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 172.51 MB 172.52 MB +0% (+16.00 KB) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 882.83 MB 882.83 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.57 MB 9.57 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 75.94 KB 75.94 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 23.04 MB 23.05 MB +.03% (+8.00 KB) 🔍
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 48.45 MB 48.45 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 21.22 MB 21.22 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 77.12 KB 77.12 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 176.62 MB 176.63 MB +0% (+16.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 866.92 MB 866.92 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.24 MB 7.24 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 77.12 KB 77.12 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 24.62 MB 24.62 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 44.15 MB 44.15 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 80.18 MB 80.18 MB 0% (0 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 9.88 MB 9.88 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 100.31 MB 100.31 MB 0% (0 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.44 MB 11.44 MB 0% (0 B) 👌

@leoromanovsky leoromanovsky force-pushed the feature/ffe-rc-product branch from 4816ee1 to 6217aa7 Compare February 7, 2026 04:25
@leoromanovsky leoromanovsky marked this pull request as ready for review February 7, 2026 05:02
@leoromanovsky leoromanovsky requested review from a team as code owners February 7, 2026 05:02
- Add FfeFlags variant to RemoteConfigProduct enum
- Add "FFE_FLAGS" string mapping in Display and FromStr
- Add FfeFlagConfigurationRules = 46 to RemoteConfigCapabilities
- Add FfeFlags(Vec<u8>) variant to RemoteConfigData to preserve raw bytes
@leoromanovsky leoromanovsky force-pushed the feature/ffe-rc-product branch from 6217aa7 to 6380964 Compare February 7, 2026 05:11
…ature flag

Gate FFE_FLAGS parsing behind an optional `ffe` feature, consistent with
how `live-debugger` works. When enabled, data is parsed into a typed
UniversalFlagConfig with proper Debug output; otherwise falls back to
raw Vec<u8>.
@leoromanovsky
Copy link
Contributor Author

Updated to include the UniversalFlagConfiguration struct by adding a dependency where it is defined behind a flag. Modeled on the live debugging product.

@leoromanovsky leoromanovsky requested a review from a team as a code owner February 8, 2026 23:39
@leoromanovsky
Copy link
Contributor Author

Sorry for the additional commits after requesting review @bwoebi - should have waited for the fmt and other CI to pass beforehand. Thanks!

Tested locally with both ffe flag on and off:

> cargo check -p datadog-remote-config
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.47s

> cargo check -p datadog-remote-config --features ffe
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.55s

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.

4 participants