fix(trace-obfuscation)!: rename new_from_env to new_serverless and deprecate - #2473
paullegranddc wants to merge 1 commit into
Conversation
…recate # Motivation The `new_from_env` constructor produces defaults that diverge from the agent `Default` impls (memcached.keep_command = true, credit_cards.luhn = true) because it is used by the serverless extension for backward compatibility. Renaming and deprecating it makes the intentional mismatch explicit and guides new callers toward `ObfuscationConfig::default()`. # Changes * Rename `ObfuscationConfig::new_from_env` to `new_serverless` * Add `#[deprecated(since = "7.0.0", ...)]` with a note explaining the serverless-extension defaults divergence
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📦
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5939076922
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| since = "7.0.0", | ||
| note = "use ObfuscationConfig::default() and set fields explicitly. This constructor preserves serverless-extension defaults that diverge from the agent Default impl" | ||
| )] | ||
| pub fn new_serverless() -> Result<Self, Box<dyn core::error::Error>> { |
There was a problem hiding this comment.
Keep the deprecated
new_from_env entry point
For downstream serverless-extension code already calling the public ObfuscationConfig::new_from_env introduced by #2418, replacing the method rather than retaining a forwarding alias causes an immediate compile failure, so those callers never receive the intended deprecation warning. Keep new_from_env as a deprecated forwarding method while exposing new_serverless so consumers can migrate without a hard break.
Useful? React with 👍 / 👎.
| /// This constructor preserves the defaults used by the serverless extension, which diverge | ||
| /// from the agent `Default` impls (e.g. `memcached.keep_command = true`, `credit_cards.luhn = | ||
| /// true`). New callers should use [`ObfuscationConfig::default`] and set fields explicitly | ||
| /// instead. |
There was a problem hiding this comment.
Initialize every serverless-specific default explicitly
When the serverless extension relies on this constructor for backward-compatible behavior, the preservation claim is false for the fields omitted from its struct literal: #2418 changed the defaults for valkey, elasticsearch, opensearch, and mongodb from disabled to enabled, while this method still fills them through ..Default::default(). Calling the newly named serverless constructor therefore changes obfuscation behavior for those integrations; initialize those fields explicitly to their former serverless values rather than inheriting the agent defaults.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Seems unrelated to this PR, but might be worth a look: did changing the Default impl broke new_with_env?
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
|
BenchmarksComparisonBenchmark execution time: 2026-09-07 14:28:01 Comparing candidate commit 5939076 in PR branch Found 0 performance improvements and 2 performance regressions! Performance is the same for 23 metrics, 0 unstable metrics.
|
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 5939076 | 1788789247 | paullgdc/obfuscation/deprecate_invalid_defaults_new |
| 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 | 60.040ms | 60.082ms ± 0.036ms | 60.071ms ± 0.009ms | 60.083ms | 60.178ms | 60.212ms | 60.219ms | 0.25% | 2.041 | 3.896 | 0.06% | 0.003ms | 1 | 200 |
| trace_buffer/1_senders/10us_delay | throughput | 14945.500op/s | 14979.443op/s ± 8.991op/s | 14982.150op/s ± 2.163op/s | 14983.770op/s | 14988.405op/s | 14989.845op/s | 14990.001op/s | 0.05% | -2.038 | 3.883 | 0.06% | 0.636op/s | 1 | 200 |
| trace_buffer/1_senders/1us_delay | execution_time | 50.149ms | 50.546ms ± 0.212ms | 50.508ms ± 0.131ms | 50.681ms | 50.925ms | 51.138ms | 51.167ms | 1.30% | 0.591 | -0.037 | 0.42% | 0.015ms | 1 | 200 |
| trace_buffer/1_senders/1us_delay | throughput | 17589.495op/s | 17806.031op/s ± 74.348op/s | 17818.874op/s ± 46.282op/s | 17861.954op/s | 17915.485op/s | 17931.221op/s | 17946.664op/s | 0.72% | -0.571 | -0.071 | 0.42% | 5.257op/s | 1 | 200 |
| trace_buffer/1_senders/no_delay | execution_time | 343.599µs | 353.835µs ± 6.123µs | 353.339µs ± 2.144µs | 355.156µs | 362.267µs | 370.579µs | 414.873µs | 17.42% | 5.385 | 48.445 | 1.73% | 0.433µs | 1 | 200 |
| trace_buffer/1_senders/no_delay | throughput | 2169337.579op/s | 2544258.584op/s ± 40611.573op/s | 2547130.716op/s ± 15548.632op/s | 2564883.471op/s | 2588852.453op/s | 2609305.076op/s | 2619335.304op/s | 2.83% | -4.399 | 35.613 | 1.59% | 2871.672op/s | 1 | 200 |
| trace_buffer/2_senders/10us_delay | execution_time | 60.073ms | 60.136ms ± 0.052ms | 60.117ms ± 0.026ms | 60.154ms | 60.234ms | 60.280ms | 60.305ms | 0.31% | 1.144 | 0.422 | 0.09% | 0.004ms | 1 | 200 |
| trace_buffer/2_senders/10us_delay | throughput | 29848.160op/s | 29932.280op/s ± 25.919op/s | 29941.382op/s ± 13.059op/s | 29952.154op/s | 29958.587op/s | 29960.912op/s | 29963.424op/s | 0.07% | -1.141 | 0.413 | 0.09% | 1.833op/s | 1 | 200 |
| trace_buffer/2_senders/1us_delay | execution_time | 50.930ms | 51.214ms ± 0.111ms | 51.205ms ± 0.060ms | 51.273ms | 51.404ms | 51.516ms | 51.554ms | 0.68% | 0.511 | 0.597 | 0.22% | 0.008ms | 1 | 200 |
| trace_buffer/2_senders/1us_delay | throughput | 34914.742op/s | 35146.666op/s ± 76.152op/s | 35152.695op/s ± 41.285op/s | 35192.175op/s | 35252.791op/s | 35312.528op/s | 35342.456op/s | 0.54% | -0.496 | 0.586 | 0.22% | 5.385op/s | 1 | 200 |
| trace_buffer/2_senders/no_delay | execution_time | 1.599ms | 1.700ms ± 0.032ms | 1.700ms ± 0.023ms | 1.722ms | 1.752ms | 1.763ms | 1.807ms | 6.30% | 0.006 | 0.260 | 1.88% | 0.002ms | 1 | 200 |
| trace_buffer/2_senders/no_delay | throughput | 996168.424op/s | 1059324.556op/s ± 19987.068op/s | 1058950.236op/s ± 14094.189op/s | 1073608.032op/s | 1088182.876op/s | 1108780.369op/s | 1125881.002op/s | 6.32% | 0.122 | 0.307 | 1.88% | 1413.299op/s | 1 | 200 |
| trace_buffer/4_senders/10us_delay | execution_time | 60.140ms | 60.209ms ± 0.059ms | 60.188ms ± 0.030ms | 60.233ms | 60.330ms | 60.377ms | 60.424ms | 0.39% | 1.260 | 1.038 | 0.10% | 0.004ms | 1 | 200 |
| trace_buffer/4_senders/10us_delay | throughput | 59579.198op/s | 59792.223op/s ± 58.872op/s | 59812.232op/s ± 29.868op/s | 59835.231op/s | 59853.824op/s | 59858.700op/s | 59860.169op/s | 0.08% | -1.256 | 1.024 | 0.10% | 4.163op/s | 1 | 200 |
| trace_buffer/4_senders/1us_delay | execution_time | 51.132ms | 51.352ms ± 0.116ms | 51.341ms ± 0.063ms | 51.405ms | 51.570ms | 51.696ms | 51.826ms | 0.94% | 1.135 | 2.196 | 0.22% | 0.008ms | 1 | 200 |
| trace_buffer/4_senders/1us_delay | throughput | 69463.844op/s | 70105.320op/s ± 157.578op/s | 70119.413op/s ± 86.364op/s | 70205.021op/s | 70319.913op/s | 70368.357op/s | 70406.237op/s | 0.41% | -1.115 | 2.124 | 0.22% | 11.142op/s | 1 | 200 |
| trace_buffer/4_senders/no_delay | execution_time | 3.698ms | 3.777ms ± 0.031ms | 3.776ms ± 0.021ms | 3.798ms | 3.827ms | 3.859ms | 3.869ms | 2.47% | 0.130 | 0.165 | 0.82% | 0.002ms | 1 | 200 |
| trace_buffer/4_senders/no_delay | throughput | 930471.066op/s | 953276.806op/s ± 7823.570op/s | 953421.367op/s ± 5150.615op/s | 958109.728op/s | 965659.943op/s | 971308.110op/s | 973610.240op/s | 2.12% | -0.078 | 0.146 | 0.82% | 553.210op/s | 1 | 200 |
| trace_buffer/8_senders/10us_delay | execution_time | 60.256ms | 60.356ms ± 0.070ms | 60.335ms ± 0.044ms | 60.396ms | 60.486ms | 60.583ms | 60.592ms | 0.42% | 1.019 | 0.756 | 0.12% | 0.005ms | 1 | 200 |
| trace_buffer/8_senders/10us_delay | throughput | 118827.962op/s | 119293.342op/s ± 138.413op/s | 119332.854op/s ± 86.946op/s | 119403.915op/s | 119459.202op/s | 119474.244op/s | 119490.278op/s | 0.13% | -1.014 | 0.737 | 0.12% | 9.787op/s | 1 | 200 |
| trace_buffer/8_senders/1us_delay | execution_time | 51.338ms | 51.816ms ± 0.258ms | 51.741ms ± 0.157ms | 51.986ms | 52.315ms | 52.473ms | 52.522ms | 1.51% | 0.747 | -0.257 | 0.50% | 0.018ms | 1 | 200 |
| trace_buffer/8_senders/1us_delay | throughput | 137084.436op/s | 138956.603op/s ± 689.271op/s | 139153.451op/s ± 422.183op/s | 139471.548op/s | 139787.877op/s | 140042.596op/s | 140245.838op/s | 0.79% | -0.729 | -0.287 | 0.49% | 48.739op/s | 1 | 200 |
| trace_buffer/8_senders/no_delay | execution_time | 6.790ms | 7.085ms ± 0.118ms | 7.125ms ± 0.056ms | 7.170ms | 7.219ms | 7.248ms | 7.270ms | 2.03% | -0.899 | -0.234 | 1.66% | 0.008ms | 1 | 200 |
| trace_buffer/8_senders/no_delay | throughput | 990349.934op/s | 1016560.463op/s ± 17145.899op/s | 1010486.596op/s ± 7897.429op/s | 1027049.823op/s | 1052045.576op/s | 1059281.275op/s | 1060427.114op/s | 4.94% | 0.947 | -0.147 | 1.68% | 1212.398op/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 | [60.077ms; 60.087ms] or [-0.008%; +0.008%] | None | None | None |
| trace_buffer/1_senders/10us_delay | throughput | [14978.197op/s; 14980.689op/s] or [-0.008%; +0.008%] | None | None | None |
| trace_buffer/1_senders/1us_delay | execution_time | [50.516ms; 50.575ms] or [-0.058%; +0.058%] | None | None | None |
| trace_buffer/1_senders/1us_delay | throughput | [17795.727op/s; 17816.335op/s] or [-0.058%; +0.058%] | None | None | None |
| trace_buffer/1_senders/no_delay | execution_time | [352.986µs; 354.683µs] or [-0.240%; +0.240%] | None | None | None |
| trace_buffer/1_senders/no_delay | throughput | [2538630.210op/s; 2549886.957op/s] or [-0.221%; +0.221%] | None | None | None |
| trace_buffer/2_senders/10us_delay | execution_time | [60.129ms; 60.143ms] or [-0.012%; +0.012%] | None | None | None |
| trace_buffer/2_senders/10us_delay | throughput | [29928.688op/s; 29935.872op/s] or [-0.012%; +0.012%] | None | None | None |
| trace_buffer/2_senders/1us_delay | execution_time | [51.199ms; 51.230ms] or [-0.030%; +0.030%] | None | None | None |
| trace_buffer/2_senders/1us_delay | throughput | [35136.112op/s; 35157.220op/s] or [-0.030%; +0.030%] | None | None | None |
| trace_buffer/2_senders/no_delay | execution_time | [1.695ms; 1.704ms] or [-0.261%; +0.261%] | None | None | None |
| trace_buffer/2_senders/no_delay | throughput | [1056554.541op/s; 1062094.571op/s] or [-0.261%; +0.261%] | None | None | None |
| trace_buffer/4_senders/10us_delay | execution_time | [60.200ms; 60.217ms] or [-0.014%; +0.014%] | None | None | None |
| trace_buffer/4_senders/10us_delay | throughput | [59784.064op/s; 59800.383op/s] or [-0.014%; +0.014%] | None | None | None |
| trace_buffer/4_senders/1us_delay | execution_time | [51.336ms; 51.368ms] or [-0.031%; +0.031%] | None | None | None |
| trace_buffer/4_senders/1us_delay | throughput | [70083.481op/s; 70127.159op/s] or [-0.031%; +0.031%] | None | None | None |
| trace_buffer/4_senders/no_delay | execution_time | [3.772ms; 3.781ms] or [-0.114%; +0.114%] | None | None | None |
| trace_buffer/4_senders/no_delay | throughput | [952192.534op/s; 954361.077op/s] or [-0.114%; +0.114%] | None | None | None |
| trace_buffer/8_senders/10us_delay | execution_time | [60.346ms; 60.365ms] or [-0.016%; +0.016%] | None | None | None |
| trace_buffer/8_senders/10us_delay | throughput | [119274.159op/s; 119312.524op/s] or [-0.016%; +0.016%] | None | None | None |
| trace_buffer/8_senders/1us_delay | execution_time | [51.780ms; 51.852ms] or [-0.069%; +0.069%] | None | None | None |
| trace_buffer/8_senders/1us_delay | throughput | [138861.077op/s; 139052.130op/s] or [-0.069%; +0.069%] | None | None | None |
| trace_buffer/8_senders/no_delay | execution_time | [7.068ms; 7.101ms] or [-0.230%; +0.230%] | None | None | None |
| trace_buffer/8_senders/no_delay | throughput | [1014184.206op/s; 1018936.720op/s] or [-0.234%; +0.234%] | None | None | None |
Group 2
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 5939076 | 1788789247 | paullgdc/obfuscation/deprecate_invalid_defaults_new |
| 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.728ms | 9.760ms ± 0.019ms | 9.757ms ± 0.012ms | 9.770ms | 9.798ms | 9.814ms | 9.818ms | 0.62% | 0.802 | 0.189 | 0.20% | 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.757ms; 9.763ms] or [-0.027%; +0.027%] | None | None | None |
Group 1
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 5939076 | 1788789247 | paullgdc/obfuscation/deprecate_invalid_defaults_new |
| 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.517µs | 2.586µs ± 0.020µs | 2.586µs ± 0.008µs | 2.596µs | 2.616µs | 2.631µs | 2.634µs | 1.86% | -1.117 | 3.036 | 0.79% | 0.001µs | 1 | 200 |
| tags/replace_trace_tags_v04 | execution_time | 2.580µs | 2.738µs ± 0.057µs | 2.754µs ± 0.008µs | 2.763µs | 2.809µs | 2.831µs | 2.834µs | 2.88% | -1.174 | 0.689 | 2.07% | 0.004µ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.583µs; 2.589µs] or [-0.110%; +0.110%] | None | None | None |
| tags/replace_trace_tags_v04 | execution_time | [2.730µs; 2.746µs] or [-0.288%; +0.288%] | None | None | None |
Group 2
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 5939076 | 1788789247 | paullgdc/obfuscation/deprecate_invalid_defaults_new |
| 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.292µs | 15.847µs ± 0.228µs | 15.828µs ± 0.114µs | 15.952µs | 16.178µs | 16.321µs | 17.678µs | 11.69% | 2.555 | 19.538 | 1.43% | 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.815µs; 15.878µs] or [-0.199%; +0.199%] | None | None | None |
Group 3
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 5939076 | 1788789247 | paullgdc/obfuscation/deprecate_invalid_defaults_new |
| 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.117µs | 1.134µs ± 0.007µs | 1.133µs ± 0.003µs | 1.136µs | 1.146µs | 1.155µs | 1.159µs | 2.30% | 0.909 | 2.015 | 0.60% | 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.133µs; 1.134µs] or [-0.083%; +0.083%] | None | None | None |
Group 4
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 5939076 | 1788789247 | paullgdc/obfuscation/deprecate_invalid_defaults_new |
| 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.912µs | 5.004µs ± 0.062µs | 4.984µs ± 0.035µs | 5.075µs | 5.100µs | 5.103µs | 5.104µs | 2.40% | 0.477 | -1.254 | 1.23% | 0.004µ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.995µs; 5.012µs] or [-0.172%; +0.172%] | None | None | None |
Group 5
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 5939076 | 1788789247 | paullgdc/obfuscation/deprecate_invalid_defaults_new |
| 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 | 305.192µs | 305.894µs ± 0.670µs | 305.830µs ± 0.165µs | 305.955µs | 306.387µs | 309.739µs | 311.356µs | 1.81% | 5.626 | 37.823 | 0.22% | 0.047µ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.801µs; 305.987µs] or [-0.030%; +0.030%] | None | None | None |
Group 6
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 5939076 | 1788789247 | paullgdc/obfuscation/deprecate_invalid_defaults_new |
| 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.900µs | 3.918µs ± 0.004µs | 3.917µs ± 0.003µs | 3.921µs | 3.925µs | 3.931µs | 3.932µs | 0.39% | 0.409 | 2.157 | 0.11% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/ | throughput | 254299560.101op/s | 255229743.295op/s ± 270210.863op/s | 255279666.975op/s ± 166529.113op/s | 255418667.514op/s | 255569889.472op/s | 255642029.907op/s | 256429417.727op/s | 0.45% | -0.396 | 2.173 | 0.11% | 19106.793op/s | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | 79.127µs | 80.075µs ± 0.470µs | 80.042µs ± 0.299µs | 80.350µs | 80.862µs | 81.379µs | 81.651µs | 2.01% | 0.508 | 0.285 | 0.59% | 0.033µs | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | 12247181.434op/s | 12488789.253op/s ± 73048.632op/s | 12493389.136op/s ± 46739.735op/s | 12537243.232op/s | 12598367.165op/s | 12624701.477op/s | 12637948.260op/s | 1.16% | -0.473 | 0.223 | 0.58% | 5165.318op/s | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | execution_time | 72.652µs | 73.606µs ± 0.532µs | 73.526µs ± 0.336µs | 73.936µs | 74.567µs | 74.764µs | 74.952µs | 1.94% | 0.377 | -0.586 | 0.72% | 0.038µs | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | throughput | 13341864.278op/s | 13586600.802op/s ± 97927.602op/s | 13600602.560op/s ± 62202.330op/s | 13654651.719op/s | 13733059.891op/s | 13758549.053op/s | 13764272.463op/s | 1.20% | -0.350 | -0.607 | 0.72% | 6924.527op/s | 1 | 200 |
| credit_card/is_card_number/37828224631 | execution_time | 3.896µs | 3.917µs ± 0.004µs | 3.917µs ± 0.003µs | 3.920µs | 3.924µs | 3.927µs | 3.931µs | 0.35% | -0.184 | 2.872 | 0.11% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/37828224631 | throughput | 254408425.672op/s | 255272461.117op/s ± 269408.907op/s | 255300740.375op/s ± 172649.469op/s | 255436486.375op/s | 255647163.737op/s | 255791029.808op/s | 256656351.822op/s | 0.53% | 0.199 | 2.927 | 0.11% | 19050.087op/s | 1 | 200 |
| credit_card/is_card_number/378282246310005 | execution_time | 69.293µs | 70.324µs ± 0.550µs | 70.301µs ± 0.395µs | 70.634µs | 71.319µs | 71.620µs | 71.947µs | 2.34% | 0.507 | -0.300 | 0.78% | 0.039µs | 1 | 200 |
| credit_card/is_card_number/378282246310005 | throughput | 13899071.552op/s | 14220784.792op/s ± 110883.628op/s | 14224502.044op/s ± 79971.533op/s | 14307984.575op/s | 14372893.235op/s | 14410892.839op/s | 14431515.847op/s | 1.46% | -0.474 | -0.345 | 0.78% | 7840.657op/s | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | execution_time | 52.288µs | 52.368µs ± 0.048µs | 52.359µs ± 0.036µs | 52.409µs | 52.448µs | 52.486µs | 52.531µs | 0.33% | 0.600 | -0.257 | 0.09% | 0.003µs | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | throughput | 19036446.822op/s | 19095581.196op/s ± 17564.458op/s | 19098974.386op/s ± 13064.059op/s | 19109591.104op/s | 19119133.281op/s | 19122634.105op/s | 19125007.860op/s | 0.14% | -0.597 | -0.266 | 0.09% | 1241.995op/s | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | execution_time | 5.737µs | 5.886µs ± 0.060µs | 5.881µs ± 0.041µs | 5.932µs | 5.980µs | 6.008µs | 6.035µs | 2.63% | -0.102 | -0.381 | 1.02% | 0.004µs | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | throughput | 165691054.993op/s | 169918243.833op/s ± 1744275.601op/s | 170049152.931op/s ± 1191804.635op/s | 171169020.232op/s | 173186260.913op/s | 173936070.559op/s | 174307790.441op/s | 2.50% | 0.152 | -0.357 | 1.02% | 123338.911op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | execution_time | 3.895µs | 3.917µs ± 0.004µs | 3.916µs ± 0.002µs | 3.919µs | 3.924µs | 3.929µs | 3.935µs | 0.46% | 0.310 | 4.643 | 0.11% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | throughput | 254159903.001op/s | 255293840.980op/s ± 279063.630op/s | 255335195.929op/s ± 153032.180op/s | 255457976.189op/s | 255608200.555op/s | 255695777.398op/s | 256754663.279op/s | 0.56% | -0.288 | 4.691 | 0.11% | 19732.778op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | 64.195µs | 64.602µs ± 0.171µs | 64.593µs ± 0.121µs | 64.720µs | 64.901µs | 64.995µs | 65.104µs | 0.79% | 0.300 | -0.096 | 0.26% | 0.012µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | 15360107.379op/s | 15479452.142op/s ± 40896.141op/s | 15481444.671op/s ± 28985.523op/s | 15507184.847op/s | 15541858.628op/s | 15557691.229op/s | 15577439.195op/s | 0.62% | -0.286 | -0.109 | 0.26% | 2891.794op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | 57.858µs | 58.084µs ± 0.129µs | 58.061µs ± 0.077µs | 58.164µs | 58.321µs | 58.428µs | 58.579µs | 0.89% | 0.952 | 1.035 | 0.22% | 0.009µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | 17070972.420op/s | 17216381.952op/s ± 38145.072op/s | 17223287.484op/s ± 22757.290op/s | 17244060.706op/s | 17267521.691op/s | 17276525.543op/s | 17283722.190op/s | 0.35% | -0.938 | 0.990 | 0.22% | 2697.264op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | 3.904µs | 3.917µs ± 0.004µs | 3.917µs ± 0.002µs | 3.920µs | 3.924µs | 3.930µs | 3.935µs | 0.46% | 0.992 | 2.379 | 0.10% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | 254143570.511op/s | 255274045.727op/s ± 261439.761op/s | 255321957.696op/s ± 150333.618op/s | 255455323.239op/s | 255567888.855op/s | 255685700.948op/s | 256144200.055op/s | 0.32% | -0.982 | 2.355 | 0.10% | 18486.583op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | 54.591µs | 54.836µs ± 0.163µs | 54.795µs ± 0.072µs | 54.889µs | 55.105µs | 55.432µs | 55.569µs | 1.41% | 1.953 | 5.064 | 0.30% | 0.012µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | 17995537.107op/s | 18236374.326op/s ± 53933.116op/s | 18249717.470op/s ± 23881.023op/s | 18271192.294op/s | 18294489.976op/s | 18299695.568op/s | 18318015.769op/s | 0.37% | -1.924 | 4.921 | 0.30% | 3813.647op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | 52.271µs | 52.369µs ± 0.056µs | 52.361µs ± 0.035µs | 52.398µs | 52.478µs | 52.550µs | 52.562µs | 0.38% | 0.929 | 1.103 | 0.11% | 0.004µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | 19025323.702op/s | 19095343.950op/s ± 20456.305op/s | 19098125.519op/s ± 12942.656op/s | 19110251.217op/s | 19123136.990op/s | 19129569.591op/s | 19131185.746op/s | 0.17% | -0.922 | 1.084 | 0.11% | 1446.479op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | 5.708µs | 5.846µs ± 0.066µs | 5.840µs ± 0.042µs | 5.887µs | 5.964µs | 6.004µs | 6.038µs | 3.39% | 0.275 | -0.353 | 1.13% | 0.005µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | 165612920.523op/s | 171081796.330op/s ± 1935253.451op/s | 171221384.506op/s ± 1228154.707op/s | 172307331.794op/s | 174105451.506op/s | 175064011.380op/s | 175183745.492op/s | 2.31% | -0.222 | -0.396 | 1.13% | 136843.084op/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.917µs; 3.919µs] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number/ | throughput | [255192294.668op/s; 255267191.922op/s] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | [80.009µs; 80.140µs] or [-0.081%; +0.081%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | [12478665.416op/s; 12498913.091op/s] or [-0.081%; +0.081%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | execution_time | [73.532µs; 73.679µs] or [-0.100%; +0.100%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | throughput | [13573028.978op/s; 13600172.626op/s] or [-0.100%; +0.100%] | None | None | None |
| credit_card/is_card_number/37828224631 | execution_time | [3.917µs; 3.918µs] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number/37828224631 | throughput | [255235123.634op/s; 255309798.600op/s] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number/378282246310005 | execution_time | [70.248µs; 70.400µs] or [-0.108%; +0.108%] | None | None | None |
| credit_card/is_card_number/378282246310005 | throughput | [14205417.387op/s; 14236152.196op/s] or [-0.108%; +0.108%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | execution_time | [52.362µs; 52.375µs] or [-0.013%; +0.013%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | throughput | [19093146.931op/s; 19098015.461op/s] or [-0.013%; +0.013%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | execution_time | [5.877µs; 5.894µs] or [-0.142%; +0.142%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | throughput | [169676504.010op/s; 170159983.656op/s] or [-0.142%; +0.142%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | execution_time | [3.916µs; 3.918µs] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | throughput | [255255165.445op/s; 255332516.516op/s] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | [64.579µs; 64.626µs] or [-0.037%; +0.037%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | [15473784.330op/s; 15485119.954op/s] or [-0.037%; +0.037%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | [58.067µs; 58.102µs] or [-0.031%; +0.031%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | [17211095.412op/s; 17221668.492op/s] or [-0.031%; +0.031%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | [3.917µs; 3.918µs] or [-0.014%; +0.014%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | [255237812.691op/s; 255310278.764op/s] or [-0.014%; +0.014%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | [54.813µs; 54.859µs] or [-0.041%; +0.041%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | [18228899.715op/s; 18243848.937op/s] or [-0.041%; +0.041%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | [52.361µs; 52.377µs] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | [19092508.903op/s; 19098178.997op/s] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | [5.837µs; 5.855µs] or [-0.157%; +0.157%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | [170813588.814op/s; 171350003.846op/s] or [-0.157%; +0.157%] | None | None | None |
Group 7
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 5939076 | 1788789247 | paullgdc/obfuscation/deprecate_invalid_defaults_new |
| 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 | 30.526µs | 31.577µs ± 1.398µs | 30.716µs ± 0.087µs | 33.165µs | 34.040µs | 34.086µs | 34.123µs | 11.09% | 0.971 | -0.945 | 4.41% | 0.099µ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 | [31.383µs; 31.771µs] or [-0.613%; +0.613%] | None | None | None |
Baseline
Omitted due to size.
| /// This constructor preserves the defaults used by the serverless extension, which diverge | ||
| /// from the agent `Default` impls (e.g. `memcached.keep_command = true`, `credit_cards.luhn = | ||
| /// true`). New callers should use [`ObfuscationConfig::default`] and set fields explicitly | ||
| /// instead. |
There was a problem hiding this comment.
Seems unrelated to this PR, but might be worth a look: did changing the Default impl broke new_with_env?
Motivation
The
new_from_envconstructor produces defaults that diverge from the agentDefaultimpls (memcached.keep_command = true, credit_cards.luhn = true) because it is used by the serverless extension for backward compatibility. Renaming and deprecating it makes the intentional mismatch explicit and guides new callers towardObfuscationConfig::default().Changes
ObfuscationConfig::new_from_envtonew_serverless#[deprecated(since = "7.0.0", ...)]with a note explaining the serverless-extension defaults divergenceFollowup for #2418