feat(library-config)!: make libdd-library-config no_std compatible#1770
feat(library-config)!: make libdd-library-config no_std compatible#1770pawelchcki wants to merge 19 commits intomainfrom
Conversation
…fig-ffi no_std compatible Add no_std support to both crates with std enabled by default. Core types and the matching engine compile under no_std+alloc, while file I/O, YAML parsing, and FFI bindings are gated behind the std feature flag.
📚 Documentation Check Results📦
|
Clippy Allow Annotation ReportComparing clippy allow annotations between branches:
Summary by Rule
Annotation Counts by File
Annotation Stats by Crate
About This ReportThis report tracks Clippy allow annotations for specific rules, showing how they've changed in this PR. Decreasing the number of these annotations generally improves code quality. |
🔒 Cargo Deny Results📦
|
Add dlmalloc (non-Linux) and rustix-dlmalloc (Linux) as global allocators, a panic handler, and no-std-dev/no-std-release profiles with panic="abort" to support building the FFI crate as staticlib/cdylib without std.
… builds Define minimal #[repr(C)] FFI types (Slice, CharSlice, CStr, AsBytes) locally for no_std, matching libdd-common-ffi layout. This enables ddog_library_configurator_new, with_local_path, with_fleet_path, with_process_info, and drop to compile and link without std.
Add CString and Vec types to the local ffi_types module for no_std, with proper Drop impls using alloc::ffi::CString. Un-gate the LibraryConfig struct while keeping rs_vec_to_ffi and logged_result_to_ffi_with_messages behind std.
|
✅ Tests 🎉 All green!❄️ No new flaky tests detected 🎯 Code Coverage (details) 🔗 Commit SHA: 3243266 | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback! |
Replace the custom ffi_types::CString and Vec wrappers with a re-export of alloc::ffi::CString. In no_std mode LibraryConfig fields are alloc::ffi::CString (no C header generation happens without std anyway).
Artifact Size Benchmark Reportaarch64-alpine-linux-musl
aarch64-unknown-linux-gnu
libdatadog-x64-windows
libdatadog-x86-windows
x86_64-alpine-linux-musl
x86_64-unknown-linux-gnu
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #1770 +/- ##
==========================================
- Coverage 71.28% 71.26% -0.02%
==========================================
Files 431 432 +1
Lines 64585 64873 +288
==========================================
+ Hits 46038 46233 +195
- Misses 18547 18640 +93
🚀 New features to boost your workflow:
|
BenchmarksComparisonBenchmark execution time: 2026-03-20 20:49:20 Comparing candidate commit 3243266 in PR branch Found 14 performance improvements and 0 performance regressions! Performance is the same for 45 metrics, 2 unstable metrics.
|
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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 | 49.114ms | 49.583ms ± 1.225ms | 49.458ms ± 0.076ms | 49.507ms | 49.631ms | 57.430ms | 62.017ms | 25.39% | 8.308 | 71.149 | 2.46% | 0.087ms | 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 | [49.413ms; 49.753ms] or [-0.342%; +0.342%] | None | None | None |
Group 2
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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 | 12.948ms | 12.981ms ± 0.016ms | 12.980ms ± 0.011ms | 12.991ms | 13.006ms | 13.019ms | 13.040ms | 0.46% | 0.411 | 0.176 | 0.12% | 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 | [12.979ms; 12.983ms] or [-0.017%; +0.017%] | None | None | None |
Group 3
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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 | 186.083µs | 186.470µs ± 0.200µs | 186.460µs ± 0.157µs | 186.621µs | 186.796µs | 186.897µs | 187.261µs | 0.43% | 0.387 | 0.161 | 0.11% | 0.014µs | 1 | 200 |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | 5340139.519op/s | 5362797.113op/s ± 5748.120op/s | 5363076.958op/s ± 4528.355op/s | 5367452.800op/s | 5371467.422op/s | 5373211.201op/s | 5373955.421op/s | 0.20% | -0.381 | 0.144 | 0.11% | 406.453op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | execution_time | 17.882µs | 17.956µs ± 0.035µs | 17.954µs ± 0.021µs | 17.974µs | 18.017µs | 18.054µs | 18.073µs | 0.66% | 0.614 | 0.642 | 0.19% | 0.002µs | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | throughput | 55332649.192op/s | 55693007.668op/s ± 107863.069op/s | 55697659.997op/s ± 65174.739op/s | 55768691.153op/s | 55851433.879op/s | 55906006.909op/s | 55921000.074op/s | 0.40% | -0.601 | 0.617 | 0.19% | 7627.071op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/good | execution_time | 10.338µs | 10.537µs ± 0.123µs | 10.534µs ± 0.043µs | 10.574µs | 10.631µs | 10.721µs | 11.998µs | 13.90% | 8.298 | 96.366 | 1.17% | 0.009µs | 1 | 200 |
| normalization/normalize_name/normalize_name/good | throughput | 83344224.908op/s | 94915170.699op/s ± 1019481.724op/s | 94928993.899op/s ± 383407.414op/s | 95362493.090op/s | 95958810.295op/s | 96372104.864op/s | 96731501.200op/s | 1.90% | -7.297 | 81.238 | 1.07% | 72088.244op/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.442µs; 186.498µs] or [-0.015%; +0.015%] | None | None | None |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | [5362000.478op/s; 5363593.747op/s] or [-0.015%; +0.015%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | execution_time | [17.951µs; 17.960µs] or [-0.027%; +0.027%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | throughput | [55678058.884op/s; 55707956.452op/s] or [-0.027%; +0.027%] | None | None | None |
| normalization/normalize_name/normalize_name/good | execution_time | [10.520µs; 10.554µs] or [-0.162%; +0.162%] | None | None | None |
| normalization/normalize_name/normalize_name/good | throughput | [94773880.337op/s; 95056461.061op/s] or [-0.149%; +0.149%] | None | None | None |
Group 4
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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 | 159.525µs | 160.684µs ± 0.386µs | 160.639µs ± 0.202µs | 160.854µs | 161.367µs | 161.749µs | 162.426µs | 1.11% | 1.014 | 2.668 | 0.24% | 0.027µ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 | [160.630µs; 160.737µs] or [-0.033%; +0.033%] | None | None | None |
Group 5
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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.891µs | 3.913µs ± 0.003µs | 3.912µs ± 0.001µs | 3.914µs | 3.918µs | 3.920µs | 3.921µs | 0.21% | -1.311 | 12.437 | 0.08% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/ | throughput | 255062089.714op/s | 255570178.439op/s ± 195452.472op/s | 255602181.072op/s ± 97781.372op/s | 255684390.472op/s | 255795574.180op/s | 255840982.755op/s | 256984511.382op/s | 0.54% | 1.340 | 12.664 | 0.08% | 13820.577op/s | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | 74.611µs | 76.708µs ± 0.874µs | 76.693µs ± 0.628µs | 77.317µs | 78.079µs | 79.230µs | 79.438µs | 3.58% | 0.255 | 0.050 | 1.14% | 0.062µs | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | 12588500.280op/s | 13038085.647op/s ± 148261.337op/s | 13039046.402op/s ± 105886.017op/s | 13144877.877op/s | 13274049.067op/s | 13331540.374op/s | 13402819.278op/s | 2.79% | -0.189 | -0.040 | 1.13% | 10483.660op/s | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | execution_time | 68.370µs | 68.568µs ± 0.074µs | 68.561µs ± 0.044µs | 68.613µs | 68.679µs | 68.713µs | 69.055µs | 0.72% | 1.295 | 8.178 | 0.11% | 0.005µs | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | throughput | 14481164.667op/s | 14584149.457op/s ± 15761.225op/s | 14585454.655op/s ± 9300.720op/s | 14593816.241op/s | 14606389.714op/s | 14618270.167op/s | 14626342.042op/s | 0.28% | -1.267 | 7.986 | 0.11% | 1114.487op/s | 1 | 200 |
| credit_card/is_card_number/37828224631 | execution_time | 3.894µs | 3.914µs ± 0.003µs | 3.914µs ± 0.002µs | 3.915µs | 3.917µs | 3.919µs | 3.920µs | 0.17% | -1.998 | 15.114 | 0.07% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/37828224631 | throughput | 255072891.869op/s | 255519590.296op/s ± 172317.122op/s | 255501951.170op/s ± 107391.353op/s | 255630771.555op/s | 255750170.106op/s | 255820726.352op/s | 256828410.286op/s | 0.52% | 2.025 | 15.348 | 0.07% | 12184.661op/s | 1 | 200 |
| credit_card/is_card_number/378282246310005 | execution_time | 64.612µs | 64.838µs ± 0.156µs | 64.806µs ± 0.089µs | 64.907µs | 65.122µs | 65.381µs | 65.555µs | 1.16% | 1.430 | 3.012 | 0.24% | 0.011µs | 1 | 200 |
| credit_card/is_card_number/378282246310005 | throughput | 15254338.038op/s | 15423109.014op/s ± 36911.446op/s | 15430714.550op/s ± 21231.847op/s | 15449721.970op/s | 15468930.653op/s | 15473065.402op/s | 15477095.446op/s | 0.30% | -1.409 | 2.916 | 0.24% | 2610.033op/s | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | execution_time | 45.400µs | 45.686µs ± 0.131µs | 45.695µs ± 0.095µs | 45.776µs | 45.896µs | 45.935µs | 45.963µs | 0.59% | -0.153 | -0.711 | 0.29% | 0.009µs | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | throughput | 21756643.302op/s | 21888547.819op/s ± 62631.822op/s | 21884462.109op/s ± 45304.908op/s | 21933555.603op/s | 21999054.708op/s | 22017762.846op/s | 22026405.134op/s | 0.65% | 0.164 | -0.708 | 0.29% | 4428.739op/s | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | execution_time | 6.430µs | 6.436µs ± 0.003µs | 6.436µs ± 0.002µs | 6.438µs | 6.442µs | 6.447µs | 6.449µs | 0.20% | 0.999 | 1.586 | 0.05% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | throughput | 155069423.004op/s | 155378556.187op/s ± 83694.159op/s | 155385090.803op/s ± 51513.289op/s | 155440616.634op/s | 155491588.433op/s | 155516760.118op/s | 155522536.206op/s | 0.09% | -0.994 | 1.573 | 0.05% | 5918.071op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | execution_time | 3.898µs | 3.913µs ± 0.002µs | 3.913µs ± 0.001µs | 3.914µs | 3.917µs | 3.918µs | 3.919µs | 0.16% | -0.892 | 7.006 | 0.06% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | throughput | 255168943.812op/s | 255566246.776op/s ± 155944.121op/s | 255573426.283op/s ± 89853.071op/s | 255663183.419op/s | 255777375.235op/s | 255850615.125op/s | 256557169.473op/s | 0.38% | 0.907 | 7.104 | 0.06% | 11026.915op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | 61.457µs | 62.681µs ± 0.505µs | 62.714µs ± 0.358µs | 63.009µs | 63.470µs | 63.597µs | 63.845µs | 1.80% | -0.200 | -0.421 | 0.80% | 0.036µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | 15662866.622op/s | 15954835.016op/s ± 128844.795op/s | 15945455.999op/s ± 91470.929op/s | 16040868.187op/s | 16188204.580op/s | 16262951.172op/s | 16271499.983op/s | 2.04% | 0.237 | -0.397 | 0.81% | 9110.703op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | 53.950µs | 54.165µs ± 0.076µs | 54.163µs ± 0.045µs | 54.210µs | 54.295µs | 54.340µs | 54.369µs | 0.38% | 0.011 | 0.245 | 0.14% | 0.005µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | 18392775.636op/s | 18462268.490op/s ± 25982.182op/s | 18462793.778op/s ± 15292.387op/s | 18476289.379op/s | 18507208.285op/s | 18524449.569op/s | 18535675.615op/s | 0.39% | -0.001 | 0.244 | 0.14% | 1837.218op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | 3.897µs | 3.913µs ± 0.002µs | 3.912µs ± 0.001µs | 3.914µs | 3.917µs | 3.919µs | 3.921µs | 0.22% | -0.530 | 8.566 | 0.06% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | 255036318.728op/s | 255577507.017op/s ± 157555.171op/s | 255597367.349op/s ± 83988.573op/s | 255669490.968op/s | 255759536.405op/s | 255870573.921op/s | 256591057.300op/s | 0.39% | 0.549 | 8.668 | 0.06% | 11140.833op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | 50.313µs | 50.538µs ± 0.106µs | 50.525µs ± 0.059µs | 50.585µs | 50.721µs | 50.872µs | 50.990µs | 0.92% | 1.022 | 1.928 | 0.21% | 0.007µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | 19611700.221op/s | 19787263.316op/s ± 41307.198op/s | 19792110.865op/s ± 23113.761op/s | 19814976.655op/s | 19840734.128op/s | 19861670.598op/s | 19875536.978op/s | 0.42% | -1.004 | 1.869 | 0.21% | 2920.860op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | 45.396µs | 45.728µs ± 0.140µs | 45.738µs ± 0.101µs | 45.835µs | 45.936µs | 45.969µs | 45.988µs | 0.55% | -0.279 | -0.735 | 0.30% | 0.010µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | 21744567.656op/s | 21868880.636op/s ± 66803.566op/s | 21863575.284op/s ± 48344.984op/s | 21911825.814op/s | 21989595.426op/s | 22005589.151op/s | 22028365.897op/s | 0.75% | 0.290 | -0.727 | 0.30% | 4723.725op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | 6.430µs | 6.438µs ± 0.004µs | 6.437µs ± 0.003µs | 6.440µs | 6.445µs | 6.448µs | 6.454µs | 0.26% | 0.641 | 0.886 | 0.06% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | 154949005.425op/s | 155333051.866op/s ± 97351.367op/s | 155344526.474op/s ± 63541.584op/s | 155402793.370op/s | 155478687.787op/s | 155505433.774op/s | 155529307.066op/s | 0.12% | -0.637 | 0.874 | 0.06% | 6883.781op/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.913µs] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number/ | throughput | [255543090.606op/s; 255597266.272op/s] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | [76.587µs; 76.829µs] or [-0.158%; +0.158%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | [13017538.052op/s; 13058633.243op/s] or [-0.158%; +0.158%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | execution_time | [68.557µs; 68.578µs] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | throughput | [14581965.103op/s; 14586333.811op/s] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number/37828224631 | execution_time | [3.913µs; 3.914µs] or [-0.009%; +0.009%] | None | None | None |
| credit_card/is_card_number/37828224631 | throughput | [255495708.800op/s; 255543471.791op/s] or [-0.009%; +0.009%] | None | None | None |
| credit_card/is_card_number/378282246310005 | execution_time | [64.817µs; 64.860µs] or [-0.033%; +0.033%] | None | None | None |
| credit_card/is_card_number/378282246310005 | throughput | [15417993.443op/s; 15428224.585op/s] or [-0.033%; +0.033%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | execution_time | [45.668µs; 45.704µs] or [-0.040%; +0.040%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | throughput | [21879867.651op/s; 21897227.987op/s] or [-0.040%; +0.040%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | execution_time | [6.435µs; 6.436µs] or [-0.007%; +0.007%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | throughput | [155366956.982op/s; 155390155.393op/s] or [-0.007%; +0.007%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | execution_time | [3.913µs; 3.913µs] or [-0.008%; +0.008%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | throughput | [255544634.421op/s; 255587859.132op/s] or [-0.008%; +0.008%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | [62.611µs; 62.751µs] or [-0.112%; +0.112%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | [15936978.367op/s; 15972691.666op/s] or [-0.112%; +0.112%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | [54.154µs; 54.175µs] or [-0.020%; +0.020%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | [18458667.609op/s; 18465869.370op/s] or [-0.020%; +0.020%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | [3.912µs; 3.913µs] or [-0.009%; +0.009%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | [255555671.386op/s; 255599342.648op/s] or [-0.009%; +0.009%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | [50.523µs; 50.552µs] or [-0.029%; +0.029%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | [19781538.536op/s; 19792988.097op/s] or [-0.029%; +0.029%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | [45.708µs; 45.747µs] or [-0.042%; +0.042%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | [21859622.304op/s; 21878138.968op/s] or [-0.042%; +0.042%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | [6.437µs; 6.438µs] or [-0.009%; +0.009%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | [155319559.903op/s; 155346543.829op/s] or [-0.009%; +0.009%] | None | None | None |
Group 6
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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 | 189.970ns | 192.206ns ± 1.751ns | 192.055ns ± 1.247ns | 193.198ns | 195.589ns | 196.831ns | 200.229ns | 4.26% | 1.045 | 1.610 | 0.91% | 0.124ns | 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 | [191.964ns; 192.449ns] or [-0.126%; +0.126%] | None | None | None |
Group 7
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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.017µs | 5.075µs ± 0.028µs | 5.070µs ± 0.020µs | 5.092µs | 5.136µs | 5.138µs | 5.144µs | 1.46% | 0.818 | 0.080 | 0.56% | 0.002µ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.071µs; 5.079µs] or [-0.077%; +0.077%] | None | None | None |
Group 8
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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.066µs | 146.725µs ± 1.713µs | 146.419µs ± 0.592µs | 147.120µs | 148.560µs | 152.883µs | 161.733µs | 10.46% | 4.936 | 34.787 | 1.16% | 0.121µ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 | [146.488µs; 146.963µs] or [-0.162%; +0.162%] | None | None | None |
Group 9
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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 | 34.319µs | 34.772µs ± 0.755µs | 34.433µs ± 0.055µs | 34.523µs | 36.364µs | 36.394µs | 38.026µs | 10.43% | 1.824 | 1.907 | 2.17% | 0.053µ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 | [34.668µs; 34.877µs] or [-0.301%; +0.301%] | None | None | None |
Group 10
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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 | 4.219ms | 4.224ms ± 0.003ms | 4.224ms ± 0.002ms | 4.226ms | 4.228ms | 4.232ms | 4.254ms | 0.72% | 3.861 | 32.638 | 0.08% | 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 | [4.224ms; 4.225ms] or [-0.011%; +0.011%] | None | None | None |
Group 11
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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/2598 | execution_time | 3.402ms | 3.435ms ± 0.032ms | 3.424ms ± 0.007ms | 3.433ms | 3.520ms | 3.543ms | 3.556ms | 3.86% | 2.182 | 3.872 | 0.93% | 0.002ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| receiver_entry_point/report/2598 | execution_time | [3.430ms; 3.439ms] or [-0.129%; +0.129%] | None | None | None |
Group 12
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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.930ms | 13.973ms ± 0.025ms | 13.970ms ± 0.012ms | 13.983ms | 14.016ms | 14.067ms | 14.104ms | 0.96% | 1.815 | 6.138 | 0.18% | 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 | [13.970ms; 13.977ms] or [-0.025%; +0.025%] | None | None | None |
Group 13
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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 | 86.368µs | 86.727µs ± 0.133µs | 86.719µs ± 0.053µs | 86.770µs | 86.849µs | 87.037µs | 88.082µs | 1.57% | 5.415 | 53.044 | 0.15% | 0.009µ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 | [86.709µs; 86.745µs] or [-0.021%; +0.021%] | None | None | None |
Group 14
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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 | 495.453µs | 497.119µs ± 1.855µs | 496.327µs ± 0.402µs | 497.004µs | 500.559µs | 503.511µs | 506.162µs | 1.98% | 1.724 | 2.866 | 0.37% | 0.131µs | 1 | 200 |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | 1975652.931op/s | 2011619.765op/s ± 7459.876op/s | 2014800.839op/s ± 1632.194op/s | 2016158.107op/s | 2017615.917op/s | 2018271.327op/s | 2018356.504op/s | 0.18% | -1.703 | 2.728 | 0.37% | 527.493op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | 377.107µs | 377.948µs ± 0.420µs | 377.940µs ± 0.294µs | 378.210µs | 378.697µs | 379.002µs | 379.275µs | 0.35% | 0.425 | -0.165 | 0.11% | 0.030µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | 2636611.134op/s | 2645871.277op/s ± 2936.437op/s | 2645926.134op/s ± 2063.075op/s | 2648127.091op/s | 2650181.783op/s | 2650969.736op/s | 2651765.742op/s | 0.22% | -0.420 | -0.174 | 0.11% | 207.637op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | 168.540µs | 168.878µs ± 0.133µs | 168.866µs ± 0.077µs | 168.961µs | 169.118µs | 169.229µs | 169.283µs | 0.25% | 0.357 | 0.312 | 0.08% | 0.009µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | 5907277.450op/s | 5921433.873op/s ± 4669.255op/s | 5921857.646op/s ± 2683.541op/s | 5924190.817op/s | 5928745.128op/s | 5931178.265op/s | 5933307.144op/s | 0.19% | -0.352 | 0.308 | 0.08% | 330.166op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | 36.827µs | 37.034µs ± 0.123µs | 37.067µs ± 0.103µs | 37.138µs | 37.199µs | 37.235µs | 37.247µs | 0.48% | -0.190 | -1.455 | 0.33% | 0.009µs | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | throughput | 26847786.874op/s | 27002749.368op/s ± 89872.594op/s | 26977882.674op/s ± 75057.453op/s | 27099282.655op/s | 27134688.371op/s | 27141319.393op/s | 27153928.466op/s | 0.65% | 0.195 | -1.456 | 0.33% | 6354.952op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | 46.217µs | 46.316µs ± 0.065µs | 46.304µs ± 0.036µs | 46.352µs | 46.422µs | 46.452µs | 46.820µs | 1.11% | 2.710 | 16.959 | 0.14% | 0.005µs | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | 21358573.247op/s | 21590865.579op/s ± 29993.568op/s | 21596511.169op/s ± 16688.328op/s | 21611003.159op/s | 21625825.688op/s | 21630327.091op/s | 21637186.203op/s | 0.19% | -2.662 | 16.462 | 0.14% | 2120.866op/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.862µs; 497.376µs] or [-0.052%; +0.052%] | None | None | None |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | [2010585.898op/s; 2012653.632op/s] or [-0.051%; +0.051%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | [377.890µs; 378.006µs] or [-0.015%; +0.015%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | [2645464.316op/s; 2646278.239op/s] or [-0.015%; +0.015%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | [168.860µs; 168.897µs] or [-0.011%; +0.011%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | [5920786.760op/s; 5922080.987op/s] or [-0.011%; +0.011%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | [37.017µs; 37.051µs] or [-0.046%; +0.046%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | throughput | [26990293.890op/s; 27015204.845op/s] or [-0.046%; +0.046%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | [46.307µs; 46.325µs] or [-0.019%; +0.019%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | [21586708.759op/s; 21595022.399op/s] or [-0.019%; +0.019%] | None | None | None |
Group 15
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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.307µs | 2.353µs ± 0.013µs | 2.352µs ± 0.004µs | 2.359µs | 2.374µs | 2.378µs | 2.380µs | 1.17% | -0.982 | 2.559 | 0.56% | 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.351µs; 2.355µs] or [-0.077%; +0.077%] | None | None | None |
Group 16
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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_timestamped_x1000 | execution_time | 4.232ms | 4.236ms ± 0.008ms | 4.235ms ± 0.001ms | 4.236ms | 4.240ms | 4.246ms | 4.345ms | 2.60% | 11.941 | 154.706 | 0.19% | 0.001ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| profile_add_sample_timestamped_x1000 | execution_time | [4.235ms; 4.237ms] or [-0.027%; +0.027%] | None | None | None |
Group 17
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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 | 728.096µs | 729.441µs ± 0.612µs | 729.423µs ± 0.354µs | 729.797µs | 730.541µs | 730.960µs | 732.439µs | 0.41% | 0.754 | 2.186 | 0.08% | 0.043µ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 | [729.356µs; 729.526µs] or [-0.012%; +0.012%] | None | None | None |
Group 18
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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 | 235.877ns | 249.118ns ± 14.979ns | 242.679ns ± 4.069ns | 251.441ns | 283.017ns | 290.129ns | 292.849ns | 20.67% | 1.504 | 0.953 | 6.00% | 1.059ns | 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 | [247.042ns; 251.194ns] or [-0.833%; +0.833%] | None | None | None |
Group 19
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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.207µs | 3.205µs ± 1.418µs | 2.982µs ± 0.030µs | 3.014µs | 3.684µs | 13.945µs | 14.734µs | 394.17% | 7.332 | 55.007 | 44.14% | 0.100µ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.009µs; 3.402µs] or [-6.132%; +6.132%] | None | None | None |
Group 20
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 3243266 | 1774038746 | pawel/no-std-library-config |
| 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.194µs | 26.725µs ± 10.111µs | 18.670µs ± 0.400µs | 35.281µs | 45.520µs | 46.194µs | 70.428µs | 277.22% | 0.925 | 0.612 | 37.74% | 0.715µ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.323µs; 28.126µs] or [-5.244%; +5.244%] | None | None | None |
Baseline
Omitted due to size.
cbindgen doesn't evaluate cfg(not(feature = "std")) and picks up the ffi_types module types, causing redefinitions with common.h. Exclude Slice_CChar, CharSlice, CStr, Error, and Vec_U8 from the generated header since they are already provided by common.h. Also simplify ffi_types::CString to a re-export of alloc::ffi::CString.
- Fix import ordering for rustfmt (cfg(not(...)) before cfg(feature)) - Remove ddog_CStr from cbindgen exclude list (not in common.h) - Regenerate LICENSE-3rdparty.yml for new deps
… builds Make the minimum subset of libdd-common-ffi work in no_std+alloc so that libdd-library-config-ffi can use the real FFI types instead of duplicating them in a local ffi_types module (~55 lines removed). - Add std feature to libdd-common-ffi (default on), gating std-only modules - Replace std:: imports with core::/alloc:: equivalents in slice.rs and cstr.rs - Replace std::ffi::CStr with core::ffi::CStr in libdd-common cstr macros - Make libdd-common-ffi a non-optional dependency of libdd-library-config-ffi - Delete the duplicated ffi_types module from libdd-library-config-ffi - Remove cbindgen exclude list (no longer needed without ffi_types)
…wn dep BTreeMap from alloc::collections works in both std and no_std without needing the hashbrown crate. The config maps are small, so O(log n) vs O(1) is negligible, and deterministic iteration order is a bonus.
… YAML parsing yaml-peg supports no_std+alloc, enabling parse_stable_config_slice to work without std. Moved trim_bytes into parse_stable_config_slice so all callers (including get_config_from_bytes) benefit from whitespace trimming. Removed serde_yaml dependency.
…staticlib/cdylib compat The staticlib/cdylib crate types require an unwinding runtime that doesn't exist in no_std. Gate #![no_std] on the new no_std_entry feature so that --no-default-features compiles with implicit std, while true no_std builds use --features no_std_entry with -Zbuild-std panic=abort.
ee51658 to
e77ef42
Compare
…eature to consumers Make vec.rs no_std-compatible (core/alloc imports, gate anyhow impl). Move vec module out of #[cfg(feature = "std")] gate since it only needs alloc. Add features = ["std"] to all workspace crates that depend on libdd-common-ffi with default-features = false, since they all need the std-gated types (Handle, Result, Error, etc).
Remove #[cfg(feature = "std")] from get_config_from_bytes and its call chain (get_config, get_single_source_config, get_single_source_process_config). These functions only use alloc types, not std I/O or filesystem.
Summary
libdd-library-configcompile underno_std(withalloc), withstdenabled by default. Core types (ProcessInfo,LibraryConfig,Configurator, etc.) and the matching engine are available inno_std; file I/O, YAML parsing, and protobuf support are gated behind thestdfeature.libdd-library-config-ffigate all FFI bindings behind astdfeature (default on). Withoutstd, the crate is effectively empty since C bindings require a hosted environment.libdd-profiling-ffito explicitly enablestdwhen pulling in the config FFI crate.Changes
libdd-library-config/Cargo.toml: Addedstdfeature (default) gatingserde_yaml,prost,rand,rmp,rmp-serde,libdd-trace-protobuf,memfd,rustix. Changedserdeandanyhowtodefault-features = false. Addedhashbrownforno_stdHashMap support.libdd-library-config/src/lib.rs: Added#![cfg_attr(not(feature = "std"), no_std)], replacedstdimports withcore/allocequivalents, gated modules and functions requiringstd.libdd-library-config-ffi/Cargo.toml: Addedstdfeature gatinglibdd-common,libdd-common-ffi,anyhow.cbindgenimpliesstd.libdd-library-config-ffi/src/lib.rs: Gated all FFI types andextern "C"functions behind#[cfg(feature = "std")].libdd-profiling-ffi/Cargo.toml: Addedlibdd-library-config-ffi/stdtodatadog-library-config-ffifeature.Test plan
cargo build -p libdd-library-config --no-default-features— compiles under no_stdcargo build -p libdd-library-config— compiles with std (default)cargo check -p libdd-library-config-ffi --no-default-features— checks under no_stdcargo build -p libdd-library-config-ffi— compiles with std (default)cargo test -p libdd-library-config— all 10 tests passcargo test -p libdd-library-config-ffi— tests pass