Skip to content

refactor(trace_exporter)!: remove Proxy TraceExporter input mode#1583

Merged
paullegranddc merged 3 commits intomainfrom
paullgdc/trace_exporter/remove_proxy_mode
Feb 18, 2026
Merged

refactor(trace_exporter)!: remove Proxy TraceExporter input mode#1583
paullegranddc merged 3 commits intomainfrom
paullgdc/trace_exporter/remove_proxy_mode

Conversation

@paullegranddc
Copy link
Copy Markdown
Contributor

@paullegranddc paullegranddc commented Feb 17, 2026

What does this PR do?

  • Remove the TraceExporterInput::Proxy mode and dependent code
  • Remove the trace_count parameter in the TraceExporter::send method that is now unused

Motivation

This is dead code as no one is using this feature, and more code that we would need to update when we pass to using the reqwest client

@paullegranddc paullegranddc requested a review from a team as a code owner February 17, 2026 16:21
@paullegranddc paullegranddc force-pushed the paullgdc/trace_exporter/remove_proxy_mode branch from 510b2a7 to 980213b Compare February 17, 2026 16:25
@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 17, 2026

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/paullgdc/trace_exporter/remove_proxy_mode

Summary by Rule

Rule Base Branch PR Branch Change
unwrap_used 3 2 ✅ -1 (-33.3%)
Total 3 2 ✅ -1 (-33.3%)

Annotation Counts by File

File Base Branch PR Branch Change
libdd-data-pipeline/src/trace_exporter/mod.rs 2 2 No change (0%)
libdd-data-pipeline/src/trace_exporter/transport.rs 1 0 ✅ -1 (-100.0%)

Annotation Stats by Crate

Crate Base Branch PR Branch Change
clippy-annotation-reporter 5 5 No change (0%)
datadog-ffe-ffi 1 1 No change (0%)
datadog-ipc 27 27 No change (0%)
datadog-live-debugger 6 6 No change (0%)
datadog-live-debugger-ffi 10 10 No change (0%)
datadog-profiling-replayer 4 4 No change (0%)
datadog-remote-config 3 3 No change (0%)
datadog-sidecar 59 59 No change (0%)
libdd-common 10 10 No change (0%)
libdd-common-ffi 12 12 No change (0%)
libdd-crashtracker 12 12 No change (0%)
libdd-data-pipeline 5 5 No change (0%)
libdd-ddsketch 2 2 No change (0%)
libdd-dogstatsd-client 1 1 No change (0%)
libdd-profiling 13 13 No change (0%)
libdd-telemetry 19 19 No change (0%)
libdd-tinybytes 4 4 No change (0%)
libdd-trace-normalization 2 2 No change (0%)
libdd-trace-obfuscation 9 9 No change (0%)
libdd-trace-utils 15 15 No change (0%)
Total 219 219 No change (0%)

About This Report

This 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.

@datadog-datadog-prod-us1
Copy link
Copy Markdown
Contributor

datadog-datadog-prod-us1 bot commented Feb 17, 2026

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: d7c20ba | Docs | Datadog PR Page | Was this helpful? Give us feedback!

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 17, 2026

📚 Documentation Check Results

⚠️ 771 documentation warning(s) found

📦 libdd-data-pipeline - 771 warning(s)


Updated: 2026-02-18 13:52:46 UTC | Commit: 7965ce3 | missing-docs job results

@pr-commenter
Copy link
Copy Markdown

pr-commenter bot commented Feb 17, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-02-18 14:07:57

Comparing candidate commit d7c20ba in PR branch paullgdc/trace_exporter/remove_proxy_mode with baseline commit aa58f2d in branch main.

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

scenario:profile_add_sample2_frames_x1000

  • 🟩 execution_time [-194.636µs; -194.326µs] or [-26.576%; -26.534%]

scenario:profile_add_sample_frames_x1000

  • 🟩 execution_time [-222.982µs; -220.070µs] or [-5.355%; -5.286%]

Candidate

Candidate benchmark details

Group 1

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7c20ba 1771422675 paullgdc/trace_exporter/remove_proxy_mode
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
single_flag_killswitch/rules-based execution_time 188.119ns 190.727ns ± 2.175ns 190.405ns ± 1.314ns 191.531ns 194.915ns 197.356ns 199.206ns 4.62% 1.162 1.459 1.14% 0.154ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
single_flag_killswitch/rules-based execution_time [190.426ns; 191.029ns] or [-0.158%; +0.158%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7c20ba 1771422675 paullgdc/trace_exporter/remove_proxy_mode
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
receiver_entry_point/report/2597 execution_time 9.667ms 9.864ms ± 0.067ms 9.862ms ± 0.033ms 9.895ms 9.951ms 10.010ms 10.355ms 5.00% 1.643 14.020 0.68% 0.005ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
receiver_entry_point/report/2597 execution_time [9.855ms; 9.874ms] or [-0.094%; +0.094%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7c20ba 1771422675 paullgdc/trace_exporter/remove_proxy_mode
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 247.406ns 257.233ns ± 12.188ns 251.604ns ± 1.665ns 256.402ns 288.043ns 296.545ns 297.863ns 18.39% 2.006 3.039 4.73% 0.862ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_trace/test_trace execution_time [255.544ns; 258.922ns] or [-0.657%; +0.657%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7c20ba 1771422675 paullgdc/trace_exporter/remove_proxy_mode
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 537.083µs 537.890µs ± 0.488µs 537.860µs ± 0.261µs 538.098µs 538.539µs 539.157µs 542.119µs 0.79% 3.468 26.716 0.09% 0.035µ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 [537.823µs; 537.958µs] or [-0.013%; +0.013%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7c20ba 1771422675 paullgdc/trace_exporter/remove_proxy_mode
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 35.132µs 35.574µs ± 0.659µs 35.301µs ± 0.046µs 35.353µs 36.862µs 36.913µs 39.752µs 12.61% 2.432 7.576 1.85% 0.047µ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 [35.483µs; 35.666µs] or [-0.257%; +0.257%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7c20ba 1771422675 paullgdc/trace_exporter/remove_proxy_mode
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 48.314ms 48.701ms ± 1.467ms 48.502ms ± 0.058ms 48.563ms 48.699ms 60.261ms 60.868ms 25.50% 7.912 61.017 3.00% 0.104ms 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 [48.498ms; 48.905ms] or [-0.417%; +0.417%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7c20ba 1771422675 paullgdc/trace_exporter/remove_proxy_mode
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
concentrator/add_spans_to_concentrator execution_time 10.627ms 10.652ms ± 0.013ms 10.651ms ± 0.008ms 10.659ms 10.675ms 10.691ms 10.712ms 0.57% 1.018 1.680 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 [10.650ms; 10.654ms] or [-0.017%; +0.017%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7c20ba 1771422675 paullgdc/trace_exporter/remove_proxy_mode
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.272µs 159.994µs ± 0.378µs 159.915µs ± 0.133µs 160.077µs 160.554µs 161.412µs 162.897µs 1.86% 3.414 19.215 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 [159.942µs; 160.046µs] or [-0.033%; +0.033%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7c20ba 1771422675 paullgdc/trace_exporter/remove_proxy_mode
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.898µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.915µs 3.918µs 3.920µs 3.922µs 0.25% -0.111 3.367 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 254939477.308op/s 255547181.252op/s ± 188712.502op/s 255571938.210op/s ± 118227.791op/s 255671421.832op/s 255790455.180op/s 255909494.945op/s 256534529.638op/s 0.38% 0.123 3.410 0.07% 13343.989op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 78.841µs 80.829µs ± 0.788µs 80.750µs ± 0.506µs 81.366µs 82.128µs 82.761µs 83.163µs 2.99% 0.209 0.114 0.97% 0.056µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12024530.430op/s 12372898.563op/s ± 120408.634op/s 12383953.692op/s ± 77092.015op/s 12451369.725op/s 12581107.295op/s 12619929.004op/s 12683789.646op/s 2.42% -0.149 0.075 0.97% 8514.176op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 71.874µs 72.413µs ± 0.397µs 72.287µs ± 0.253µs 72.687µs 73.195µs 73.354µs 73.893µs 2.22% 0.945 0.603 0.55% 0.028µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13533014.422op/s 13810145.918op/s ± 75410.705op/s 13833783.253op/s ± 48608.371op/s 13862580.103op/s 13899560.232op/s 13910135.077op/s 13913199.452op/s 0.57% -0.917 0.512 0.54% 5332.342op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.894µs 3.913µs ± 0.003µs 3.912µs ± 0.001µs 3.914µs 3.917µs 3.918µs 3.921µs 0.22% -1.443 14.337 0.06% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 255042324.453op/s 255579135.077op/s ± 163666.046op/s 255596191.625op/s ± 84525.019op/s 255677086.642op/s 255759885.736op/s 255840200.690op/s 256795330.906op/s 0.47% 1.471 14.548 0.06% 11572.937op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 68.491µs 69.195µs ± 0.412µs 69.093µs ± 0.237µs 69.380µs 70.081µs 70.451µs 70.581µs 2.15% 1.106 1.002 0.59% 0.029µs 1 200
credit_card/is_card_number/378282246310005 throughput 14168116.130op/s 14452397.781op/s ± 85567.318op/s 14473217.312op/s ± 49904.951op/s 14516620.444op/s 14552763.591op/s 14570844.486op/s 14600542.254op/s 0.88% -1.074 0.911 0.59% 6050.523op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 45.566µs 45.752µs ± 0.076µs 45.747µs ± 0.056µs 45.808µs 45.880µs 45.901µs 45.916µs 0.37% -0.057 -0.504 0.17% 0.005µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 21779082.534op/s 21856914.575op/s ± 36344.306op/s 21859205.266op/s ± 26763.430op/s 21882125.589op/s 21918778.586op/s 21942294.036op/s 21946139.564op/s 0.40% 0.065 -0.500 0.17% 2569.931op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.430µs 6.437µs ± 0.004µs 6.436µs ± 0.003µs 6.439µs 6.444µs 6.447µs 6.449µs 0.19% 0.497 -0.179 0.06% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 155071316.330op/s 155357049.159op/s ± 94509.627op/s 155369014.917op/s ± 65462.679op/s 155428648.293op/s 155494023.888op/s 155518806.096op/s 155523720.872op/s 0.10% -0.494 -0.183 0.06% 6682.840op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.894µs 3.914µs ± 0.003µs 3.914µs ± 0.002µs 3.916µs 3.918µs 3.920µs 3.920µs 0.17% -1.249 8.950 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255076888.317op/s 255504312.627op/s ± 187502.795op/s 255521388.845op/s ± 119031.958op/s 255615944.045op/s 255751358.769op/s 255814434.165op/s 256773506.278op/s 0.49% 1.270 9.106 0.07% 13258.450op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 61.320µs 62.747µs ± 0.565µs 62.729µs ± 0.354µs 63.123µs 63.634µs 63.865µs 64.189µs 2.33% -0.052 -0.255 0.90% 0.040µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15578962.757op/s 15938197.028op/s ± 143631.499op/s 15941594.819op/s ± 89924.961op/s 16025475.879op/s 16195547.769op/s 16248509.175op/s 16307886.330op/s 2.30% 0.099 -0.247 0.90% 10156.281op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 53.843µs 54.028µs ± 0.064µs 54.030µs ± 0.041µs 54.061µs 54.146µs 54.197µs 54.221µs 0.35% 0.216 0.400 0.12% 0.005µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18443058.791op/s 18508970.549op/s ± 21944.896op/s 18508310.754op/s ± 14162.509op/s 18523751.608op/s 18541585.582op/s 18555506.994op/s 18572661.043op/s 0.35% -0.207 0.395 0.12% 1551.738op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.894µs 3.913µs ± 0.003µs 3.913µs ± 0.001µs 3.915µs 3.917µs 3.919µs 3.922µs 0.23% -1.449 14.277 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254960355.460op/s 255544432.490op/s ± 169020.443op/s 255550602.072op/s ± 92691.120op/s 255642232.097op/s 255721807.969op/s 255875894.858op/s 256795666.302op/s 0.49% 1.477 14.488 0.07% 11951.550op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 50.182µs 50.369µs ± 0.128µs 50.352µs ± 0.051µs 50.407µs 50.533µs 50.852µs 51.520µs 2.32% 4.524 34.287 0.25% 0.009µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 19409761.823op/s 19853732.400op/s ± 49705.059op/s 19860313.139op/s ± 20005.916op/s 19877602.911op/s 19908785.354op/s 19923215.188op/s 19927286.433op/s 0.34% -4.406 32.869 0.25% 3514.678op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 45.350µs 45.737µs ± 0.108µs 45.739µs ± 0.076µs 45.809µs 45.907µs 45.946µs 45.969µs 0.50% -0.247 -0.019 0.24% 0.008µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 21753753.864op/s 21864159.562op/s ± 51690.598op/s 21862945.587op/s ± 36420.427op/s 21900064.069op/s 21943853.073op/s 21983855.831op/s 22050765.494op/s 0.86% 0.261 0.005 0.24% 3655.077op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.428µs 6.435µs ± 0.003µs 6.435µs ± 0.002µs 6.437µs 6.442µs 6.445µs 6.448µs 0.21% 0.706 1.438 0.05% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 155075241.429op/s 155391469.041op/s ± 77673.614op/s 155397785.583op/s ± 45150.169op/s 155440317.333op/s 155509408.645op/s 155548916.328op/s 155576018.708op/s 0.11% -0.702 1.428 0.05% 5492.354op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
credit_card/is_card_number/ execution_time [3.913µs; 3.914µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ throughput [255521027.514op/s; 255573334.989op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [80.720µs; 80.939µs] or [-0.135%; +0.135%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12356211.085op/s; 12389586.042op/s] or [-0.135%; +0.135%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [72.358µs; 72.468µs] or [-0.076%; +0.076%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13799694.720op/s; 13820597.117op/s] or [-0.076%; +0.076%] None None None
credit_card/is_card_number/37828224631 execution_time [3.912µs; 3.913µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/37828224631 throughput [255556452.537op/s; 255601817.617op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/378282246310005 execution_time [69.138µs; 69.252µs] or [-0.083%; +0.083%] None None None
credit_card/is_card_number/378282246310005 throughput [14440538.974op/s; 14464256.588op/s] or [-0.082%; +0.082%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [45.742µs; 45.763µs] or [-0.023%; +0.023%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [21851877.604op/s; 21861951.546op/s] or [-0.023%; +0.023%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.436µs; 6.437µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/x371413321323331 throughput [155343951.034op/s; 155370147.285op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.913µs; 3.914µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255478326.543op/s; 255530298.711op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [62.669µs; 62.826µs] or [-0.125%; +0.125%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15918291.084op/s; 15958102.972op/s] or [-0.125%; +0.125%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [54.019µs; 54.037µs] or [-0.016%; +0.016%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18505929.198op/s; 18512011.901op/s] or [-0.016%; +0.016%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.913µs; 3.914µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255521007.882op/s; 255567857.098op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [50.351µs; 50.386µs] or [-0.035%; +0.035%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [19846843.757op/s; 19860621.043op/s] or [-0.035%; +0.035%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [45.722µs; 45.752µs] or [-0.033%; +0.033%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [21856995.742op/s; 21871323.382op/s] or [-0.033%; +0.033%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.435µs; 6.436µs] or [-0.007%; +0.007%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [155380704.225op/s; 155402233.857op/s] or [-0.007%; +0.007%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7c20ba 1771422675 paullgdc/trace_exporter/remove_proxy_mode
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.608µs 146.753µs ± 1.749µs 146.443µs ± 0.461µs 146.984µs 148.853µs 154.375µs 162.610µs 11.04% 5.181 37.952 1.19% 0.124µ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.511µs; 146.996µs] or [-0.165%; +0.165%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7c20ba 1771422675 paullgdc/trace_exporter/remove_proxy_mode
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching serializing traces from their internal representation to msgpack execution_time 14.831ms 14.865ms ± 0.027ms 14.861ms ± 0.009ms 14.870ms 14.903ms 14.969ms 15.037ms 1.19% 3.310 13.793 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 [14.862ms; 14.869ms] or [-0.025%; +0.025%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7c20ba 1771422675 paullgdc/trace_exporter/remove_proxy_mode
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.925µs 4.996µs ± 0.048µs 4.975µs ± 0.025µs 5.019µs 5.078µs 5.081µs 5.081µs 2.13% 0.636 -1.033 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.989µs; 5.002µs] or [-0.133%; +0.133%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7c20ba 1771422675 paullgdc/trace_exporter/remove_proxy_mode
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 90.237µs 90.478µs ± 0.224µs 90.433µs ± 0.081µs 90.532µs 90.723µs 91.268µs 92.739µs 2.55% 5.973 52.636 0.25% 0.016µ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 [90.447µs; 90.509µs] or [-0.034%; +0.034%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7c20ba 1771422675 paullgdc/trace_exporter/remove_proxy_mode
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time 185.555µs 186.041µs ± 0.298µs 186.020µs ± 0.167µs 186.165µs 186.498µs 187.115µs 187.247µs 0.66% 1.289 2.751 0.16% 0.021µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5340538.075op/s 5375184.906op/s ± 8599.288op/s 5375753.403op/s ± 4820.770op/s 5381202.358op/s 5386375.414op/s 5388289.402op/s 5389246.406op/s 0.25% -1.274 2.695 0.16% 608.061op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.370µs 17.585µs ± 0.093µs 17.590µs ± 0.065µs 17.650µs 17.726µs 17.777µs 17.800µs 1.19% -0.104 -0.596 0.53% 0.007µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 56181074.909op/s 56869632.270op/s ± 299980.271op/s 56849030.236op/s ± 208310.367op/s 57082684.100op/s 57365871.679op/s 57504635.240op/s 57570301.078op/s 1.27% 0.126 -0.593 0.53% 21211.808op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 9.896µs 9.953µs ± 0.052µs 9.924µs ± 0.021µs 10.001µs 10.041µs 10.070µs 10.115µs 1.93% 0.727 -0.773 0.52% 0.004µs 1 200
normalization/normalize_name/normalize_name/good throughput 98861163.990op/s 100477308.238op/s ± 522920.811op/s 100769675.790op/s ± 217761.145op/s 100908364.962op/s 101002767.641op/s 101035949.720op/s 101053847.264op/s 0.28% -0.716 -0.805 0.52% 36976.085op/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 [185.999µs; 186.082µs] or [-0.022%; +0.022%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5373993.128op/s; 5376376.685op/s] or [-0.022%; +0.022%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [17.572µs; 17.597µs] or [-0.073%; +0.073%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [56828057.889op/s; 56911206.650op/s] or [-0.073%; +0.073%] None None None
normalization/normalize_name/normalize_name/good execution_time [9.946µs; 9.960µs] or [-0.072%; +0.072%] None None None
normalization/normalize_name/normalize_name/good throughput [100404836.443op/s; 100549780.033op/s] or [-0.072%; +0.072%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7c20ba 1771422675 paullgdc/trace_exporter/remove_proxy_mode
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.325µs 2.391µs ± 0.019µs 2.391µs ± 0.006µs 2.398µs 2.428µs 2.432µs 2.436µs 1.88% -0.920 3.443 0.78% 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.388µs; 2.393µs] or [-0.108%; +0.108%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7c20ba 1771422675 paullgdc/trace_exporter/remove_proxy_mode
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 493.363µs 494.282µs ± 0.593µs 494.206µs ± 0.317µs 494.610µs 495.091µs 495.421µs 499.711µs 1.11% 3.992 33.261 0.12% 0.042µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 2001156.891op/s 2023137.718op/s ± 2416.151op/s 2023446.234op/s ± 1297.485op/s 2024635.882op/s 2025922.238op/s 2026331.195op/s 2026903.085op/s 0.17% -3.923 32.425 0.12% 170.848op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 371.627µs 372.494µs ± 0.304µs 372.486µs ± 0.195µs 372.645µs 373.019µs 373.340µs 373.499µs 0.27% 0.470 0.662 0.08% 0.021µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2677383.963op/s 2684607.629op/s ± 2187.302op/s 2684667.323op/s ± 1402.056op/s 2686154.131op/s 2687906.472op/s 2688862.056op/s 2690866.999op/s 0.23% -0.464 0.655 0.08% 154.666op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 167.700µs 167.990µs ± 0.139µs 167.971µs ± 0.097µs 168.074µs 168.246µs 168.307µs 168.386µs 0.25% 0.500 -0.286 0.08% 0.010µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5938741.741op/s 5952721.728op/s ± 4917.771op/s 5953397.497op/s ± 3450.758op/s 5956622.490op/s 5959490.392op/s 5961179.502op/s 5963026.738op/s 0.16% -0.496 -0.290 0.08% 347.739op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 38.689µs 38.810µs ± 0.104µs 38.802µs ± 0.032µs 38.832µs 38.907µs 38.962µs 40.064µs 3.25% 8.948 105.382 0.27% 0.007µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 24959791.569op/s 25766520.699op/s ± 67241.586op/s 25771962.890op/s ± 21327.518op/s 25794545.366op/s 25821555.704op/s 25831932.270op/s 25847304.033op/s 0.29% -8.731 101.866 0.26% 4754.698op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.605µs 45.737µs ± 0.053µs 45.733µs ± 0.037µs 45.774µs 45.828µs 45.878µs 45.892µs 0.35% 0.436 0.032 0.12% 0.004µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21790321.901op/s 21863973.159op/s ± 25464.318op/s 21865971.556op/s ± 17501.133op/s 21881734.336op/s 21900618.134op/s 21908695.329op/s 21927334.762op/s 0.28% -0.430 0.023 0.12% 1800.599op/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 [494.200µs; 494.365µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [2022802.863op/s; 2023472.573op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [372.452µs; 372.536µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2684304.490op/s; 2684910.768op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [167.971µs; 168.010µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5952040.172op/s; 5953403.284op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [38.796µs; 38.825µs] or [-0.037%; +0.037%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [25757201.662op/s; 25775839.736op/s] or [-0.036%; +0.036%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.730µs; 45.745µs] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21860444.050op/s; 21867502.269op/s] or [-0.016%; +0.016%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7c20ba 1771422675 paullgdc/trace_exporter/remove_proxy_mode
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.186µs 3.218µs ± 1.405µs 3.012µs ± 0.020µs 3.031µs 3.699µs 13.843µs 14.794µs 391.13% 7.334 55.088 43.56% 0.099µ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.023µs; 3.412µs] or [-6.052%; +6.052%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7c20ba 1771422675 paullgdc/trace_exporter/remove_proxy_mode
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
two way interface execution_time 17.712µs 24.890µs ± 8.645µs 18.006µs ± 0.223µs 32.412µs 40.475µs 45.936µs 50.744µs 181.82% 0.740 -0.785 34.64% 0.611µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [23.692µs; 26.088µs] or [-4.813%; +4.813%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7c20ba 1771422675 paullgdc/trace_exporter/remove_proxy_mode
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample_frames_x1000 execution_time 3.937ms 3.942ms ± 0.006ms 3.941ms ± 0.002ms 3.943ms 3.946ms 3.949ms 4.026ms 2.14% 11.195 143.092 0.16% 0.000ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample_frames_x1000 execution_time [3.941ms; 3.943ms] or [-0.023%; +0.023%] None None None

Baseline

Omitted due to size.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 17, 2026

🔒 Cargo Deny Results

⚠️ 3 issue(s) found, showing only errors (advisories, bans, sources)

📦 libdd-data-pipeline - 3 error(s)

Show output
error[vulnerability]: Integer overflow in `BytesMut::reserve`
   ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:50:1
   │
50 │ bytes 1.8.0 registry+https://github.com/rust-lang/crates.io-index
   │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ security vulnerability detected
   │
   ├ ID: RUSTSEC-2026-0007
   ├ Advisory: https://rustsec.org/advisories/RUSTSEC-2026-0007
   ├ In the unique reclaim path of `BytesMut::reserve`, the condition
     ```rs
     if v_capacity >= new_cap + offset
     ```
     uses an unchecked addition. When `new_cap + offset` overflows `usize` in release builds, this condition may incorrectly pass, causing `self.cap` to be set to a value that exceeds the actual allocated capacity. Subsequent APIs such as `spare_capacity_mut()` then trust this corrupted `cap` value and may create out-of-bounds slices, leading to UB.
     
     This behavior is observable in release builds (integer overflow wraps), whereas debug builds panic due to overflow checks.
     
     ## PoC
     
     ```rs
     use bytes::*;
     
     fn main() {
         let mut a = BytesMut::from(&b"hello world"[..]);
         let mut b = a.split_off(5);
     
         // Ensure b becomes the unique owner of the backing storage
         drop(a);
     
         // Trigger overflow in new_cap + offset inside reserve
         b.reserve(usize::MAX - 6);
     
         // This call relies on the corrupted cap and may cause UB & HBO
         b.put_u8(b'h');
     }
     ```
     
     # Workarounds
     
     Users of `BytesMut::reserve` are only affected if integer overflow checks are configured to wrap. When integer overflow is configured to panic, this issue does not apply.
   ├ Announcement: https://github.com/advisories/GHSA-434x-w66g-qw3r
   ├ Solution: Upgrade to >=1.11.1 (try `cargo update -p bytes`)
   ├ bytes v1.8.0
     ├── h2 v0.4.6
     │   └── hyper v1.6.0
     │       ├── httpmock v0.8.0-alpha.1
     │       │   ├── (dev) libdd-data-pipeline v1.0.0
     │       │   └── libdd-trace-utils v1.0.0
     │       │       ├── libdd-data-pipeline v1.0.0 (*)
     │       │       ├── libdd-trace-stats v1.0.0
     │       │       │   └── libdd-data-pipeline v1.0.0 (*)
     │       │       └── (dev) libdd-trace-utils v1.0.0 (*)
     │       ├── hyper-rustls v0.27.3
     │       │   └── libdd-common v1.1.0
     │       │       ├── libdd-data-pipeline v1.0.0 (*)
     │       │       ├── libdd-dogstatsd-client v1.0.0
     │       │       │   └── libdd-data-pipeline v1.0.0 (*)
     │       │       ├── libdd-telemetry v2.0.0
     │       │       │   └── libdd-data-pipeline v1.0.0 (*)
     │       │       └── libdd-trace-utils v1.0.0 (*)
     │       ├── hyper-util v0.1.17
     │       │   ├── httpmock v0.8.0-alpha.1 (*)
     │       │   ├── hyper-rustls v0.27.3 (*)
     │       │   ├── libdd-common v1.1.0 (*)
     │       │   ├── libdd-data-pipeline v1.0.0 (*)
     │       │   └── libdd-telemetry v2.0.0 (*)
     │       ├── libdd-common v1.1.0 (*)
     │       ├── libdd-data-pipeline v1.0.0 (*)
     │       ├── libdd-telemetry v2.0.0 (*)
     │       └── libdd-trace-utils v1.0.0 (*)
     ├── headers v0.4.0
     │   └── httpmock v0.8.0-alpha.1 (*)
     ├── http v1.1.0
     │   ├── h2 v0.4.6 (*)
     │   ├── headers v0.4.0 (*)
     │   ├── headers-core v0.3.0
     │   │   └── headers v0.4.0 (*)
     │   ├── http-body v1.0.1
     │   │   ├── http-body-util v0.1.2
     │   │   │   ├── httpmock v0.8.0-alpha.1 (*)
     │   │   │   ├── libdd-common v1.1.0 (*)
     │   │   │   ├── libdd-data-pipeline v1.0.0 (*)
     │   │   │   ├── libdd-telemetry v2.0.0 (*)
     │   │   │   └── libdd-trace-utils v1.0.0 (*)
     │   │   ├── hyper v1.6.0 (*)
     │   │   ├── hyper-util v0.1.17 (*)
     │   │   └── libdd-common v1.1.0 (*)
     │   ├── http-body-util v0.1.2 (*)
     │   ├── httpmock v0.8.0-alpha.1 (*)
     │   ├── hyper v1.6.0 (*)
     │   ├── hyper-rustls v0.27.3 (*)
     │   ├── hyper-util v0.1.17 (*)
     │   ├── libdd-common v1.1.0 (*)
     │   ├── libdd-data-pipeline v1.0.0 (*)
     │   ├── libdd-dogstatsd-client v1.0.0 (*)
     │   ├── libdd-telemetry v2.0.0 (*)
     │   ├── libdd-trace-utils v1.0.0 (*)
     │   └── multer v3.1.0
     │       └── (dev) libdd-common v1.1.0 (*)
     ├── http-body v1.0.1 (*)
     ├── http-body-util v0.1.2 (*)
     ├── httpmock v0.8.0-alpha.1 (*)
     ├── hyper v1.6.0 (*)
     ├── hyper-util v0.1.17 (*)
     ├── (dev) libdd-common v1.1.0 (*)
     ├── libdd-data-pipeline v1.0.0 (*)
     ├── libdd-trace-utils v1.0.0 (*)
     ├── multer v3.1.0 (*)
     ├── prost v0.14.3
     │   ├── libdd-ddsketch v1.0.0
     │   │   ├── libdd-data-pipeline v1.0.0 (*)
     │   │   ├── libdd-telemetry v2.0.0 (*)
     │   │   └── libdd-trace-stats v1.0.0 (*)
     │   ├── libdd-trace-protobuf v1.0.0
     │   │   ├── libdd-data-pipeline v1.0.0 (*)
     │   │   ├── libdd-trace-normalization v1.0.0
     │   │   │   └── libdd-trace-utils v1.0.0 (*)
     │   │   ├── libdd-trace-stats v1.0.0 (*)
     │   │   └── libdd-trace-utils v1.0.0 (*)
     │   └── libdd-trace-utils v1.0.0 (*)
     ├── tokio v1.49.0
     │   ├── h2 v0.4.6 (*)
     │   ├── httpmock v0.8.0-alpha.1 (*)
     │   ├── hyper v1.6.0 (*)
     │   ├── hyper-rustls v0.27.3 (*)
     │   ├── hyper-util v0.1.17 (*)
     │   ├── (dev) libdd-common v1.1.0 (*)
     │   ├── (dev) libdd-data-pipeline v1.0.0 (*)
     │   ├── (dev) libdd-dogstatsd-client v1.0.0 (*)
     │   ├── (dev) libdd-telemetry v2.0.0 (*)
     │   ├── (dev) libdd-trace-protobuf v1.0.0 (*)
     │   ├── (dev) libdd-trace-utils v1.0.0 (*)
     │   ├── tokio-rustls v0.26.0
     │   │   ├── hyper-rustls v0.27.3 (*)
     │   │   └── libdd-common v1.1.0 (*)
     │   └── tokio-util v0.7.12
     │       ├── h2 v0.4.6 (*)
     │       ├── libdd-data-pipeline v1.0.0 (*)
     │       └── libdd-telemetry v2.0.0 (*)
     └── tokio-util v0.7.12 (*)

error[vulnerability]: Denial of Service via Stack Exhaustion
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:294:1
    │
294 │ time 0.3.41 registry+https://github.com/rust-lang/crates.io-index
    │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ security vulnerability detected
    │
    ├ ID: RUSTSEC-2026-0009
    ├ Advisory: https://rustsec.org/advisories/RUSTSEC-2026-0009
    ├ ## Impact
      
      When user-provided input is provided to any type that parses with the RFC 2822 format, a denial of
      service attack via stack exhaustion is possible. The attack relies on formally deprecated and
      rarely-used features that are part of the RFC 2822 format used in a malicious manner. Ordinary,
      non-malicious input will never encounter this scenario.
      
      ## Patches
      
      A limit to the depth of recursion was added in v0.3.47. From this version, an error will be returned
      rather than exhausting the stack.
      
      ## Workarounds
      
      Limiting the length of user input is the simplest way to avoid stack exhaustion, as the amount of
      the stack consumed would be at most a factor of the length of the input.
    ├ Announcement: https://github.com/time-rs/time/blob/main/CHANGELOG.md#0347-2026-02-05
    ├ Solution: Upgrade to >=0.3.47 (try `cargo update -p time`)
    ├ time v0.3.41
      └── tracing-appender v0.2.3
          └── libdd-log v1.0.0
              └── (dev) libdd-data-pipeline v1.0.0

error[vulnerability]: Logging user input may result in poisoning logs with ANSI escape sequences
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:310:1
    │
310 │ tracing-subscriber 0.3.19 registry+https://github.com/rust-lang/crates.io-index
    │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ security vulnerability detected
    │
    ├ ID: RUSTSEC-2025-0055
    ├ Advisory: https://rustsec.org/advisories/RUSTSEC-2025-0055
    ├ Previous versions of tracing-subscriber were vulnerable to ANSI escape sequence injection attacks. Untrusted user input containing ANSI escape sequences could be injected into terminal output when logged, potentially allowing attackers to:
      
      - Manipulate terminal title bars
      - Clear screens or modify terminal display
      - Potentially mislead users through terminal manipulation
      
      In isolation, impact is minimal, however security issues have been found in terminal emulators that enabled an attacker to use ANSI escape sequences via logs to exploit vulnerabilities in the terminal emulator.
      
      This was patched in [PR #3368](https://github.com/tokio-rs/tracing/pull/3368) to escape ANSI control characters from user input.
    ├ Announcement: https://github.com/advisories/GHSA-xwfj-jgwm-7wp5
    ├ Solution: Upgrade to >=0.3.20 (try `cargo update -p tracing-subscriber`)
    ├ tracing-subscriber v0.3.19
      ├── libdd-log v1.0.0
      │   └── (dev) libdd-data-pipeline v1.0.0
      ├── (dev) libdd-telemetry v2.0.0
      │   └── libdd-data-pipeline v1.0.0 (*)
      └── tracing-appender v0.2.3
          └── libdd-log v1.0.0 (*)

advisories FAILED, bans ok, sources ok

Updated: 2026-02-18 13:55:45 UTC | Commit: 7965ce3 | dependency-check job results

@paullegranddc paullegranddc force-pushed the paullgdc/trace_exporter/remove_proxy_mode branch from 980213b to 919fcc4 Compare February 17, 2026 17:14
Comment on lines +338 to +339
// previously used
_trace_count: usize,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why can't you remove it ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

mmmh I don't really mind, just a breaking change

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

removed

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

mmmh I don't really mind, just a breaking change
True but this PR is already a breaking change anyway

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Feb 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 70.99%. Comparing base (0671998) to head (d7c20ba).
⚠️ Report is 5 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1583      +/-   ##
==========================================
+ Coverage   70.82%   70.99%   +0.16%     
==========================================
  Files         423      423              
  Lines       61845    61873      +28     
==========================================
+ Hits        43802    43925     +123     
+ Misses      18043    17948      -95     
Components Coverage Δ
libdd-crashtracker 62.43% <ø> (+0.09%) ⬆️
libdd-crashtracker-ffi 15.80% <ø> (ø)
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 86.94% <100.00%> (+0.97%) ⬆️
libdd-data-pipeline-ffi 74.39% <100.00%> (-1.24%) ⬇️
libdd-common 80.58% <ø> (+0.72%) ⬆️
libdd-common-ffi 73.75% <ø> (ø)
libdd-telemetry 62.52% <ø> (ø)
libdd-telemetry-ffi 16.75% <ø> (ø)
libdd-dogstatsd-client 82.64% <ø> (ø)
datadog-ipc 80.71% <ø> (ø)
libdd-profiling 81.39% <ø> (+0.15%) ⬆️
libdd-profiling-ffi 63.66% <ø> (ø)
datadog-sidecar 32.76% <ø> (ø)
datdog-sidecar-ffi 9.50% <ø> (ø)
spawn-worker 54.69% <ø> (ø)
libdd-tinybytes 93.16% <ø> (ø)
libdd-trace-normalization 81.71% <ø> (ø)
libdd-trace-obfuscation 94.18% <ø> (ø)
libdd-trace-protobuf 68.00% <ø> (ø)
libdd-trace-utils 89.09% <ø> (+0.36%) ⬆️
datadog-tracer-flare 88.95% <ø> (ø)
libdd-log 74.69% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@dd-octo-sts
Copy link
Copy Markdown
Contributor

dd-octo-sts bot commented Feb 18, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 91.60 MB 91.46 MB --.15% (-143.17 KB) 💪
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.38 MB 8.38 MB -0% (-96 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 106.31 MB 106.19 MB --.10% (-119.42 KB) 💪
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.76 MB 10.75 MB --.04% (-4.46 KB) 💪
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 25.02 MB 24.98 MB --.16% (-43.00 KB) 💪
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 75.94 KB 75.94 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 166.56 MB 166.37 MB --.11% (-192.00 KB) 💪
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 838.10 MB 836.90 MB --.14% (-1.19 MB) 💪
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.57 MB 9.55 MB --.18% (-18.00 KB) 💪
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 75.94 KB 75.94 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 23.02 MB 23.00 MB --.10% (-24.00 KB) 💪
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 48.42 MB 48.35 MB --.14% (-71.56 KB) 💪
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 21.08 MB 21.04 MB --.19% (-42.50 KB) 💪
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 77.12 KB 77.12 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 170.30 MB 170.11 MB --.11% (-200.00 KB) 💪
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 823.46 MB 822.32 MB --.13% (-1.14 MB) 💪
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.24 MB 7.23 MB --.18% (-13.50 KB) 💪
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 77.12 KB 77.12 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 24.61 MB 24.58 MB --.09% (-24.00 KB) 💪
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 44.15 MB 44.09 MB --.14% (-63.65 KB) 💪
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 80.14 MB 80.01 MB --.16% (-131.77 KB) 💪
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 9.87 MB 9.85 MB --.19% (-20.09 KB) 💪
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 100.24 MB 100.14 MB --.10% (-105.15 KB) 💪
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.44 MB 11.42 MB --.16% (-19.29 KB) 💪

@paullegranddc paullegranddc requested a review from a team as a code owner February 18, 2026 13:51
@paullegranddc paullegranddc changed the title chore(trace_exporter)!: remove Proxy TraceExporter input mode refactor(trace_exporter)!: remove Proxy TraceExporter input mode Feb 18, 2026
@paullegranddc paullegranddc merged commit 2078f6f into main Feb 18, 2026
63 of 68 checks passed
@paullegranddc paullegranddc deleted the paullgdc/trace_exporter/remove_proxy_mode branch February 18, 2026 16:24
paullegranddc pushed a commit that referenced this pull request Feb 23, 2026
# Release proposal for libdd-data-pipeline and its dependencies

This PR contains version bumps based on public API changes and commits
since last release.

## libdd-common
**Next version:** `2.0.0`

**Semver bump:** `major`
**Tag:** `libdd-common-v2.0.0`

### Commits

- refactor(ddcommon)!: remove direct dependency on hyper client
everywhere in common (#1604)
- feat!: enable non-blocking DNS for reqwest (#1558)
- feat: unify Azure tags (#1553)
- feat(common): add current thread id API (#1569)
- refactor!: switch from multipart to multer to resolve deprecation
warnings and dependabot alerts (#1540)
- feat: single source of truth for headers (fixes issue in profiling
with missing headers) (#1493)
- refactor!: make reqwest available in common (#1504)
## libdd-ddsketch
**Next version:** `1.0.1`

**Semver bump:** `patch`
**Tag:** `libdd-ddsketch-v1.0.1`

### Commits

- chore: remove manual changelog modifications (#1472)
- build: update `prost` crates (#1426)
- chore: add changelog for every published crate (#1396)
## libdd-trace-protobuf
**Next version:** `1.1.0`

**Semver bump:** `minor`
**Tag:** `libdd-trace-protobuf-v1.1.0`

### Commits

- chore: remove manual changelog modifications (#1472)
- build: update `prost` crates (#1426)
- chore: add changelog for every published crate (#1396)
- Handle null span tag values (#1394)
## libdd-dogstatsd-client
**Next version:** `1.0.1`

**Semver bump:** `patch`
**Tag:** `libdd-dogstatsd-client-v1.0.1`

### Commits

- refactor(ddcommon)!: remove direct dependency on hyper client
everywhere in common (#1604)
- chore: release libddcommon-v1.1.0 (#1456)
- chore: add changelog for every published crate (#1396)
- style: fix recent clippy warnings (#1346)
## libdd-telemetry
**Next version:** `3.0.0`

**Semver bump:** `major`
**Tag:** `libdd-telemetry-v3.0.0`

### Commits

- refactor(ddcommon)!: remove direct dependency on hyper client
everywhere in common (#1604)
- chore(deps): bump tracing-subscriber to remove regex dep duplicate
(#1608)
- feat(telemetry)!: add process_tags to Application in telemetry (#1459)
- fix(telemetry)!: fix logs payload format [APMSP-2590] (#1498)
- feat(appsec): add endpoints collection (#1182)
## libdd-trace-normalization
**Next version:** `1.0.1`

**Semver bump:** `patch`
**Tag:** `libdd-trace-normalization-v1.0.1`

### Commits

- Prevent span start overflow panic (#1373)
- [CHAOSPLT-932] Add support for internal fuzzing infra  (#1372)
- chore: add changelog for every published crate (#1396)
## libdd-trace-utils
**Next version:** `2.0.0`

**Semver bump:** `major`
**Tag:** `libdd-trace-utils-v2.0.0`

### Commits

- refactor(ddcommon)!: remove direct dependency on hyper client
everywhere in common (#1604)
- feat: unify Azure tags (#1553)
- fix(serverless): set hostname on stats from tracer to empty string
(#1530)
- chore: remove manual changelog modifications (#1472)
- feat(sidecar)!: introduce TraceData to unify text and binary data
(#1247)
- chore: release libddcommon-v1.1.0 (#1456)
- fix(test-agent): undo commenting arg in docker cmd (#1439)
- [SLES-2652] Log error details when trace request fails (2) (#1441)
- build: update `prost` crates (#1426)
- chore(trace-utils): bump the test agent version used for integration
tests (#1417)
- [Serverless] Skip AAS metadata tagging when span is from API
Management (#1409)
- chore: add changelog for every published crate (#1396)
- Handle null span tag values (#1394)
- [SVLS-7934] Log error details when trace request fails (#1392)
- Fix trace utils clippy warning (#1397)
- feat(trace_utils): Allow sending trace stats using custom HTTP client
(#1345)
## libdd-trace-stats
**Next version:** `1.0.1`

**Semver bump:** `patch`
**Tag:** `libdd-trace-stats-v1.0.1`

### Commits

- feat(sidecar)!: introduce TraceData to unify text and binary data
(#1247)
- chore: add changelog for every published crate (#1396)
## libdd-data-pipeline
**Next version:** `2.0.0`

**Semver bump:** `major`
**Tag:** `libdd-data-pipeline-v2.0.0`

### Commits

- refactor(ddcommon)!: remove direct dependency on hyper client
everywhere in common (#1604)
- refactor(trace_exporter)!: remove Proxy TraceExporter input mode
(#1583)
- refactor(libdd-data-pipeline): health metrics (#1433)
- feat(data-pipeline)!: include reason for chunks dropped telemetry
(#1449)
- feat(sidecar)!: introduce TraceData to unify text and binary data
(#1247)
- chore: release libddcommon-v1.1.0 (#1456)
- chore: prepare libdd-telemetry-v2.0.0 (#1457)
- Allow submitting Vec<Vec<Span>> asynchronously (#1302)
- test(data-pipeline): handle EINTR in test_health_metrics_disabled
(#1430)
- chore: add changelog for every published crate (#1396)

[APMSP-2590]:
https://datadoghq.atlassian.net/browse/APMSP-2590?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

---------

Co-authored-by: dd-octo-sts[bot] <200755185+dd-octo-sts[bot]@users.noreply.github.com>
dd-octo-sts bot added a commit that referenced this pull request Feb 25, 2026
# Release proposal for libdd-data-pipeline and its dependencies

This PR contains version bumps based on public API changes and commits
since last release.

## libdd-common
**Next version:** `2.0.0`

**Semver bump:** `major`
**Tag:** `libdd-common-v2.0.0`

### Commits

- refactor(ddcommon)!: remove direct dependency on hyper client
everywhere in common (#1604)
- feat!: enable non-blocking DNS for reqwest (#1558)
- feat: unify Azure tags (#1553)
- feat(common): add current thread id API (#1569)
- refactor!: switch from multipart to multer to resolve deprecation
warnings and dependabot alerts (#1540)
- feat: single source of truth for headers (fixes issue in profiling
with missing headers) (#1493)
- refactor!: make reqwest available in common (#1504)
## libdd-ddsketch
**Next version:** `1.0.1`

**Semver bump:** `patch`
**Tag:** `libdd-ddsketch-v1.0.1`

### Commits

- chore: remove manual changelog modifications (#1472)
- build: update `prost` crates (#1426)
- chore: add changelog for every published crate (#1396)
## libdd-trace-protobuf
**Next version:** `1.1.0`

**Semver bump:** `minor`
**Tag:** `libdd-trace-protobuf-v1.1.0`

### Commits

- chore: remove manual changelog modifications (#1472)
- build: update `prost` crates (#1426)
- chore: add changelog for every published crate (#1396)
- Handle null span tag values (#1394)
## libdd-dogstatsd-client
**Next version:** `1.0.1`

**Semver bump:** `patch`
**Tag:** `libdd-dogstatsd-client-v1.0.1`

### Commits

- refactor(ddcommon)!: remove direct dependency on hyper client
everywhere in common (#1604)
- chore: release libddcommon-v1.1.0 (#1456)
- chore: add changelog for every published crate (#1396)
- style: fix recent clippy warnings (#1346)
## libdd-telemetry
**Next version:** `3.0.0`

**Semver bump:** `major`
**Tag:** `libdd-telemetry-v3.0.0`

### Commits

- refactor(ddcommon)!: remove direct dependency on hyper client
everywhere in common (#1604)
- chore(deps): bump tracing-subscriber to remove regex dep duplicate
(#1608)
- feat(telemetry)!: add process_tags to Application in telemetry (#1459)
- fix(telemetry)!: fix logs payload format [APMSP-2590] (#1498)
- feat(appsec): add endpoints collection (#1182)
## libdd-trace-normalization
**Next version:** `1.0.1`

**Semver bump:** `patch`
**Tag:** `libdd-trace-normalization-v1.0.1`

### Commits

- Prevent span start overflow panic (#1373)
- [CHAOSPLT-932] Add support for internal fuzzing infra  (#1372)
- chore: add changelog for every published crate (#1396)
## libdd-trace-utils
**Next version:** `2.0.0`

**Semver bump:** `major`
**Tag:** `libdd-trace-utils-v2.0.0`

### Commits

- refactor(ddcommon)!: remove direct dependency on hyper client
everywhere in common (#1604)
- feat: unify Azure tags (#1553)
- fix(serverless): set hostname on stats from tracer to empty string
(#1530)
- chore: remove manual changelog modifications (#1472)
- feat(sidecar)!: introduce TraceData to unify text and binary data
(#1247)
- chore: release libddcommon-v1.1.0 (#1456)
- fix(test-agent): undo commenting arg in docker cmd (#1439)
- [SLES-2652] Log error details when trace request fails (2) (#1441)
- build: update `prost` crates (#1426)
- chore(trace-utils): bump the test agent version used for integration
tests (#1417)
- [Serverless] Skip AAS metadata tagging when span is from API
Management (#1409)
- chore: add changelog for every published crate (#1396)
- Handle null span tag values (#1394)
- [SVLS-7934] Log error details when trace request fails (#1392)
- Fix trace utils clippy warning (#1397)
- feat(trace_utils): Allow sending trace stats using custom HTTP client
(#1345)
## libdd-trace-stats
**Next version:** `1.0.1`

**Semver bump:** `patch`
**Tag:** `libdd-trace-stats-v1.0.1`

### Commits

- feat(sidecar)!: introduce TraceData to unify text and binary data
(#1247)
- chore: add changelog for every published crate (#1396)
## libdd-data-pipeline
**Next version:** `2.0.0`

**Semver bump:** `major`
**Tag:** `libdd-data-pipeline-v2.0.0`

### Commits

- refactor(ddcommon)!: remove direct dependency on hyper client
everywhere in common (#1604)
- refactor(trace_exporter)!: remove Proxy TraceExporter input mode
(#1583)
- refactor(libdd-data-pipeline): health metrics (#1433)
- feat(data-pipeline)!: include reason for chunks dropped telemetry
(#1449)
- feat(sidecar)!: introduce TraceData to unify text and binary data
(#1247)
- chore: release libddcommon-v1.1.0 (#1456)
- chore: prepare libdd-telemetry-v2.0.0 (#1457)
- Allow submitting Vec<Vec<Span>> asynchronously (#1302)
- test(data-pipeline): handle EINTR in test_health_metrics_disabled
(#1430)
- chore: add changelog for every published crate (#1396)

[APMSP-2590]:
https://datadoghq.atlassian.net/browse/APMSP-2590?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

---------

Co-authored-by: dd-octo-sts[bot] <200755185+dd-octo-sts[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants