fix(data-pipeline-ffi): harden agentless config setters and parse obfuscation config once - #2474
Conversation
…uscation config once # Motivation PR #2418 added agentless FFI config setters with two issues flagged in review: * the endpoint setter mutated the handle before validating both inputs * the obfuscation config JSON was parsed twice (once in the setter, again in the builder) * The setters also lacked test coverage. # Changes * FFI setters modify config atomically * Store the parsed ObfuscationConfig on TraceExporterConfig instead of the raw JSON string * Add tests for set_agentless_endpoint, set_agentless_timeout, and set_obfuscation_config
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
📚 Documentation Check Results📦
|
🔒 Cargo Deny Results📦
|
BenchmarksComparisonBenchmark execution time: 2026-09-07 14:25:01 Comparing candidate commit f0f6931 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 25 metrics, 0 unstable metrics.
|
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f0f6931 | 1788790118 | paullgdc/obfuscation/ffi_builder_fixes |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| trace_buffer/1_senders/10us_delay | execution_time | 56.350ms | 56.631ms ± 0.192ms | 56.582ms ± 0.102ms | 56.729ms | 57.017ms | 57.267ms | 57.458ms | 1.55% | 1.412 | 2.268 | 0.34% | 0.014ms | 1 | 200 |
| trace_buffer/1_senders/10us_delay | throughput | 15663.751op/s | 15892.443op/s ± 53.717op/s | 15906.086op/s ± 28.585op/s | 15933.245op/s | 15952.733op/s | 15961.833op/s | 15971.613op/s | 0.41% | -1.389 | 2.172 | 0.34% | 3.798op/s | 1 | 200 |
| trace_buffer/1_senders/1us_delay | execution_time | 49.933ms | 50.082ms ± 0.036ms | 50.080ms ± 0.009ms | 50.087ms | 50.175ms | 50.192ms | 50.195ms | 0.23% | 0.867 | 3.535 | 0.07% | 0.003ms | 1 | 200 |
| trace_buffer/1_senders/1us_delay | throughput | 17930.115op/s | 17970.463op/s ± 12.831op/s | 17971.328op/s ± 3.233op/s | 17975.399op/s | 17989.142op/s | 17992.413op/s | 18024.264op/s | 0.29% | -0.857 | 3.540 | 0.07% | 0.907op/s | 1 | 200 |
| trace_buffer/1_senders/no_delay | execution_time | 327.469µs | 336.608µs ± 5.313µs | 336.104µs ± 2.351µs | 339.014µs | 340.776µs | 349.746µs | 393.355µs | 17.03% | 6.165 | 63.540 | 1.57% | 0.376µs | 1 | 200 |
| trace_buffer/1_senders/no_delay | throughput | 2288009.100op/s | 2674338.164op/s ± 38821.444op/s | 2677744.910op/s ± 18732.210op/s | 2693496.093op/s | 2718368.320op/s | 2743313.249op/s | 2748347.777op/s | 2.64% | -4.976 | 47.634 | 1.45% | 2745.091op/s | 1 | 200 |
| trace_buffer/2_senders/10us_delay | execution_time | 56.603ms | 57.082ms ± 0.208ms | 57.061ms ± 0.140ms | 57.210ms | 57.464ms | 57.585ms | 57.701ms | 1.12% | 0.441 | -0.218 | 0.36% | 0.015ms | 1 | 200 |
| trace_buffer/2_senders/10us_delay | throughput | 31195.399op/s | 31534.267op/s ± 114.790op/s | 31545.159op/s ± 77.195op/s | 31615.983op/s | 31704.394op/s | 31737.835op/s | 31800.422op/s | 0.81% | -0.423 | -0.236 | 0.36% | 8.117op/s | 1 | 200 |
| trace_buffer/2_senders/1us_delay | execution_time | 50.013ms | 50.111ms ± 0.040ms | 50.105ms ± 0.021ms | 50.128ms | 50.183ms | 50.235ms | 50.339ms | 0.47% | 1.699 | 5.647 | 0.08% | 0.003ms | 1 | 200 |
| trace_buffer/2_senders/1us_delay | throughput | 35757.800op/s | 35920.094op/s ± 28.982op/s | 35924.551op/s ± 15.067op/s | 35939.064op/s | 35951.315op/s | 35972.101op/s | 35990.361op/s | 0.18% | -1.688 | 5.586 | 0.08% | 2.049op/s | 1 | 200 |
| trace_buffer/2_senders/no_delay | execution_time | 846.471µs | 899.758µs ± 19.927µs | 901.336µs ± 11.681µs | 911.372µs | 925.804µs | 936.383µs | 1001.061µs | 11.06% | 0.195 | 2.633 | 2.21% | 1.409µs | 1 | 200 |
| trace_buffer/2_senders/no_delay | throughput | 1798091.426op/s | 2001511.522op/s ± 44275.237op/s | 1997034.535op/s ± 26221.798op/s | 2027954.985op/s | 2083086.704op/s | 2110729.161op/s | 2126474.988op/s | 6.48% | 0.079 | 1.748 | 2.21% | 3130.732op/s | 1 | 200 |
| trace_buffer/4_senders/10us_delay | execution_time | 57.226ms | 57.525ms ± 0.131ms | 57.512ms ± 0.083ms | 57.603ms | 57.750ms | 57.901ms | 58.014ms | 0.87% | 0.646 | 1.094 | 0.23% | 0.009ms | 1 | 200 |
| trace_buffer/4_senders/10us_delay | throughput | 62054.423op/s | 62582.089op/s ± 142.336op/s | 62595.622op/s ± 90.322op/s | 62676.021op/s | 62799.809op/s | 62872.537op/s | 62908.598op/s | 0.50% | -0.627 | 1.055 | 0.23% | 10.065op/s | 1 | 200 |
| trace_buffer/4_senders/1us_delay | execution_time | 50.089ms | 50.171ms ± 0.043ms | 50.162ms ± 0.021ms | 50.188ms | 50.253ms | 50.329ms | 50.412ms | 0.50% | 2.168 | 7.704 | 0.09% | 0.003ms | 1 | 200 |
| trace_buffer/4_senders/1us_delay | throughput | 71410.890op/s | 71754.619op/s ± 61.880op/s | 71766.785op/s ± 29.793op/s | 71794.962op/s | 71821.697op/s | 71842.163op/s | 71872.551op/s | 0.15% | -2.155 | 7.621 | 0.09% | 4.376op/s | 1 | 200 |
| trace_buffer/4_senders/no_delay | execution_time | 2.185ms | 2.415ms ± 0.065ms | 2.423ms ± 0.040ms | 2.456ms | 2.509ms | 2.536ms | 2.568ms | 6.00% | -0.596 | 0.573 | 2.70% | 0.005ms | 1 | 200 |
| trace_buffer/4_senders/no_delay | throughput | 1401887.798op/s | 1492056.984op/s ± 41101.054op/s | 1485994.983op/s ± 24845.967op/s | 1515678.619op/s | 1564529.288op/s | 1595926.181op/s | 1647309.796op/s | 10.86% | 0.784 | 1.008 | 2.75% | 2906.283op/s | 1 | 200 |
| trace_buffer/8_senders/10us_delay | execution_time | 57.531ms | 57.841ms ± 0.186ms | 57.781ms ± 0.097ms | 57.917ms | 58.243ms | 58.342ms | 58.394ms | 1.06% | 1.067 | 0.456 | 0.32% | 0.013ms | 1 | 200 |
| trace_buffer/8_senders/10us_delay | throughput | 123300.174op/s | 124479.678op/s ± 399.503op/s | 124607.441op/s ± 208.428op/s | 124766.565op/s | 124940.641op/s | 125025.876op/s | 125150.235op/s | 0.44% | -1.054 | 0.426 | 0.32% | 28.249op/s | 1 | 200 |
| trace_buffer/8_senders/1us_delay | execution_time | 50.201ms | 50.291ms ± 0.057ms | 50.274ms ± 0.031ms | 50.316ms | 50.416ms | 50.447ms | 50.546ms | 0.54% | 1.304 | 1.927 | 0.11% | 0.004ms | 1 | 200 |
| trace_buffer/8_senders/1us_delay | throughput | 142445.261op/s | 143167.132op/s ± 163.130op/s | 143214.885op/s ± 87.090op/s | 143277.626op/s | 143356.010op/s | 143383.356op/s | 143424.006op/s | 0.15% | -1.296 | 1.895 | 0.11% | 11.535op/s | 1 | 200 |
| trace_buffer/8_senders/no_delay | execution_time | 6.007ms | 6.450ms ± 0.095ms | 6.462ms ± 0.052ms | 6.516ms | 6.571ms | 6.627ms | 6.650ms | 2.90% | -1.245 | 2.711 | 1.47% | 0.007ms | 1 | 200 |
| trace_buffer/8_senders/no_delay | throughput | 1082759.250op/s | 1116463.156op/s ± 16815.176op/s | 1114125.504op/s ± 8911.087op/s | 1122250.541op/s | 1148427.427op/s | 1167924.069op/s | 1198514.574op/s | 7.57% | 1.391 | 3.330 | 1.50% | 1189.013op/s | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| trace_buffer/1_senders/10us_delay | execution_time | [56.605ms; 56.658ms] or [-0.047%; +0.047%] | None | None | None |
| trace_buffer/1_senders/10us_delay | throughput | [15884.998op/s; 15899.888op/s] or [-0.047%; +0.047%] | None | None | None |
| trace_buffer/1_senders/1us_delay | execution_time | [50.077ms; 50.087ms] or [-0.010%; +0.010%] | None | None | None |
| trace_buffer/1_senders/1us_delay | throughput | [17968.684op/s; 17972.241op/s] or [-0.010%; +0.010%] | None | None | None |
| trace_buffer/1_senders/no_delay | execution_time | [335.872µs; 337.345µs] or [-0.219%; +0.219%] | None | None | None |
| trace_buffer/1_senders/no_delay | throughput | [2668957.885op/s; 2679718.443op/s] or [-0.201%; +0.201%] | None | None | None |
| trace_buffer/2_senders/10us_delay | execution_time | [57.053ms; 57.110ms] or [-0.051%; +0.051%] | None | None | None |
| trace_buffer/2_senders/10us_delay | throughput | [31518.358op/s; 31550.175op/s] or [-0.050%; +0.050%] | None | None | None |
| trace_buffer/2_senders/1us_delay | execution_time | [50.106ms; 50.117ms] or [-0.011%; +0.011%] | None | None | None |
| trace_buffer/2_senders/1us_delay | throughput | [35916.078op/s; 35924.111op/s] or [-0.011%; +0.011%] | None | None | None |
| trace_buffer/2_senders/no_delay | execution_time | [896.997µs; 902.520µs] or [-0.307%; +0.307%] | None | None | None |
| trace_buffer/2_senders/no_delay | throughput | [1995375.400op/s; 2007647.644op/s] or [-0.307%; +0.307%] | None | None | None |
| trace_buffer/4_senders/10us_delay | execution_time | [57.507ms; 57.543ms] or [-0.032%; +0.032%] | None | None | None |
| trace_buffer/4_senders/10us_delay | throughput | [62562.363op/s; 62601.815op/s] or [-0.032%; +0.032%] | None | None | None |
| trace_buffer/4_senders/1us_delay | execution_time | [50.165ms; 50.177ms] or [-0.012%; +0.012%] | None | None | None |
| trace_buffer/4_senders/1us_delay | throughput | [71746.043op/s; 71763.195op/s] or [-0.012%; +0.012%] | None | None | None |
| trace_buffer/4_senders/no_delay | execution_time | [2.406ms; 2.424ms] or [-0.375%; +0.375%] | None | None | None |
| trace_buffer/4_senders/no_delay | throughput | [1486360.773op/s; 1497753.195op/s] or [-0.382%; +0.382%] | None | None | None |
| trace_buffer/8_senders/10us_delay | execution_time | [57.816ms; 57.867ms] or [-0.045%; +0.045%] | None | None | None |
| trace_buffer/8_senders/10us_delay | throughput | [124424.311op/s; 124535.045op/s] or [-0.044%; +0.044%] | None | None | None |
| trace_buffer/8_senders/1us_delay | execution_time | [50.283ms; 50.299ms] or [-0.016%; +0.016%] | None | None | None |
| trace_buffer/8_senders/1us_delay | throughput | [143144.524op/s; 143189.741op/s] or [-0.016%; +0.016%] | None | None | None |
| trace_buffer/8_senders/no_delay | execution_time | [6.437ms; 6.464ms] or [-0.205%; +0.205%] | None | None | None |
| trace_buffer/8_senders/no_delay | throughput | [1114132.734op/s; 1118793.578op/s] or [-0.209%; +0.209%] | None | None | None |
Group 2
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f0f6931 | 1788790118 | paullgdc/obfuscation/ffi_builder_fixes |
| 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 | 9.707ms | 9.735ms ± 0.016ms | 9.731ms ± 0.010ms | 9.744ms | 9.767ms | 9.783ms | 9.793ms | 0.63% | 0.957 | 0.614 | 0.17% | 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 | [9.733ms; 9.738ms] or [-0.023%; +0.023%] | None | None | None |
Group 1
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f0f6931 | 1788790118 | paullgdc/obfuscation/ffi_builder_fixes |
| 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 | 304.834µs | 305.659µs ± 0.597µs | 305.566µs ± 0.131µs | 305.727µs | 306.249µs | 309.383µs | 309.844µs | 1.40% | 4.719 | 28.089 | 0.19% | 0.042µ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 | [305.576µs; 305.742µs] or [-0.027%; +0.027%] | None | None | None |
Group 2
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f0f6931 | 1788790118 | paullgdc/obfuscation/ffi_builder_fixes |
| 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 | 29.416µs | 30.651µs ± 1.673µs | 29.596µs ± 0.068µs | 32.694µs | 33.427µs | 33.454µs | 33.478µs | 13.12% | 0.927 | -1.091 | 5.44% | 0.118µ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 | [30.419µs; 30.883µs] or [-0.756%; +0.756%] | None | None | None |
Group 3
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f0f6931 | 1788790118 | paullgdc/obfuscation/ffi_builder_fixes |
| 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.527µs | 2.587µs ± 0.019µs | 2.584µs ± 0.008µs | 2.599µs | 2.617µs | 2.629µs | 2.647µs | 2.45% | -0.266 | 1.382 | 0.75% | 0.001µs | 1 | 200 |
| tags/replace_trace_tags_v04 | execution_time | 2.557µs | 2.750µs ± 0.071µs | 2.774µs ± 0.020µs | 2.797µs | 2.809µs | 2.813µs | 2.814µs | 1.44% | -1.454 | 0.625 | 2.56% | 0.005µ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.584µs; 2.590µs] or [-0.104%; +0.104%] | None | None | None |
| tags/replace_trace_tags_v04 | execution_time | [2.740µs; 2.760µs] or [-0.356%; +0.356%] | None | None | None |
Group 4
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f0f6931 | 1788790118 | paullgdc/obfuscation/ffi_builder_fixes |
| 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.062µs | 1.091µs ± 0.006µs | 1.092µs ± 0.003µs | 1.095µs | 1.098µs | 1.101µs | 1.107µs | 1.35% | -1.613 | 5.063 | 0.52% | 0.000µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| write only interface | execution_time | [1.090µs; 1.092µs] or [-0.072%; +0.072%] | None | None | None |
Group 5
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f0f6931 | 1788790118 | paullgdc/obfuscation/ffi_builder_fixes |
| 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.899µs | 3.917µs ± 0.004µs | 3.916µs ± 0.003µs | 3.919µs | 3.925µs | 3.928µs | 3.930µs | 0.35% | 0.380 | 1.409 | 0.11% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/ | throughput | 254469354.676op/s | 255308029.697op/s ± 272009.046op/s | 255353398.005op/s ± 176954.788op/s | 255514144.571op/s | 255626170.368op/s | 255663500.407op/s | 256482175.242op/s | 0.44% | -0.369 | 1.427 | 0.11% | 19233.944op/s | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | 79.140µs | 80.286µs ± 0.544µs | 80.204µs ± 0.359µs | 80.608µs | 81.308µs | 81.507µs | 81.893µs | 2.11% | 0.459 | -0.282 | 0.68% | 0.038µs | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | 12211006.982op/s | 12455968.328op/s ± 84093.146op/s | 12468129.641op/s ± 55683.458op/s | 12521000.222op/s | 12581203.617op/s | 12615529.528op/s | 12635777.750op/s | 1.34% | -0.429 | -0.313 | 0.67% | 5946.283op/s | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | execution_time | 72.569µs | 73.588µs ± 0.556µs | 73.534µs ± 0.365µs | 73.918µs | 74.650µs | 74.923µs | 74.980µs | 1.97% | 0.432 | -0.361 | 0.75% | 0.039µs | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | throughput | 13336927.489op/s | 13589965.494op/s ± 102375.565op/s | 13599200.685op/s ± 67505.854op/s | 13663381.804op/s | 13746724.239op/s | 13770474.049op/s | 13779937.417op/s | 1.33% | -0.400 | -0.393 | 0.75% | 7239.046op/s | 1 | 200 |
| credit_card/is_card_number/37828224631 | execution_time | 3.894µs | 3.917µs ± 0.005µs | 3.916µs ± 0.003µs | 3.919µs | 3.923µs | 3.930µs | 3.958µs | 1.08% | 2.948 | 21.652 | 0.14% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/37828224631 | throughput | 252646206.874op/s | 255310975.619op/s ± 352638.864op/s | 255362946.840op/s ± 182545.911op/s | 255528358.283op/s | 255651278.364op/s | 255678614.267op/s | 256817891.579op/s | 0.57% | -2.886 | 21.224 | 0.14% | 24935.333op/s | 1 | 200 |
| credit_card/is_card_number/378282246310005 | execution_time | 69.289µs | 70.150µs ± 0.488µs | 70.101µs ± 0.338µs | 70.484µs | 70.948µs | 71.586µs | 71.721µs | 2.31% | 0.564 | 0.182 | 0.69% | 0.035µs | 1 | 200 |
| credit_card/is_card_number/378282246310005 | throughput | 13942912.257op/s | 14255855.822op/s ± 98842.192op/s | 14265227.083op/s ± 68717.444op/s | 14326640.756op/s | 14401120.945op/s | 14431005.636op/s | 14432376.645op/s | 1.17% | -0.525 | 0.104 | 0.69% | 6989.198op/s | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | execution_time | 52.164µs | 52.272µs ± 0.052µs | 52.267µs ± 0.035µs | 52.301µs | 52.368µs | 52.421µs | 52.444µs | 0.34% | 0.817 | 0.676 | 0.10% | 0.004µs | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | throughput | 19068056.675op/s | 19130700.157op/s ± 19178.924op/s | 19132713.119op/s ± 12699.647op/s | 19145252.237op/s | 19155778.887op/s | 19161879.713op/s | 19170153.987op/s | 0.20% | -0.811 | 0.663 | 0.10% | 1356.155op/s | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | execution_time | 5.708µs | 5.861µs ± 0.069µs | 5.864µs ± 0.049µs | 5.908µs | 5.977µs | 6.006µs | 6.012µs | 2.52% | -0.001 | -0.507 | 1.18% | 0.005µs | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | throughput | 166341989.581op/s | 170643524.326op/s ± 2018938.271op/s | 170540782.181op/s ± 1427638.453op/s | 172083608.234op/s | 174009011.925op/s | 175140539.158op/s | 175207097.458op/s | 2.74% | 0.054 | -0.495 | 1.18% | 142760.494op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | execution_time | 3.903µs | 3.916µs ± 0.004µs | 3.915µs ± 0.003µs | 3.919µs | 3.924µs | 3.928µs | 3.930µs | 0.37% | 0.598 | 0.439 | 0.11% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | throughput | 254464288.384op/s | 255333526.158op/s ± 271179.301op/s | 255396488.794op/s ± 180058.665op/s | 255539306.182op/s | 255654889.896op/s | 255753120.404op/s | 256224072.116op/s | 0.32% | -0.592 | 0.435 | 0.11% | 19175.272op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | 63.883µs | 64.450µs ± 0.206µs | 64.438µs ± 0.135µs | 64.569µs | 64.866µs | 64.969µs | 65.136µs | 1.08% | 0.460 | 0.392 | 0.32% | 0.015µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | 15352595.986op/s | 15516023.861op/s ± 49588.563op/s | 15518728.483op/s ± 32436.619op/s | 15551877.049op/s | 15584963.748op/s | 15611577.859op/s | 15653588.495op/s | 0.87% | -0.439 | 0.367 | 0.32% | 3506.441op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | 57.857µs | 58.108µs ± 0.161µs | 58.080µs ± 0.095µs | 58.191µs | 58.404µs | 58.667µs | 58.686µs | 1.04% | 1.177 | 1.801 | 0.28% | 0.011µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | 17039944.881op/s | 17209319.410op/s ± 47385.059op/s | 17217701.113op/s ± 28097.069op/s | 17241543.411op/s | 17270157.269op/s | 17280683.587op/s | 17283868.965op/s | 0.38% | -1.157 | 1.734 | 0.27% | 3350.630op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | 3.892µs | 3.915µs ± 0.004µs | 3.915µs ± 0.003µs | 3.918µs | 3.923µs | 3.926µs | 3.932µs | 0.44% | -0.089 | 3.926 | 0.11% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | 254308178.696op/s | 255401751.089op/s ± 288530.457op/s | 255417866.483op/s ± 203797.900op/s | 255620383.114op/s | 255730301.281op/s | 255798823.877op/s | 256965743.669op/s | 0.61% | 0.109 | 4.000 | 0.11% | 20402.184op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | 54.606µs | 54.852µs ± 0.169µs | 54.801µs ± 0.086µs | 54.915µs | 55.162µs | 55.467µs | 55.701µs | 1.64% | 1.830 | 4.581 | 0.31% | 0.012µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | 17953141.712op/s | 18231117.315op/s ± 55960.037op/s | 18247946.823op/s ± 28651.858op/s | 18270527.360op/s | 18289128.850op/s | 18300695.260op/s | 18312888.611op/s | 0.36% | -1.800 | 4.421 | 0.31% | 3956.972op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | 52.193µs | 52.290µs ± 0.056µs | 52.290µs ± 0.035µs | 52.317µs | 52.391µs | 52.429µs | 52.570µs | 0.54% | 1.023 | 2.466 | 0.11% | 0.004µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | 19022133.540op/s | 19124134.405op/s ± 20600.766op/s | 19124293.616op/s ± 12837.087op/s | 19139090.801op/s | 19152174.722op/s | 19157290.794op/s | 19159686.104op/s | 0.19% | -1.012 | 2.413 | 0.11% | 1456.694op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | 5.707µs | 5.858µs ± 0.067µs | 5.853µs ± 0.046µs | 5.902µs | 5.972µs | 5.998µs | 6.052µs | 3.39% | 0.054 | -0.284 | 1.14% | 0.005µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | 165247813.637op/s | 170717232.383op/s ± 1952626.091op/s | 170845109.951op/s ± 1338042.081op/s | 172069570.686op/s | 174053780.752op/s | 175025611.102op/s | 175225604.249op/s | 2.56% | 0.005 | -0.298 | 1.14% | 138071.515op/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.916µs; 3.917µs] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number/ | throughput | [255270331.859op/s; 255345727.534op/s] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | [80.211µs; 80.362µs] or [-0.094%; +0.094%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | [12444313.826op/s; 12467622.829op/s] or [-0.094%; +0.094%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | execution_time | [73.511µs; 73.665µs] or [-0.105%; +0.105%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | throughput | [13575777.225op/s; 13604153.763op/s] or [-0.104%; +0.104%] | None | None | None |
| credit_card/is_card_number/37828224631 | execution_time | [3.916µs; 3.918µs] or [-0.019%; +0.019%] | None | None | None |
| credit_card/is_card_number/37828224631 | throughput | [255262103.264op/s; 255359847.974op/s] or [-0.019%; +0.019%] | None | None | None |
| credit_card/is_card_number/378282246310005 | execution_time | [70.082µs; 70.218µs] or [-0.096%; +0.096%] | None | None | None |
| credit_card/is_card_number/378282246310005 | throughput | [14242157.245op/s; 14269554.399op/s] or [-0.096%; +0.096%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | execution_time | [52.265µs; 52.279µs] or [-0.014%; +0.014%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | throughput | [19128042.143op/s; 19133358.172op/s] or [-0.014%; +0.014%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | execution_time | [5.851µs; 5.871µs] or [-0.164%; +0.164%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | throughput | [170363718.899op/s; 170923329.753op/s] or [-0.164%; +0.164%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | execution_time | [3.916µs; 3.917µs] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | throughput | [255295943.315op/s; 255371109.001op/s] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | [64.422µs; 64.479µs] or [-0.044%; +0.044%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | [15509151.363op/s; 15522896.359op/s] or [-0.044%; +0.044%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | [58.086µs; 58.131µs] or [-0.038%; +0.038%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | [17202752.297op/s; 17215886.524op/s] or [-0.038%; +0.038%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | [3.915µs; 3.916µs] or [-0.016%; +0.016%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | [255361763.543op/s; 255441738.636op/s] or [-0.016%; +0.016%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | [54.828µs; 54.875µs] or [-0.043%; +0.043%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | [18223361.793op/s; 18238872.838op/s] or [-0.043%; +0.043%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | [52.282µs; 52.298µs] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | [19121279.337op/s; 19126989.473op/s] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | [5.849µs; 5.868µs] or [-0.159%; +0.159%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | [170446617.186op/s; 170987847.580op/s] or [-0.159%; +0.159%] | None | None | None |
Group 6
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f0f6931 | 1788790118 | paullgdc/obfuscation/ffi_builder_fixes |
| 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.897µs | 4.989µs ± 0.048µs | 4.984µs ± 0.030µs | 5.012µs | 5.076µs | 5.083µs | 5.085µs | 2.02% | 0.529 | -0.779 | 0.96% | 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 | [4.982µs; 4.996µs] or [-0.133%; +0.133%] | None | None | None |
Group 7
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | f0f6931 | 1788790118 | paullgdc/obfuscation/ffi_builder_fixes |
| 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 | 15.235µs | 15.614µs ± 0.229µs | 15.587µs ± 0.114µs | 15.702µs | 15.962µs | 16.311µs | 17.126µs | 9.87% | 2.267 | 10.292 | 1.47% | 0.016µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| two way interface | execution_time | [15.582µs; 15.646µs] or [-0.204%; +0.204%] | None | None | None |
Baseline
Omitted due to size.
|
✅ All CI checks and tests passed. 🎉 All green!🧪 All tests passed 🎯 Code Coverage (details) 🔗 Commit SHA: f0f6931 | Docs | View more details | Give us feedback! |
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
|
…ibdd-data-pipeline, libdd-li... (#2571) <!-- release-proposal-inputs: {"crates":"libdd-capabilities-impl, libdd-common, libdd-data-pipeline, libdd-library-config, libdd-profiling-heap-allocator, libdd-remote-config, libdd-sampling, libdd-shared-runtime, libdd-telemetry, libdd-tinybytes, libdd-trace-utils","main_start_ref":"","level_overrides":"","bypass_standard_checks":false} --> # Release proposal for libdd-capabilities-impl, libdd-common, libdd-data-pipeline, libdd-library-config, libdd-profiling-heap-allocator, libdd-remote-config, libdd-sampling, libdd-shared-runtime, libdd-telemetry, libdd-tinybytes, libdd-trace-utils and their dependencies This PR contains version bumps based on public API changes and commits since last release. ###⚠️ Crates left out of this proposal affected by its major bumps These publishable workspace crates are not part of this release but their dependency requirement was rewritten on this branch while their published version still requires the old major. If they are a dependency on your deployment not including them in the release could result in duplicate packages or symbol incompatibility. - `libdd-capabilities` `3.0.1` → `4.0.0` affects: `libdd-crashtracker`, `libdd-ffe`, `libdd-live-debugger` - `libdd-capabilities-impl` `5.0.0` → `6.0.0` affects: `libdd-crashtracker`, `libdd-live-debugger`, `libdd-tracer-flare` - `libdd-common` `6.0.0` → `7.0.0` affects: `libdd-crashtracker`, `libdd-ffe`, `libdd-http-client`, `libdd-ipc`, `libdd-live-debugger`, `libdd-profiling`, `libdd-tracer-flare` - `libdd-data-pipeline` `10.0.0` → `11.0.0` affects: `libdd-live-debugger` - `libdd-remote-config` `5.0.0` → `6.0.0` affects: `libdd-ffe`, `libdd-live-debugger`, `libdd-tracer-flare` - `libdd-telemetry` `8.0.0` → `9.0.0` affects: `libdd-crashtracker` - `libdd-trace-stats` `9.0.0` → `10.0.0` affects: `libdd-ipc` - `libdd-trace-utils` `12.0.0` → `13.0.0` affects: `libdd-tracer-flare` ## libdd-capabilities **Next version:** `4.0.0` **Semver bump:** `major` **Tag:** `libdd-capabilities-v4.0.0` ### Commits - feat(trace-exporter)!: add API to force flush stats on the trace exporter (#2538) - refactor!: apply small timeout pooling strategy to libdd-http-client as well (#2449) - chore: move all remaining external deps to workspace-level dependencies (#2476) ## libdd-common **Next version:** `7.0.0` **Semver bump:** `major` **Tag:** `libdd-common-v7.0.0` ### Commits - build: enforce workspace-level dependency declarations (#2514) - chore!: remove unused dependencies (v2) (#2511) - chore: move all remaining external deps to workspace-level dependencies (#2476) - chore(libdd-data-pipeline): solve cargo deny [APMSP-3884] (#2318) - fix!: benchmark was doing many samples for deterministic heap usage (#2465) ## libdd-ddsketch **Next version:** `1.1.2` **Semver bump:** `patch` **Tag:** `libdd-ddsketch-v1.1.2` ### Commits - chore: move all remaining external deps to workspace-level dependencies (#2476) - chore(libdd-data-pipeline): solve cargo deny [APMSP-3884] (#2318) ## libdd-profiling-heap-sampler **Next version:** `1.1.0` **Semver bump:** `minor` **Tag:** `libdd-profiling-heap-sampler-v1.1.0` ### Commits - chore: move all remaining external deps to workspace-level dependencies (#2476) - refactor: migrate to workspace dependencies, phase 4 (#2296) - feat(profiling): add USDT semaphores to skip slow path around heap profile sampler (#2266) ## libdd-tinybytes **Next version:** `1.1.4` **Semver bump:** `patch` **Tag:** `libdd-tinybytes-v1.1.4` ### Commits - chore: move all remaining external deps to workspace-level dependencies (#2476) ## libdd-trace-protobuf **Next version:** `5.0.1` **Semver bump:** `patch` **Tag:** `libdd-trace-protobuf-v5.0.1` ### Commits - chore: move all remaining external deps to workspace-level dependencies (#2476) - fix(build): build script change detection (#2467) ## libdd-capabilities-impl **Next version:** `6.0.0` **Semver bump:** `major` **Tag:** `libdd-capabilities-impl-v6.0.0` ###⚠️ major bump forced due to: - `libdd-capabilities`: ^3.0.1 → ^4.0.0 - `libdd-common`: ^6.0.0 → ^7.0.0 ### Commits - refactor!: apply small timeout pooling strategy to libdd-http-client as well (#2449) - fix(sidecar)!: stabilize the sidecar for macos usage (#2475) - chore: move all remaining external deps to workspace-level dependencies (#2476) ## libdd-profiling-heap-allocator **Next version:** `1.1.0` **Semver bump:** `minor` **Tag:** `libdd-profiling-heap-allocator-v1.1.0` ### Commits - refactor(benchmarks): measure allocator thread CPU time (#2500) - refactor: migrate to workspace dependencies, phase 4 (#2296) - feat(profiling): add USDT semaphores to skip slow path around heap profile sampler (#2266) ## libdd-library-config **Next version:** `4.1.0` **Semver bump:** `minor` **Tag:** `libdd-library-config-v4.1.0` ### Commits - chore!: remove unused dependencies (v2) (#2511) - chore: move all remaining external deps to workspace-level dependencies (#2476) ## libdd-trace-normalization **Next version:** `4.1.0` **Semver bump:** `minor` **Tag:** `libdd-trace-normalization-v4.1.0` ### Commits - chore: move all remaining external deps to workspace-level dependencies (#2476) - chore(libdd-data-pipeline): solve cargo deny [APMSP-3884] (#2318) ## libdd-remote-config **Next version:** `6.0.0` **Semver bump:** `major` **Tag:** `libdd-remote-config-v6.0.0` ###⚠️ major bump forced due to: - `libdd-capabilities`: ^3.0.1 → ^4.0.0 - `libdd-capabilities-impl`: ^5.0.0 → ^6.0.0 - `libdd-common`: ^6.0.0 → ^7.0.0 ### Commits - refactor!: apply small timeout pooling strategy to libdd-http-client as well (#2449) - chore!: remove unused dependencies (v2) (#2511) - fix(rem-cfg)!: remove AsmRawResponseBody (#2540) - chore: move all remaining external deps to workspace-level dependencies (#2476) ## libdd-shared-runtime **Next version:** `5.0.0` **Semver bump:** `major` **Tag:** `libdd-shared-runtime-v5.0.0` ###⚠️ major bump forced due to: - `libdd-capabilities`: ^3.0.1 → ^4.0.0 - `libdd-capabilities-impl`: ^5.0.0 → ^6.0.0 - `libdd-common`: ^6.0.0 → ^7.0.0 ### Commits - feat(trace-exporter)!: add API to force flush stats on the trace exporter (#2538) - chore: move all remaining external deps to workspace-level dependencies (#2476) ## libdd-trace-utils **Next version:** `13.0.0` **Semver bump:** `major` **Tag:** `libdd-trace-utils-v13.0.0` ###⚠️ major bump forced due to: - `libdd-capabilities`: ^3.0.1 → ^4.0.0 - `libdd-capabilities-impl`: ^5.0.0 → ^6.0.0 - `libdd-common`: ^6.0.0 → ^7.0.0 ### Commits - fix(trace-utils)!: add forgotten css to agentless v1 encoder (#2557) - fix(otlp): use potential dedupe in otlp serialization path (#2531) - feat(trace-utils)!: add v1-native OTLP encoder brick (#2369) - perf(serialization): bench the actual path used by the trace exporter (#2512) - perf(trace): write agentless JSON directly (#2454) - chore: move all remaining external deps to workspace-level dependencies (#2476) - perf(trace): encode agentless IDs without formatting (#2452) - perf(trace-utils)!: use pooled spans on the send path (#2382) - feat(data-pipeline)!: OTLP gRPC trace export (#2171) - chore(libdd-data-pipeline): solve cargo deny [APMSP-3884] (#2318) - fix!: benchmark was doing many samples for deterministic heap usage (#2465) ## libdd-dogstatsd-client **Next version:** `7.0.0` **Semver bump:** `major` **Tag:** `libdd-dogstatsd-client-v7.0.0` ###⚠️ major bump forced due to: - `libdd-common`: ^6.0.0 → ^7.0.0 - `libdd-shared-runtime`: ^4.0.0 → ^5.0.0 ### Commits - chore: move all remaining external deps to workspace-level dependencies (#2476) ## libdd-telemetry **Next version:** `9.0.0` **Semver bump:** `major` **Tag:** `libdd-telemetry-v9.0.0` ###⚠️ major bump forced due to: - `libdd-capabilities`: ^3.0.1 → ^4.0.0 - `libdd-common`: ^6.0.0 → ^7.0.0 - `libdd-shared-runtime`: ^4.0.0 → ^5.0.0 ### Commits - refactor!: apply small timeout pooling strategy to libdd-http-client as well (#2449) - chore!: remove unused dependencies (v2) (#2511) - chore: move all remaining external deps to workspace-level dependencies (#2476) - fix(telemetry): fall back to the proper intake telemetry domain when direct submission is enabled (#2484) ## libdd-sampling **Next version:** `7.0.0` **Semver bump:** `major` **Tag:** `libdd-sampling-v7.0.0` ###⚠️ major bump forced due to: - `libdd-common`: ^5.2.0 → ^7.0.0 - `libdd-trace-utils`: ^10.1.0 → ^13.0.0 ### Commits - chore(benchmarks): remove batched-loop sampling noise (#2498) - chore: move all remaining external deps to workspace-level dependencies (#2476) - fix!: benchmark was doing many samples for deterministic heap usage (#2465) - feat(trace-utils)!: add from owned to SpanText (#2403) - test(sampling): make rate_limiter thread-safety test deterministic (#2354) ## libdd-trace-obfuscation **Next version:** `9.0.0` **Semver bump:** `major` **Tag:** `libdd-trace-obfuscation-v9.0.0` ###⚠️ major bump forced due to: - `libdd-common`: ^6.0.0 → ^7.0.0 - `libdd-trace-utils`: ^12.0.0 → ^13.0.0 ### Commits - feat(data-pipeline)!: refactor agent's /info obfuscation config format (#2490) - fix(obfuscation): keep URLs whose path or fragment holds a bracket (#2527) - fix(obfuscation): stop forcing serde_json/preserve_order on dependents (#2529) - fix(obfuscation): prevent crash and cap recursion in SQL/HTTP obfuscation (#2441) - chore: move all remaining external deps to workspace-level dependencies (#2476) - fix(data-pipeline-ffi): harden agentless config setters and parse obfuscation config once (#2474) ## libdd-trace-stats **Next version:** `10.0.0` **Semver bump:** `major` **Tag:** `libdd-trace-stats-v10.0.0` ###⚠️ major bump forced due to: - `libdd-capabilities`: ^3.0.1 → ^4.0.0 - `libdd-capabilities-impl`: ^5.0.0 → ^6.0.0 - `libdd-common`: ^6.0.0 → ^7.0.0 - `libdd-shared-runtime`: ^4.0.0 → ^5.0.0 - `libdd-trace-obfuscation`: ^8.0.0 → ^9.0.0 - `libdd-trace-utils`: ^12.0.0 → ^13.0.0 ### Commits - feat(trace-exporter)!: add API to force flush stats on the trace exporter (#2538) - fix(trace-stats): cardinality limit telemetry name (#2559) - feat(data-pipeline)!: refactor agent's /info obfuscation config format (#2490) - chore!: remove unused dependencies (v2) (#2511) - feat(data-pipeline)!: generate agentless trace stats (#2488) - chore: move all remaining external deps to workspace-level dependencies (#2476) - chore(libdd-data-pipeline): solve cargo deny [APMSP-3884] (#2318) ## libdd-data-pipeline-core **Next version:** `2.0.0` **Semver bump:** `major` **Tag:** `libdd-data-pipeline-core-v2.0.0` ###⚠️ major bump forced due to: - `libdd-capabilities`: ^3.0.1 → ^4.0.0 - `libdd-common`: ^6.0.0 → ^7.0.0 - `libdd-trace-obfuscation`: ^8.0.0 → ^9.0.0 - `libdd-trace-utils`: ^12.0.0 → ^13.0.0 ### Commits - refactor!: apply small timeout pooling strategy to libdd-http-client as well (#2449) - feat(data-pipeline)!: generate agentless trace stats (#2488) - perf(data-pipeline): avoid parsing static entity header names (#2457) - chore: move all remaining external deps to workspace-level dependencies (#2476) - perf(trace-utils)!: use pooled spans on the send path (#2382) ## libdd-data-pipeline **Next version:** `11.0.0` **Semver bump:** `major` **Tag:** `libdd-data-pipeline-v11.0.0` ###⚠️ major bump forced due to: - `libdd-capabilities`: ^3.0.1 → ^4.0.0 - `libdd-capabilities-impl`: ^5.0.0 → ^6.0.0 - `libdd-common`: ^6.0.0 → ^7.0.0 - `libdd-data-pipeline-core`: ^1.0.0 → ^2.0.0 - `libdd-shared-runtime`: ^4.0.0 → ^5.0.0 - `libdd-trace-obfuscation`: ^8.0.0 → ^9.0.0 - `libdd-trace-stats`: ^9.0.0 → ^10.0.0 - `libdd-trace-utils`: ^12.0.0 → ^13.0.0 ### Commits - feat(trace-exporter)!: add API to force flush stats on the trace exporter (#2538) - refactor!: apply small timeout pooling strategy to libdd-http-client as well (#2449) - feat(data-pipeline)!: refactor agent's /info obfuscation config format (#2490) - test(data-pipeline): stop OTLP gRPC post-connect test from hanging (#2549) - chore!: remove unused dependencies (v2) (#2511) - feat(data-pipeline)!: generate agentless trace stats (#2488) - fix(otlp): use potential dedupe in otlp serialization path (#2531) - refactor(benchmarks): isolate enqueue timing in data-pipeline (#2499) - perf(trace): write agentless JSON directly (#2454) - test(data-pipeline): fix flaky OTLP gRPC exporter integration tests (#2505) - chore: move all remaining external deps to workspace-level dependencies (#2476) - perf(trace-utils)!: use pooled spans on the send path (#2382) - feat(data-pipeline)!: OTLP gRPC trace export (#2171) - chore(libdd-data-pipeline): solve cargo deny [APMSP-3884] (#2318) [APMSP-3884]: https://datadoghq.atlassian.net/browse/APMSP-3884?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: paullegranddc <82819397+paullegranddc@users.noreply.github.com>
Motivation
PR #2418 added agentless FFI config setters with two issues flagged in review:
Changes