Skip to content

feat(profiling)!: take mime types in profile exporter#1478

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 1 commit intomainfrom
dsn/profile-exporter-mine
Jan 27, 2026
Merged

feat(profiling)!: take mime types in profile exporter#1478
gh-worker-dd-mergequeue-cf854d[bot] merged 1 commit intomainfrom
dsn/profile-exporter-mine

Conversation

@danielsn
Copy link
Contributor

What does this PR do?

Adds a mime field to files we export

Motivation

Integration tests were failing because they expected a mime type. Having one is good practice.

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Tests have been updated.

Comment on lines +50 to +56
pub enum MimeType {
ApplicationJson,
ApplicationOctetStream,
TextCsv,
TextPlain,
TextXml,
}
Copy link
Contributor Author

Choose a reason for hiding this comment

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

LMK if there are any other types we need to support at this time

Copy link
Contributor

Choose a reason for hiding this comment

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

Python currently uses json for code provenance and internal metadata. And pprof.

Copy link
Contributor

Choose a reason for hiding this comment

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

Node.js doesn't use libdatadog for profile uploads, but just wanted to confirm here it only uses two MIME types: application/json for event.json and application/octet-stream for the pprof files.

@danielsn danielsn force-pushed the dsn/profile-exporter-mine branch from f82ff54 to a36c98e Compare January 27, 2026 15:01
@pr-commenter
Copy link

pr-commenter bot commented Jan 27, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-01-27 16:44:56

Comparing candidate commit 746e9a3 in PR branch dsn/profile-exporter-mine with baseline commit d5f1bbf in branch main.

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

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 746e9a3 1769531327 dsn/profile-exporter-mine
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.356µs 2.401µs ± 0.016µs 2.397µs ± 0.005µs 2.406µs 2.434µs 2.437µs 2.465µs 2.82% 0.712 1.577 0.66% 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.399µs; 2.403µs] or [-0.092%; +0.092%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 746e9a3 1769531327 dsn/profile-exporter-mine
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 161.311µs 162.322µs ± 0.273µs 162.360µs ± 0.144µs 162.483µs 162.680µs 162.938µs 163.131µs 0.47% -0.504 1.548 0.17% 0.019µ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 [162.284µs; 162.360µs] or [-0.023%; +0.023%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 746e9a3 1769531327 dsn/profile-exporter-mine
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.267µs 3.245µs ± 1.437µs 3.023µs ± 0.031µs 3.052µs 3.726µs 14.169µs 14.780µs 388.95% 7.283 54.441 44.16% 0.102µ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.046µs; 3.444µs] or [-6.136%; +6.136%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 746e9a3 1769531327 dsn/profile-exporter-mine
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 535.016µs 536.675µs ± 1.464µs 536.198µs ± 0.465µs 537.024µs 539.252µs 542.523µs 546.639µs 1.95% 2.954 12.891 0.27% 0.104µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1829361.664op/s 1863339.665op/s ± 5043.609op/s 1864984.042op/s ± 1617.515op/s 1866221.708op/s 1867615.760op/s 1868378.474op/s 1869103.391op/s 0.22% -2.905 12.441 0.27% 356.637op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.100µs 381.888µs ± 0.541µs 382.005µs ± 0.241µs 382.232µs 382.518µs 382.744µs 382.833µs 0.22% -1.207 0.984 0.14% 0.038µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2612106.797op/s 2618573.558op/s ± 3713.386op/s 2617768.125op/s ± 1647.636op/s 2619462.510op/s 2626717.252op/s 2628593.308op/s 2630886.910op/s 0.50% 1.213 0.998 0.14% 262.576op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 189.244µs 189.667µs ± 0.210µs 189.640µs ± 0.126µs 189.780µs 190.051µs 190.197µs 190.510µs 0.46% 0.798 0.957 0.11% 0.015µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5249081.714op/s 5272394.634op/s ± 5820.523op/s 5273159.106op/s ± 3502.894op/s 5276189.406op/s 5280789.925op/s 5282595.387op/s 5284191.258op/s 0.21% -0.791 0.936 0.11% 411.573op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.414µs 36.568µs ± 0.062µs 36.559µs ± 0.034µs 36.603µs 36.687µs 36.745µs 36.762µs 0.56% 0.764 0.820 0.17% 0.004µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 27201718.497op/s 27346578.768op/s ± 45946.214op/s 27353137.606op/s ± 25453.304op/s 27376846.103op/s 27410416.871op/s 27426257.826op/s 27461983.242op/s 0.40% -0.753 0.800 0.17% 3248.888op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.943µs 46.067µs ± 0.061µs 46.057µs ± 0.036µs 46.101µs 46.166µs 46.269µs 46.403µs 0.75% 1.359 4.466 0.13% 0.004µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21550310.157op/s 21707437.236op/s ± 28533.024op/s 21712176.396op/s ± 17183.699op/s 21727420.458op/s 21744350.917op/s 21752333.115op/s 21766190.963op/s 0.25% -1.340 4.362 0.13% 2017.589op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time [536.472µs; 536.878µs] or [-0.038%; +0.038%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1862640.670op/s; 1864038.661op/s] or [-0.038%; +0.038%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [381.813µs; 381.963µs] or [-0.020%; +0.020%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2618058.918op/s; 2619088.197op/s] or [-0.020%; +0.020%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [189.638µs; 189.696µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5271587.965op/s; 5273201.303op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [36.559µs; 36.576µs] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [27340211.065op/s; 27352946.471op/s] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [46.059µs; 46.076µs] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21703482.833op/s; 21711391.639op/s] or [-0.018%; +0.018%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 746e9a3 1769531327 dsn/profile-exporter-mine
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 143.814µs 145.734µs ± 1.709µs 145.458µs ± 0.412µs 145.889µs 147.364µs 152.610µs 162.440µs 11.67% 6.018 49.355 1.17% 0.121µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sdk_test_data/rules-based execution_time [145.497µs; 145.971µs] or [-0.163%; +0.163%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 746e9a3 1769531327 dsn/profile-exporter-mine
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 13.010ms 13.208ms ± 0.070ms 13.198ms ± 0.038ms 13.239ms 13.331ms 13.419ms 13.453ms 1.93% 0.737 1.141 0.53% 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 [13.199ms; 13.218ms] or [-0.074%; +0.074%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 746e9a3 1769531327 dsn/profile-exporter-mine
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.893µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.914µs 3.916µs 3.919µs 3.930µs 0.45% 0.177 15.886 0.08% 0.000µs 1 200
credit_card/is_card_number/ throughput 254456521.869op/s 255591466.279op/s ± 194667.786op/s 255603151.967op/s ± 90940.667op/s 255695640.396op/s 255808955.433op/s 255860070.410op/s 256887875.224op/s 0.50% -0.136 15.953 0.08% 13765.091op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 77.062µs 77.552µs ± 0.297µs 77.481µs ± 0.196µs 77.722µs 78.072µs 78.335µs 78.696µs 1.57% 0.861 0.702 0.38% 0.021µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12707186.239op/s 12894830.467op/s ± 49275.774op/s 12906440.314op/s ± 32559.025op/s 12929049.004op/s 12958933.927op/s 12964830.883op/s 12976519.943op/s 0.54% -0.839 0.634 0.38% 3484.323op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 70.642µs 71.127µs ± 0.325µs 71.040µs ± 0.252µs 71.315µs 71.674µs 71.958µs 72.189µs 1.62% 0.587 -0.185 0.46% 0.023µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13852517.842op/s 14059718.560op/s ± 64051.923op/s 14076519.766op/s ± 50094.104op/s 14100620.449op/s 14146900.442op/s 14153377.654op/s 14155785.118op/s 0.56% -0.567 -0.227 0.45% 4529.155op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.893µs 3.913µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.919µs 3.921µs 3.921µs 0.23% -0.424 5.927 0.08% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 255012273.214op/s 255578654.651op/s ± 209717.676op/s 255604115.226op/s ± 110342.565op/s 255713376.920op/s 255857469.376op/s 255902261.260op/s 256842578.712op/s 0.48% 0.443 6.030 0.08% 14829.279op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 67.398µs 67.842µs ± 0.268µs 67.790µs ± 0.201µs 68.036µs 68.325µs 68.453µs 68.685µs 1.32% 0.539 -0.254 0.39% 0.019µs 1 200
credit_card/is_card_number/378282246310005 throughput 14559311.289op/s 14740295.387op/s ± 58106.012op/s 14751516.927op/s ± 43598.042op/s 14780052.520op/s 14819595.878op/s 14826913.295op/s 14837278.663op/s 0.58% -0.522 -0.287 0.39% 4108.715op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 44.598µs 45.181µs ± 0.214µs 45.206µs ± 0.159µs 45.362µs 45.483µs 45.540µs 45.565µs 0.79% -0.479 -0.455 0.47% 0.015µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 21946435.276op/s 22133564.190op/s ± 105298.542op/s 22120906.732op/s ± 77930.939op/s 22207416.180op/s 22335184.660op/s 22394324.286op/s 22422398.805op/s 1.36% 0.498 -0.428 0.47% 7445.731op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.028µs 6.037µs ± 0.008µs 6.036µs ± 0.003µs 6.039µs 6.045µs 6.087µs 6.101µs 1.07% 5.136 33.968 0.14% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 163914337.734op/s 165643129.808op/s ± 223459.957op/s 165672904.378op/s ± 85621.481op/s 165755304.433op/s 165826563.860op/s 165857754.140op/s 165900578.668op/s 0.14% -5.097 33.591 0.13% 15801.005op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.896µs 3.914µs ± 0.003µs 3.915µs ± 0.002µs 3.916µs 3.918µs 3.920µs 3.922µs 0.18% -1.349 6.353 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254995202.379op/s 255488395.276op/s ± 193101.227op/s 255453650.604op/s ± 100360.185op/s 255602453.784op/s 255823697.480op/s 255909133.708op/s 256688023.525op/s 0.48% 1.363 6.452 0.08% 13654.319op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 65.403µs 65.605µs ± 0.080µs 65.605µs ± 0.050µs 65.655µs 65.745µs 65.787µs 65.832µs 0.35% 0.014 0.081 0.12% 0.006µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15190277.587op/s 15242739.063op/s ± 18660.271op/s 15242733.052op/s ± 11633.217op/s 15254297.743op/s 15273085.391op/s 15289389.775op/s 15289884.213op/s 0.31% -0.006 0.080 0.12% 1319.480op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 52.958µs 53.027µs ± 0.037µs 53.022µs ± 0.024µs 53.047µs 53.093µs 53.132µs 53.140µs 0.22% 0.697 0.260 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18818041.783op/s 18858283.849op/s ± 13097.025op/s 18859943.367op/s ± 8698.341op/s 18868441.588op/s 18876425.798op/s 18879806.706op/s 18882863.801op/s 0.12% -0.693 0.252 0.07% 926.100op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.894µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.914µs 3.916µs 3.919µs 3.919µs 0.18% -1.269 10.716 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255151494.703op/s 255605705.832op/s ± 172789.379op/s 255619516.550op/s ± 92170.611op/s 255702869.276op/s 255819849.027op/s 255920718.065op/s 256811611.502op/s 0.47% 1.292 10.882 0.07% 12218.054op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 49.736µs 49.819µs ± 0.037µs 49.813µs ± 0.024µs 49.847µs 49.884µs 49.903µs 49.908µs 0.19% 0.398 -0.526 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 20036985.684op/s 20072817.559op/s ± 14781.066op/s 20075194.088op/s ± 9759.269op/s 20083689.032op/s 20093285.631op/s 20102609.520op/s 20106126.337op/s 0.15% -0.395 -0.528 0.07% 1045.179op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 44.529µs 45.190µs ± 0.214µs 45.221µs ± 0.139µs 45.341µs 45.495µs 45.538µs 45.555µs 0.74% -0.710 0.370 0.47% 0.015µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 21951278.840op/s 22129405.633op/s ± 105184.830op/s 22113768.466op/s ± 67993.109op/s 22196876.388op/s 22327465.848op/s 22425764.727op/s 22457045.590op/s 1.55% 0.736 0.427 0.47% 7437.691op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.028µs 6.038µs ± 0.013µs 6.036µs ± 0.003µs 6.039µs 6.046µs 6.103µs 6.170µs 2.22% 6.662 56.032 0.22% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 162078565.164op/s 165612554.063op/s ± 353517.085op/s 165676415.965op/s ± 85344.116op/s 165748236.887op/s 165829655.575op/s 165883138.635op/s 165899228.383op/s 0.13% -6.574 54.695 0.21% 24997.433op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
credit_card/is_card_number/ execution_time [3.912µs; 3.913µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ throughput [255564487.196op/s; 255618445.362op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [77.510µs; 77.593µs] or [-0.053%; +0.053%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12888001.319op/s; 12901659.615op/s] or [-0.053%; +0.053%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [71.082µs; 71.172µs] or [-0.063%; +0.063%] None None None
credit_card/is_card_number/ 378282246310005 throughput [14050841.580op/s; 14068595.541op/s] or [-0.063%; +0.063%] None None None
credit_card/is_card_number/37828224631 execution_time [3.912µs; 3.913µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/37828224631 throughput [255549589.798op/s; 255607719.504op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/378282246310005 execution_time [67.805µs; 67.879µs] or [-0.055%; +0.055%] None None None
credit_card/is_card_number/378282246310005 throughput [14732242.453op/s; 14748348.321op/s] or [-0.055%; +0.055%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [45.152µs; 45.211µs] or [-0.066%; +0.066%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [22118970.825op/s; 22148157.555op/s] or [-0.066%; +0.066%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.036µs; 6.038µs] or [-0.019%; +0.019%] None None None
credit_card/is_card_number/x371413321323331 throughput [165612160.408op/s; 165674099.209op/s] or [-0.019%; +0.019%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.914µs; 3.914µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255461633.303op/s; 255515157.249op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.594µs; 65.616µs] or [-0.017%; +0.017%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15240152.929op/s; 15245325.197op/s] or [-0.017%; +0.017%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [53.022µs; 53.032µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18856468.727op/s; 18860098.971op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.912µs; 3.913µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255581758.886op/s; 255629652.778op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [49.814µs; 49.824µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [20070769.046op/s; 20074866.073op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [45.160µs; 45.219µs] or [-0.066%; +0.066%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [22114828.027op/s; 22143983.239op/s] or [-0.066%; +0.066%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.036µs; 6.040µs] or [-0.030%; +0.030%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [165563559.995op/s; 165661548.131op/s] or [-0.030%; +0.030%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 746e9a3 1769531327 dsn/profile-exporter-mine
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 527.491µs 528.498µs ± 0.452µs 528.475µs ± 0.269µs 528.782µs 529.255µs 529.518µs 530.080µs 0.30% 0.192 0.052 0.09% 0.032µ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 [528.436µs; 528.561µs] or [-0.012%; +0.012%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 746e9a3 1769531327 dsn/profile-exporter-mine
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.357ms 48.713ms ± 1.488ms 48.509ms ± 0.069ms 48.587ms 48.820ms 57.883ms 63.598ms 31.11% 8.378 71.196 3.05% 0.105ms 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.506ms; 48.919ms] or [-0.423%; +0.423%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 746e9a3 1769531327 dsn/profile-exporter-mine
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.931µs 26.104µs ± 9.603µs 18.276µs ± 0.206µs 34.486µs 43.186µs 44.375µs 62.787µs 243.54% 0.788 -0.144 36.70% 0.679µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [24.773µs; 27.435µs] or [-5.099%; +5.099%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 746e9a3 1769531327 dsn/profile-exporter-mine
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 89.714µs 90.032µs ± 0.573µs 89.963µs ± 0.051µs 90.021µs 90.221µs 90.944µs 97.769µs 8.68% 12.486 165.001 0.63% 0.041µ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 [89.953µs; 90.111µs] or [-0.088%; +0.088%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 746e9a3 1769531327 dsn/profile-exporter-mine
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.994µs 5.044µs ± 0.040µs 5.034µs ± 0.028µs 5.075µs 5.117µs 5.136µs 5.138µs 2.06% 0.675 -0.761 0.79% 0.003µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
ip_address/quantize_peer_ip_address_benchmark execution_time [5.039µs; 5.050µs] or [-0.110%; +0.110%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 746e9a3 1769531327 dsn/profile-exporter-mine
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_trace/test_trace execution_time 241.185ns 253.243ns ± 14.269ns 246.737ns ± 3.789ns 259.419ns 286.966ns 288.493ns 290.794ns 17.86% 1.443 0.772 5.62% 1.009ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_trace/test_trace execution_time [251.266ns; 255.221ns] or [-0.781%; +0.781%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 746e9a3 1769531327 dsn/profile-exporter-mine
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time 204.820µs 205.516µs ± 0.424µs 205.434µs ± 0.270µs 205.755µs 206.280µs 206.643µs 207.568µs 1.04% 1.123 2.041 0.21% 0.030µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4817702.060op/s 4865815.066op/s ± 10023.479op/s 4867733.165op/s ± 6400.886op/s 4873599.412op/s 4878153.933op/s 4880931.851op/s 4882333.777op/s 0.30% -1.106 1.959 0.21% 708.767op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.594µs 18.661µs ± 0.040µs 18.657µs ± 0.026µs 18.683µs 18.727µs 18.757µs 18.929µs 1.46% 1.802 9.026 0.21% 0.003µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 52829205.417op/s 53588219.584op/s ± 114177.058op/s 53597931.483op/s ± 74328.354op/s 53671304.897op/s 53740969.212op/s 53761547.449op/s 53781279.739op/s 0.34% -1.753 8.629 0.21% 8073.537op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.838µs 10.919µs ± 0.039µs 10.917µs ± 0.027µs 10.942µs 10.988µs 11.024µs 11.052µs 1.24% 0.589 0.305 0.36% 0.003µs 1 200
normalization/normalize_name/normalize_name/good throughput 90479298.544op/s 91587527.647op/s ± 326115.354op/s 91600352.556op/s ± 223246.670op/s 91829360.020op/s 92067677.334op/s 92191338.091op/s 92268076.091op/s 0.73% -0.568 0.266 0.36% 23059.838op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time [205.457µs; 205.575µs] or [-0.029%; +0.029%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4864425.909op/s; 4867204.224op/s] or [-0.029%; +0.029%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.655µs; 18.666µs] or [-0.030%; +0.030%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [53572395.742op/s; 53604043.426op/s] or [-0.030%; +0.030%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.913µs; 10.924µs] or [-0.049%; +0.049%] None None None
normalization/normalize_name/normalize_name/good throughput [91542331.196op/s; 91632724.099op/s] or [-0.049%; +0.049%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 746e9a3 1769531327 dsn/profile-exporter-mine
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.551ms 14.631ms ± 0.029ms 14.628ms ± 0.016ms 14.645ms 14.674ms 14.708ms 14.796ms 1.14% 1.375 5.494 0.20% 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.627ms; 14.635ms] or [-0.028%; +0.028%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 746e9a3 1769531327 dsn/profile-exporter-mine
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
redis/obfuscate_redis_string execution_time 33.573µs 34.226µs ± 1.134µs 33.714µs ± 0.068µs 33.808µs 36.675µs 36.703µs 37.405µs 10.95% 1.703 0.954 3.30% 0.080µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
redis/obfuscate_redis_string execution_time [34.069µs; 34.384µs] or [-0.459%; +0.459%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 746e9a3 1769531327 dsn/profile-exporter-mine
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.634ms 10.659ms ± 0.014ms 10.659ms ± 0.008ms 10.666ms 10.682ms 10.691ms 10.748ms 0.84% 1.526 7.977 0.13% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
concentrator/add_spans_to_concentrator execution_time [10.657ms; 10.661ms] or [-0.018%; +0.018%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 746e9a3 1769531327 dsn/profile-exporter-mine
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.893ms 3.901ms ± 0.008ms 3.901ms ± 0.002ms 3.903ms 3.906ms 3.909ms 4.004ms 2.65% 11.173 143.334 0.20% 0.001ms 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.900ms; 3.902ms] or [-0.028%; +0.028%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 746e9a3 1769531327 dsn/profile-exporter-mine
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.877ns 190.969ns ± 2.078ns 190.405ns ± 1.207ns 192.014ns 195.519ns 197.538ns 199.712ns 4.89% 1.518 2.443 1.09% 0.147ns 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.681ns; 191.257ns] or [-0.151%; +0.151%] None None None

Baseline

Omitted due to size.

@github-actions
Copy link

github-actions bot commented Jan 27, 2026

📚 Documentation Check Results

⚠️ 562 documentation warning(s) found

📦 libdd-profiling - 562 warning(s)

Show warnings
warning: missing documentation for the crate
  --> libdd-profiling/build.rs:4:1
   |
 4 | / fn main() {
 5 | |     // Build CXX bridge if feature is enabled
 6 | |     #[cfg(feature = "cxx")]
...  |
14 | | }
   | |_^
   |
   = note: requested on the command line with `-W missing-docs`


warning: missing documentation for the crate
   --> libdd-common/src/lib.rs:3:1
    |
  3 | / #![cfg_attr(not(test), deny(clippy::panic))]
  4 | | #![cfg_attr(not(test), deny(clippy::unwrap_used))]
  5 | | #![cfg_attr(not(test), deny(clippy::expect_used))]
  6 | | #![cfg_attr(not(test), deny(clippy::todo))]
...   |
323 | | }
    | |_^
    |
    = note: requested on the command line with `-W missing-docs`


warning: missing documentation for a module
  --> libdd-common/src/lib.rs:18:1
   |
18 | pub mod azure_app_services;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-common/src/lib.rs:19:1
   |
19 | pub mod cc_utils;
   | ^^^^^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-common/src/lib.rs:20:1
   |
20 | pub mod connector;
   | ^^^^^^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-common/src/lib.rs:23:1
   |
23 | pub mod cstr;
   | ^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-common/src/lib.rs:24:1
   |
24 | pub mod config;
   | ^^^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-common/src/lib.rs:25:1
   |
25 | pub mod error;
   | ^^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-common/src/lib.rs:26:1
   |
26 | pub mod hyper_migration;
   | ^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-common/src/lib.rs:27:1
   |
27 | pub mod rate_limiter;
   | ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-common/src/lib.rs:28:1
   |
28 | pub mod tag;
   | ^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-common/src/lib.rs:29:1
   |
29 | pub mod timeout;
   | ^^^^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-common/src/lib.rs:30:1
   |
30 | pub mod unix_utils;
   | ^^^^^^^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-common/src/lib.rs:31:1
   |
31 | pub mod worker;
   | ^^^^^^^^^^^^^^


warning: missing documentation for a method
  --> libdd-common/src/lib.rs:70:5
   |
70 |     fn lock_or_panic(&self) -> MutexGuard<'_, T>;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-common/src/lib.rs:82:1
   |
82 | pub mod header {
   | ^^^^^^^^^^^^^^


warning: missing documentation for a type alias
   --> libdd-common/src/lib.rs:111:1
    |
111 | pub type HttpClient = hyper_migration::GenericHttpClient<connector::Connector>;
    | ^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a type alias
   --> libdd-common/src/lib.rs:112:1
    |
112 | pub type GenericHttpClient<C> = hyper_migration::GenericHttpClient<C>;
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a type alias
   --> libdd-common/src/lib.rs:113:1
    |
113 | pub type HttpResponse = hyper_migration::HttpResponse;
    | ^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a type alias
   --> libdd-common/src/lib.rs:114:1
    |
114 | pub type HttpRequestBuilder = hyper::http::request::Builder;
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a trait
   --> libdd-common/src/lib.rs:115:1
    |
115 | / pub trait Connect:
116 | |     hyper_util::client::legacy::connect::Connect + Clone + Send + Sync + 'static
    | |________________________________________________________________________________^


warning: missing documentation for a struct
   --> libdd-common/src/lib.rs:129:1
    |
129 | pub struct Endpoint {
    | ^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-common/src/lib.rs:131:5
    |
131 |     pub url: hyper::Uri,
    |     ^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-common/src/lib.rs:132:5
    |
132 |     pub api_key: Option<Cow<'static, str>>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-common/src/lib.rs:133:5
    |
133 |     pub timeout_ms: u64,
    |     ^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a function
   --> libdd-common/src/lib.rs:222:1
    |
222 | pub fn decode_uri_path_in_authority(uri: &hyper::Uri) -> anyhow::Result<PathBuf> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an associated function
   --> libdd-common/src/lib.rs:287:5
    |
287 |     pub fn from_slice(url: &str) -> Endpoint {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an associated function
   --> libdd-common/src/lib.rs:296:5
    |
296 |     pub fn from_url(url: hyper::Uri) -> Endpoint {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/lib.rs:303:5
    |
303 |     pub fn is_file_endpoint(&self) -> bool {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a trait
  --> libdd-common/src/azure_app_services.rs:57:1
   |
57 | pub trait QueryEnv {
   | ^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
  --> libdd-common/src/azure_app_services.rs:58:5
   |
58 |     fn get_var(&self, var: &str) -> Option<String>;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-common/src/azure_app_services.rs:70:1
   |
70 | pub struct AzureMetadata {
   | ^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an associated function
   --> libdd-common/src/azure_app_services.rs:192:5
    |
192 |     pub fn new<T: QueryEnv>(query: T) -> Option<Self> {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an associated function
   --> libdd-common/src/azure_app_services.rs:205:5
    |
205 |     pub fn new_function<T: QueryEnv>(query: T) -> Option<Self> {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/azure_app_services.rs:215:5
    |
215 |     pub fn get_resource_id(&self) -> &str {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/azure_app_services.rs:219:5
    |
219 |     pub fn get_subscription_id(&self) -> &str {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/azure_app_services.rs:223:5
    |
223 |     pub fn get_site_name(&self) -> &str {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/azure_app_services.rs:227:5
    |
227 |     pub fn get_resource_group(&self) -> &str {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/azure_app_services.rs:231:5
    |
231 |     pub fn get_extension_version(&self) -> &str {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/azure_app_services.rs:235:5
    |
235 |     pub fn get_operating_system(&self) -> &str {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/azure_app_services.rs:239:5
    |
239 |     pub fn get_instance_name(&self) -> &str {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/azure_app_services.rs:243:5
    |
243 |     pub fn get_instance_id(&self) -> &str {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/azure_app_services.rs:247:5
    |
247 |     pub fn get_site_type(&self) -> &str {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/azure_app_services.rs:251:5
    |
251 |     pub fn get_site_kind(&self) -> &str {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/azure_app_services.rs:255:5
    |
255 |     pub fn get_runtime(&self) -> &str {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/azure_app_services.rs:259:5
    |
259 |     pub fn get_runtime_version(&self) -> &str {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/azure_app_services.rs:263:5
    |
263 |     pub fn get_function_runtime_version(&self) -> &str {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a static
   --> libdd-common/src/azure_app_services.rs:268:1
    |
268 | pub static AAS_METADATA: LazyLock<Option<AzureMetadata>> =
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a static
   --> libdd-common/src/azure_app_services.rs:271:1
    |
271 | pub static AAS_METADATA_FUNCTION: LazyLock<Option<AzureMetadata>> =
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an enum
  --> libdd-common/src/cc_utils.rs:14:1
   |
14 | pub enum LinkableTarget {
   | ^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/cc_utils.rs:15:5
   |
15 |     Path(PathBuf),
   |     ^^^^


warning: missing documentation for a variant
  --> libdd-common/src/cc_utils.rs:16:5
   |
16 |     Name(String),
   |     ^^^^


warning: missing documentation for an enum
  --> libdd-common/src/cc_utils.rs:20:1
   |
20 | pub enum Linkable {
   | ^^^^^^^^^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/cc_utils.rs:21:5
   |
21 |     Static(LinkableTarget),
   |     ^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/cc_utils.rs:22:5
   |
22 |     Dynamic(LinkableTarget),
   |     ^^^^^^^


warning: missing documentation for a struct
  --> libdd-common/src/cc_utils.rs:32:1
   |
32 | pub struct ImprovedBuild {
   | ^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
  --> libdd-common/src/cc_utils.rs:47:5
   |
47 |     pub fn to_compiler_args(&self, _compiler: &cc::Tool) -> Vec<OsString> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
  --> libdd-common/src/cc_utils.rs:77:5
   |
77 |     pub fn file<P: AsRef<Path>>(&mut self, p: P) -> &mut Self {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
  --> libdd-common/src/cc_utils.rs:82:5
   |
82 | /     pub fn files<P>(&mut self, p: P) -> &mut Self
83 | |     where
84 | |         P: IntoIterator,
85 | |         P::Item: AsRef<Path>,
   | |_____________________________^


warning: missing documentation for a method
  --> libdd-common/src/cc_utils.rs:93:5
   |
93 |     pub fn link_dynamically<S: AsRef<str>>(&mut self, name: S) -> &mut Self {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/cc_utils.rs:100:5
    |
100 |     pub fn set_cc_builder(&mut self, cc_build: cc::Build) -> &mut Self {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/cc_utils.rs:105:5
    |
105 |     pub fn emit_rerun_if_env_changed(&mut self, emit: bool) -> &mut Self {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an associated function
   --> libdd-common/src/cc_utils.rs:111:5
    |
111 |     pub fn new() -> Self {
    |     ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/cc_utils.rs:129:5
    |
129 |     pub fn define<'a, V: Into<Option<&'a str>>>(&mut self, var: &str, val: V) -> &mut Self {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/cc_utils.rs:134:5
    |
134 |     pub fn flag(&mut self, flag: &str) -> &mut Self {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/cc_utils.rs:139:5
    |
139 |     pub fn warnings(&mut self, warnings: bool) -> &mut Self {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/cc_utils.rs:144:5
    |
144 |     pub fn warnings_into_errors(&mut self, warnings_into_errors: bool) -> &mut Self {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/cc_utils.rs:149:5
    |
149 |     pub fn include<P: AsRef<Path>>(&mut self, dir: P) -> &mut Self {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/cc_utils.rs:154:5
    |
154 | /     pub fn includes<P>(&mut self, dirs: P) -> &mut Self
155 | |     where
156 | |         P: IntoIterator,
157 | |         P::Item: AsRef<Path>,
    | |_____________________________^


warning: missing documentation for a method
   --> libdd-common/src/cc_utils.rs:163:5
    |
163 |     pub fn try_compile_executable(&self, output: &str) -> anyhow::Result<()> {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/cc_utils.rs:167:5
    |
167 |     pub fn try_compile_shared_lib(&self, output: &str) -> anyhow::Result<()> {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/cc_utils.rs:171:5
    |
171 |     pub fn cpp(&mut self, is_cpp: bool) -> &mut Self {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-common/src/connector/mod.rs:14:1
   |
14 | pub mod uds;
   | ^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-common/src/connector/mod.rs:16:1
   |
16 | pub mod named_pipe;
   | ^^^^^^^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-common/src/connector/mod.rs:18:1
   |
18 | pub mod errors;
   | ^^^^^^^^^^^^^^


warning: missing documentation for an enum
  --> libdd-common/src/connector/mod.rs:24:1
   |
24 | pub enum Connector {
   | ^^^^^^^^^^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/connector/mod.rs:25:5
   |
25 |     Http(connect::HttpConnector),
   |     ^^^^


warning: missing documentation for a function
  --> libdd-common/src/connector/uds.rs:19:1
   |
19 | pub fn socket_path_from_uri(uri: &hyper::Uri) -> anyhow::Result<PathBuf> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a function
  --> libdd-common/src/connector/named_pipe.rs:26:1
   |
26 | pub fn named_pipe_path_from_uri(uri: &hyper::Uri) -> anyhow::Result<PathBuf> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an enum
 --> libdd-common/src/connector/errors.rs:8:1
  |
8 | pub enum Error {
  | ^^^^^^^^^^^^^^


warning: missing documentation for a variant
 --> libdd-common/src/connector/errors.rs:9:5
  |
9 |     InvalidUrl,
  |     ^^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/connector/errors.rs:10:5
   |
10 |     OperationTimedOut,
   |     ^^^^^^^^^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/connector/errors.rs:11:5
   |
11 |     UnixSocketUnsupported,
   |     ^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/connector/errors.rs:12:5
   |
12 |     CannotEstablishTlsConnection,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/connector/errors.rs:13:5
   |
13 |     NoValidCertifacteRootsFound,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/connector/errors.rs:14:5
   |
14 |     WindowsNamedPipeUnsupported,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a static
  --> libdd-common/src/entity_id/mod.rs:96:1
   |
96 | pub static DD_EXTERNAL_ENV: LazyLock<Option<&'static str>> = LazyLock::new(|| {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a macro
  --> libdd-common/src/cstr.rs:26:1
   |
26 | macro_rules! cstr {
   | ^^^^^^^^^^^^^^^^^


warning: missing documentation for a macro
  --> libdd-common/src/cstr.rs:39:1
   |
39 | macro_rules! cstr_u8 {
   | ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a module
 --> libdd-common/src/config.rs:4:1
  |
4 | pub mod parse_env {
  | ^^^^^^^^^^^^^^^^^


warning: missing documentation for a function
  --> libdd-common/src/config.rs:10:5
   |
10 |     pub fn duration(name: &str) -> Option<Duration> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a function
  --> libdd-common/src/config.rs:16:5
   |
16 |     pub fn int<T: FromStr>(name: &str) -> Option<T> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a function
  --> libdd-common/src/config.rs:20:5
   |
20 |     pub fn bool(name: &str) -> Option<bool> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a function
  --> libdd-common/src/config.rs:25:5
   |
25 |     pub fn str_not_empty(name: &str) -> Option<String> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a function
  --> libdd-common/src/config.rs:29:5
   |
29 |     pub fn uri(name: &str) -> Option<Uri> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a type alias
  --> libdd-common/src/hyper_migration.rs:34:1
   |
34 | pub type HttpResponse = hyper::Response<Body>;
   | ^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a type alias
  --> libdd-common/src/hyper_migration.rs:35:1
   |
35 | pub type HttpRequest = HyperRequest<Body>;
   | ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a type alias
  --> libdd-common/src/hyper_migration.rs:36:1
   |
36 | pub type ClientError = hyper_util::client::legacy::Error;
   | ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a type alias
  --> libdd-common/src/hyper_migration.rs:37:1
   |
37 | pub type ResponseFuture = hyper_util::client::legacy::ResponseFuture;
   | ^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a function
  --> libdd-common/src/hyper_migration.rs:39:1
   |
39 | pub fn into_response(response: hyper::Response<Incoming>) -> HttpResponse {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an enum
  --> libdd-common/src/hyper_migration.rs:44:1
   |
44 | pub enum Error {
   | ^^^^^^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/hyper_migration.rs:45:5
   |
45 |     Hyper(hyper::Error),
   |     ^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/hyper_migration.rs:46:5
   |
46 |     Legacy(hyper_util::client::legacy::Error),
   |     ^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/hyper_migration.rs:47:5
   |
47 |     Other(anyhow::Error),
   |     ^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/hyper_migration.rs:48:5
   |
48 |     Infallible(Infallible),
   |     ^^^^^^^^^^


warning: missing documentation for a function
  --> libdd-common/src/hyper_migration.rs:82:1
   |
82 | / pub fn mock_response(
83 | |     builder: http::response::Builder,
84 | |     body: hyper::body::Bytes,
85 | | ) -> anyhow::Result<HttpResponse> {
   | |_________________________________^


warning: missing documentation for a function
  --> libdd-common/src/hyper_migration.rs:89:1
   |
89 | pub fn empty_response(builder: http::response::Builder) -> Result<HttpResponse, Error> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an enum
  --> libdd-common/src/hyper_migration.rs:95:1
   |
95 | pub enum Body {
   | ^^^^^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/hyper_migration.rs:96:5
   |
96 |     Single(#[pin] http_body_util::Full<hyper::body::Bytes>),
   |     ^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/hyper_migration.rs:97:5
   |
97 |     Empty(#[pin] http_body_util::Empty<hyper::body::Bytes>),
   |     ^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/hyper_migration.rs:98:5
   |
98 |     Boxed(#[pin] http_body_util::combinators::BoxBody<hyper::body::Bytes, anyhow::Error>),
   |     ^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/hyper_migration.rs:99:5
   |
99 |     Channel(#[pin] tokio::sync::mpsc::Receiver<hyper::body::Bytes>),
   |     ^^^^^^^


warning: missing documentation for a variant
   --> libdd-common/src/hyper_migration.rs:100:5
    |
100 |     Incoming(#[pin] hyper::body::Incoming),
    |     ^^^^^^^^


warning: missing documentation for a struct
   --> libdd-common/src/hyper_migration.rs:103:1
    |
103 | pub struct Sender {
    | ^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-common/src/hyper_migration.rs:108:5
    |
108 |     pub async fn send_data(&self, data: hyper::body::Bytes) -> anyhow::Result<()> {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an associated function
   --> libdd-common/src/hyper_migration.rs:115:5
    |
115 |     pub fn empty() -> Self {
    |     ^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an associated function
   --> libdd-common/src/hyper_migration.rs:119:5
    |
119 |     pub fn from_bytes(bytes: hyper::body::Bytes) -> Self {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an associated function
   --> libdd-common/src/hyper_migration.rs:123:5
    |
123 | /     pub fn boxed<
124 | |         E: std::error::Error + Sync + Send + 'static,
125 | |         T: hyper::body::Body<Data = hyper::body::Bytes, Error = E> + Sync + Send + 'static,
126 | |     >(
127 | |         body: T,
128 | |     ) -> Self {
    | |_____________^


warning: missing documentation for an associated function
   --> libdd-common/src/hyper_migration.rs:132:5
    |
132 |     pub fn channel() -> (Sender, Self) {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an associated function
   --> libdd-common/src/hyper_migration.rs:137:5
    |
137 |     pub fn incoming(incoming: Incoming) -> Self {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a type alias
   --> libdd-common/src/hyper_migration.rs:212:1
    |
212 | pub type GenericHttpClient<C> = hyper_util::client::legacy::Client<C, Body>;
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a function
   --> libdd-common/src/hyper_migration.rs:214:1
    |
214 | pub fn client_builder() -> hyper_util::client::legacy::Builder {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a trait
 --> libdd-common/src/rate_limiter.rs:6:1
  |
6 | pub trait Limiter {
  | ^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-common/src/tag.rs:12:1
   |
12 | pub struct Tag {
   | ^^^^^^^^^^^^^^


warning: missing documentation for a struct
 --> libdd-common/src/timeout.rs:6:1
  |
6 | pub struct TimeoutManager {
  | ^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an associated function
  --> libdd-common/src/timeout.rs:15:5
   |
15 |     pub fn new(timeout: Duration) -> Self {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
  --> libdd-common/src/timeout.rs:22:5
   |
22 |     pub fn remaining(&self) -> Duration {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
  --> libdd-common/src/timeout.rs:32:5
   |
32 |     pub fn elapsed(&self) -> Duration {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
  --> libdd-common/src/timeout.rs:36:5
   |
36 |     pub fn timeout(&self) -> Duration {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-common/src/unix_utils/execve.rs:12:1
   |
12 | pub struct PreparedExecve {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an enum
  --> libdd-common/src/unix_utils/execve.rs:21:1
   |
21 | pub enum PreparedExecveError {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/unix_utils/execve.rs:23:5
   |
23 |     BinaryPathError(std::ffi::NulError),
   |     ^^^^^^^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/unix_utils/execve.rs:25:5
   |
25 |     ArgumentError(std::ffi::NulError),
   |     ^^^^^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/unix_utils/execve.rs:27:5
   |
27 |     EnvironmentError(std::ffi::NulError),
   |     ^^^^^^^^^^^^^^^^


warning: missing documentation for an associated function
  --> libdd-common/src/unix_utils/execve.rs:37:5
   |
37 | /     pub fn new(
38 | |         binary_path: &str,
39 | |         args: &[String],
40 | |         env: &[(String, String)],
41 | |     ) -> Result<Self, PreparedExecveError> {
   | |__________________________________________^


warning: missing documentation for a function
  --> libdd-common/src/unix_utils/fork.rs:96:1
   |
96 | pub fn alt_fork() -> libc::pid_t {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an enum
  --> libdd-common/src/unix_utils/process.rs:12:1
   |
12 | pub enum ReapError {
   | ^^^^^^^^^^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/unix_utils/process.rs:14:5
   |
14 |     Timeout,
   |     ^^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/unix_utils/process.rs:16:5
   |
16 |     WaitError(#[from] nix::Error),
   |     ^^^^^^^^^


warning: missing documentation for an enum
  --> libdd-common/src/unix_utils/process.rs:20:1
   |
20 | pub enum PollError {
   | ^^^^^^^^^^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/unix_utils/process.rs:22:5
   |
22 |     PollError(i32),
   |     ^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-common/src/unix_utils/process.rs:24:5
   |
24 |     UnexpectedResult(i16),
   |     ^^^^^^^^^^^^^^^^


warning: missing documentation for a constant
  --> libdd-common/src/lib.rs:88:5
   |
88 |     pub const DATADOG_SEND_REAL_HTTP_STATUS_STR: &str = "datadog-send-real-http-status";
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a constant
  --> libdd-common/src/lib.rs:89:5
   |
89 |     pub const DATADOG_TRACE_COUNT_STR: &str = "x-datadog-trace-count";
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a constant
  --> libdd-common/src/lib.rs:90:5
   |
90 |     pub const APPLICATION_MSGPACK_STR: &str = "application/msgpack";
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a constant
  --> libdd-common/src/lib.rs:91:5
   |
91 |     pub const APPLICATION_PROTOBUF_STR: &str = "application/x-protobuf";
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a constant
  --> libdd-common/src/lib.rs:93:5
   |
93 |     pub const DATADOG_CONTAINER_ID: HeaderName = HeaderName::from_static("datadog-container-id");
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a constant
  --> libdd-common/src/lib.rs:94:5
   |
94 |     pub const DATADOG_ENTITY_ID: HeaderName = HeaderName::from_static("datadog-entity-id");
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a constant
  --> libdd-common/src/lib.rs:95:5
   |
95 |     pub const DATADOG_EXTERNAL_ENV: HeaderName = HeaderName::from_static("datadog-external-env");
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a constant
  --> libdd-common/src/lib.rs:96:5
   |
96 |     pub const DATADOG_TRACE_COUNT: HeaderName = HeaderName::from_static("x-datadog-trace-count");
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a constant
   --> libdd-common/src/lib.rs:102:5
    |
102 |     pub const DATADOG_API_KEY: HeaderName = HeaderName::from_static("dd-api-key");
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a constant
   --> libdd-common/src/lib.rs:103:5
    |
103 |     pub const APPLICATION_JSON: HeaderValue = HeaderValue::from_static("application/json");
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a constant
   --> libdd-common/src/lib.rs:104:5
    |
104 |     pub const APPLICATION_MSGPACK: HeaderValue = HeaderValue::from_static(APPLICATION_MSGPACK_STR);
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a constant
   --> libdd-common/src/lib.rs:105:5
    |
105 |     pub const APPLICATION_PROTOBUF: HeaderValue =
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a constant
   --> libdd-common/src/lib.rs:107:5
    |
107 |     pub const X_DATADOG_TEST_SESSION_TOKEN: HeaderName =
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for the crate
  --> libdd-alloc/src/lib.rs:4:1
   |
 4 | / #![cfg_attr(not(test), no_std)]
 5 | | #![cfg_attr(not(test), deny(clippy::panic))]
 6 | | #![cfg_attr(not(test), deny(clippy::unwrap_used))]
 7 | | #![cfg_attr(not(test), deny(clippy::expect_used))]
...  |
21 | | pub use allocator_api2::alloc::*;
   | |_________________________________^
   |
   = note: requested on the command line with `-W missing-docs`


warning: missing documentation for a module
  --> libdd-alloc/src/virtual_alloc.rs:79:1
   |
79 | pub mod os {
   | ^^^^^^^^^^


warning: missing documentation for a function
  --> libdd-alloc/src/virtual_alloc.rs:85:5
   |
85 |     pub fn page_size() -> Result<usize, AllocError> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-profiling-protobuf/src/lib.rs:67:1
   |
67 | pub mod prost_impls;
   | ^^^^^^^^^^^^^^^^^^^
   |
   = note: requested on the command line with `-W missing-docs`


warning: missing documentation for a variant
   --> libdd-profiling-protobuf/src/lib.rs:108:5
    |
108 |     Varint = 0,
    |     ^^^^^^


warning: missing documentation for a variant
   --> libdd-profiling-protobuf/src/lib.rs:109:5
    |
109 |     LengthDelimited = 2,
    |     ^^^^^^^^^^^^^^^


warning: missing documentation for an associated function
   --> libdd-profiling-protobuf/src/lib.rs:221:5
    |
221 |     pub const fn new(field: u32, wire_type: WireType) -> Self {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-profiling-protobuf/src/lib.rs:227:5
    |
227 |     pub fn proto_len(self) -> u64 {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-profiling-protobuf/src/lib.rs:232:5
    |
232 |     pub fn encode<W: Write>(self, writer: &mut W) -> io::Result<()> {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/location.rs:27:5
   |
27 |     pub line: Record<Line, 4, OPT_ZERO>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an associated constant
   --> libdd-profiling-protobuf/src/string.rs:175:5
    |
175 |     pub const ZERO: Self = Self(0);
    |     ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an associated function
   --> libdd-profiling-protobuf/src/string.rs:178:5
    |
178 |     pub const fn new(offset: u32) -> Self {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-profiling-protobuf/src/string.rs:183:5
    |
183 |     pub const fn is_zero(&self) -> bool {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/value_type.rs:12:5
   |
12 |     pub r#type: Record<StringOffset, 1, OPT_ZERO>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/value_type.rs:13:5
   |
13 |     pub unit: Record<StringOffset, 2, OPT_ZERO>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
 --> libdd-profiling-protobuf/src/prost_impls.rs:7:1
  |
7 | pub struct Profile {
  | ^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
 --> libdd-profiling-protobuf/src/prost_impls.rs:9:5
  |
9 |     pub sample_types: Vec<ValueType>,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:11:5
   |
11 |     pub samples: Vec<Sample>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:13:5
   |
13 |     pub mappings: Vec<Mapping>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:15:5
   |
15 |     pub locations: Vec<Location>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:17:5
   |
17 |     pub functions: Vec<Function>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:19:5
   |
19 |     pub string_table: Vec<String>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:21:5
   |
21 |     pub drop_frames: i64,
   |     ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:23:5
   |
23 |     pub keep_frames: i64,
   |     ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:25:5
   |
25 |     pub time_nanos: i64,
   |     ^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:27:5
   |
27 |     pub duration_nanos: i64,
   |     ^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:29:5
   |
29 |     pub period_type: Option<ValueType>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:31:5
   |
31 |     pub period: i64,
   |     ^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:33:5
   |
33 |     pub comment: Vec<i64>,
   |     ^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:35:5
   |
35 |     pub default_sample_type: i64,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-profiling-protobuf/src/prost_impls.rs:39:1
   |
39 | pub struct Sample {
   | ^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:41:5
   |
41 |     pub location_ids: Vec<u64>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:43:5
   |
43 |     pub values: Vec<i64>,
   |     ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:45:5
   |
45 |     pub labels: Vec<Label>,
   |     ^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-profiling-protobuf/src/prost_impls.rs:49:1
   |
49 | pub struct ValueType {
   | ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:51:5
   |
51 |     pub r#type: i64, // Index into string table
   |     ^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:53:5
   |
53 |     pub unit: i64, // Index into string table
   |     ^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-profiling-protobuf/src/prost_impls.rs:57:1
   |
57 | pub struct Label {
   | ^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:59:5
   |
59 |     pub key: i64, // Index into string table
   |     ^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:61:5
   |
61 |     pub str: i64, // Index into string table
   |     ^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:63:5
   |
63 |     pub num: i64,
   |     ^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:65:5
   |
65 |     pub num_unit: i64,
   |     ^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-profiling-protobuf/src/prost_impls.rs:69:1
   |
69 | pub struct Mapping {
   | ^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:71:5
   |
71 |     pub id: u64,
   |     ^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:73:5
   |
73 |     pub memory_start: u64,
   |     ^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:75:5
   |
75 |     pub memory_limit: u64,
   |     ^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:77:5
   |
77 |     pub file_offset: u64,
   |     ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:79:5
   |
79 |     pub filename: i64, // Index into string table
   |     ^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:81:5
   |
81 |     pub build_id: i64, // Index into string table
   |     ^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:83:5
   |
83 |     pub has_functions: bool,
   |     ^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:85:5
   |
85 |     pub has_filenames: bool,
   |     ^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:87:5
   |
87 |     pub has_line_numbers: bool,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:89:5
   |
89 |     pub has_inline_frames: bool,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-profiling-protobuf/src/prost_impls.rs:93:1
   |
93 | pub struct Location {
   | ^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:95:5
   |
95 |     pub id: u64,
   |     ^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:97:5
   |
97 |     pub mapping_id: u64,
   |     ^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling-protobuf/src/prost_impls.rs:99:5
   |
99 |     pub address: u64,
   |     ^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling-protobuf/src/prost_impls.rs:101:5
    |
101 |     pub lines: Vec<Line>,
    |     ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling-protobuf/src/prost_impls.rs:103:5
    |
103 |     pub is_folded: bool,
    |     ^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
   --> libdd-profiling-protobuf/src/prost_impls.rs:107:1
    |
107 | pub struct Line {
    | ^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling-protobuf/src/prost_impls.rs:109:5
    |
109 |     pub function_id: u64,
    |     ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling-protobuf/src/prost_impls.rs:111:5
    |
111 |     pub line: i64,
    |     ^^^^^^^^^^^^^


warning: missing documentation for a struct
   --> libdd-profiling-protobuf/src/prost_impls.rs:115:1
    |
115 | pub struct Function {
    | ^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling-protobuf/src/prost_impls.rs:117:5
    |
117 |     pub id: u64,
    |     ^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling-protobuf/src/prost_impls.rs:119:5
    |
119 |     pub name: i64, // Index into string table
    |     ^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling-protobuf/src/prost_impls.rs:121:5
    |
121 |     pub system_name: i64, // Index into string table
    |     ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling-protobuf/src/prost_impls.rs:123:5
    |
123 |     pub filename: i64, // Index into string table
    |     ^^^^^^^^^^^^^^^^^


warning: missing documentation for the crate
  --> libdd-profiling/src/lib.rs:3:1
   |
 3 | / #![cfg_attr(not(test), deny(clippy::panic))]
 4 | | #![cfg_attr(not(test), deny(clippy::unwrap_used))]
 5 | | #![cfg_attr(not(test), deny(clippy::expect_used))]
 6 | | #![cfg_attr(not(test), deny(clippy::todo))]
...  |
17 | | pub mod pprof;
18 | | pub mod profiles;
   | |_________________^
   |
   = note: requested on the command line with `-W missing-docs`


warning: missing documentation for a module
 --> libdd-profiling/src/lib.rs:9:1
  |
9 | pub mod api;
  | ^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-profiling/src/lib.rs:10:1
   |
10 | pub mod api2;
   | ^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-profiling/src/lib.rs:11:1
   |
11 | pub mod collections;
   | ^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-profiling/src/lib.rs:14:1
   |
14 | pub mod exporter;
   | ^^^^^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-profiling/src/lib.rs:15:1
   |
15 | pub mod internal;
   | ^^^^^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-profiling/src/lib.rs:16:1
   |
16 | pub mod iter;
   | ^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-profiling/src/lib.rs:17:1
   |
17 | pub mod pprof;
   | ^^^^^^^^^^^^^


warning: missing documentation for a module
  --> libdd-profiling/src/lib.rs:18:1
   |
18 | pub mod profiles;
   | ^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
 --> libdd-profiling/src/api.rs:9:1
  |
9 | pub struct ValueType<'a> {
  | ^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/api.rs:10:5
   |
10 |     pub r#type: &'a str,
   |     ^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/api.rs:11:5
   |
11 |     pub unit: &'a str,
   |     ^^^^^^^^^^^^^^^^^


warning: missing documentation for an associated function
  --> libdd-profiling/src/api.rs:16:5
   |
16 |     pub const fn new(r#type: &'a str, unit: &'a str) -> Self {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-profiling/src/api.rs:22:1
   |
22 | pub struct Period<'a> {
   | ^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/api.rs:23:5
   |
23 |     pub r#type: ValueType<'a>,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/api.rs:24:5
   |
24 |     pub value: i64,
   |     ^^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-profiling/src/api.rs:29:1
   |
29 | pub struct ManagedStringId {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/api.rs:30:5
   |
30 |     pub value: u32,
   |     ^^^^^^^^^^^^^^


warning: missing documentation for an associated function
  --> libdd-profiling/src/api.rs:34:5
   |
34 |     pub const fn empty() -> Self {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an associated function
  --> libdd-profiling/src/api.rs:38:5
   |
38 |     pub const fn new(value: u32) -> Self {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-profiling/src/api.rs:44:1
   |
44 | pub struct Mapping<'a> {
   | ^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-profiling/src/api.rs:67:1
   |
67 | pub struct StringIdMapping {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/api.rs:68:5
   |
68 |     pub memory_start: u64,
   |     ^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/api.rs:69:5
   |
69 |     pub memory_limit: u64,
   |     ^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/api.rs:70:5
   |
70 |     pub file_offset: u64,
   |     ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/api.rs:71:5
   |
71 |     pub filename: ManagedStringId,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/api.rs:72:5
   |
72 |     pub build_id: ManagedStringId,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-profiling/src/api.rs:76:1
   |
76 | pub struct Function<'a> {
   | ^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-profiling/src/api.rs:90:1
   |
90 | pub struct StringIdFunction {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/api.rs:91:5
   |
91 |     pub name: ManagedStringId,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/api.rs:92:5
   |
92 |     pub system_name: ManagedStringId,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/api.rs:93:5
   |
93 |     pub filename: ManagedStringId,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-profiling/src/api.rs:97:1
   |
97 | pub struct Line<'a> {
   | ^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
   --> libdd-profiling/src/api.rs:106:1
    |
106 | pub struct Location<'a> {
    | ^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:107:5
    |
107 |     pub mapping: Mapping<'a>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:108:5
    |
108 |     pub function: Function<'a>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:116:5
    |
116 |     pub line: i64,
    |     ^^^^^^^^^^^^^


warning: missing documentation for a struct
   --> libdd-profiling/src/api.rs:121:1
    |
121 | pub struct StringIdLocation {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:122:5
    |
122 |     pub mapping: StringIdMapping,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:123:5
    |
123 |     pub function: StringIdFunction,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:124:5
    |
124 |     pub address: u64,
    |     ^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:125:5
    |
125 |     pub line: i64,
    |     ^^^^^^^^^^^^^


warning: missing documentation for a struct
   --> libdd-profiling/src/api.rs:129:1
    |
129 | pub struct Label<'a> {
    | ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:130:5
    |
130 |     pub key: &'a str,
    |     ^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:134:5
    |
134 |     pub num: i64,
    |     ^^^^^^^^^^^^


warning: missing documentation for a struct
   --> libdd-profiling/src/api.rs:148:1
    |
148 | pub struct StringIdLabel {
    | ^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:149:5
    |
149 |     pub key: ManagedStringId,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:153:5
    |
153 |     pub num: i64,
    |     ^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-profiling/src/api.rs:160:5
    |
160 |     pub fn uses_at_most_one_of_str_and_num(&self) -> bool {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
   --> libdd-profiling/src/api.rs:166:1
    |
166 | pub struct Sample<'a> {
    | ^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
   --> libdd-profiling/src/api.rs:185:1
    |
185 | pub struct StringIdSample<'a> {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:186:5
    |
186 |     pub locations: Vec<StringIdLocation>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:187:5
    |
187 |     pub values: &'a [i64],
    |     ^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:188:5
    |
188 |     pub labels: Vec<StringIdLabel>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an enum
   --> libdd-profiling/src/api.rs:193:1
    |
193 | pub enum UpscalingInfo {
    | ^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a variant
   --> libdd-profiling/src/api.rs:194:5
    |
194 |     Poisson {
    |     ^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:196:9
    |
196 |         sum_value_offset: usize,
    |         ^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:197:9
    |
197 |         count_value_offset: usize,
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:198:9
    |
198 |         sampling_distance: u64,
    |         ^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a variant
   --> libdd-profiling/src/api.rs:200:5
    |
200 |     PoissonNonSampleTypeCount {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:202:9
    |
202 |         sum_value_offset: usize,
    |         ^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:203:9
    |
203 |         count_value: u64,
    |         ^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:204:9
    |
204 |         sampling_distance: u64,
    |         ^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a variant
   --> libdd-profiling/src/api.rs:206:5
    |
206 |     Proportional {
    |     ^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:207:9
    |
207 |         scale: f64,
    |         ^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-profiling/src/api.rs:238:5
    |
238 |     pub fn check_validity(&self, number_of_values: usize) -> anyhow::Result<()> {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
   --> libdd-profiling/src/api.rs:278:1
    |
278 | pub struct Profile<'a> {
    | ^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:279:5
    |
279 |     pub duration: Duration,
    |     ^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:280:5
    |
280 |     pub period: Option<(i64, ValueType<'a>)>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:281:5
    |
281 |     pub sample_types: Vec<ValueType<'a>>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:282:5
    |
282 |     pub samples: Vec<Sample<'a>>,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
   --> libdd-profiling/src/api.rs:283:5
    |
283 |     pub start_time: SystemTime,
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
 --> libdd-profiling/src/api2.rs:8:1
  |
8 | pub struct Location2 {
  | ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
 --> libdd-profiling/src/api2.rs:9:5
  |
9 |     pub mapping: MappingId2,
  |     ^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/api2.rs:10:5
   |
10 |     pub function: FunctionId2,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/api2.rs:18:5
   |
18 |     pub line: i64,
   |     ^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-profiling/src/api2.rs:22:1
   |
22 | pub struct Label<'a> {
   | ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/api2.rs:23:5
   |
23 |     pub key: StringId2,
   |     ^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/api2.rs:27:5
   |
27 |     pub num: i64,
   |     ^^^^^^^^^^^^


warning: missing documentation for an associated function
  --> libdd-profiling/src/api2.rs:40:5
   |
40 |     pub const fn str(key: StringId2, str: &'a str) -> Label<'a> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an associated function
  --> libdd-profiling/src/api2.rs:49:5
   |
49 |     pub const fn num(key: StringId2, num: i64, num_unit: &'a str) -> Label<'a> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a module
 --> libdd-profiling/src/collections/mod.rs:4:1
  |
4 | pub mod identifiable;
  | ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a module
 --> libdd-profiling/src/collections/mod.rs:5:1
  |
5 | pub mod string_storage;
  | ^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a module
 --> libdd-profiling/src/collections/mod.rs:6:1
  |
6 | pub mod string_table;
  | ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a type alias
  --> libdd-profiling/src/collections/identifiable/mod.rs:10:1
   |
10 | pub type FxIndexMap<K, V> = indexmap::IndexMap<K, V, BuildHasherDefault<rustc_hash::FxHasher>>;
   | ^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a type alias
  --> libdd-profiling/src/collections/identifiable/mod.rs:11:1
   |
11 | pub type FxIndexSet<K> = indexmap::IndexSet<K, BuildHasherDefault<rustc_hash::FxHasher>>;
   | ^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a trait
  --> libdd-profiling/src/collections/identifiable/mod.rs:15:1
   |
15 | pub trait Id: Copy + Eq + Hash {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an associated type
  --> libdd-profiling/src/collections/identifiable/mod.rs:16:5
   |
16 |     type RawId;
   |     ^^^^^^^^^^


warning: missing documentation for a method
  --> libdd-profiling/src/collections/identifiable/mod.rs:26:5
   |
26 |     fn to_raw_id(&self) -> Self::RawId;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
  --> libdd-profiling/src/collections/identifiable/mod.rs:28:5
   |
28 |     fn into_raw_id(self) -> Self::RawId {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a trait
  --> libdd-profiling/src/collections/identifiable/mod.rs:33:1
   |
33 | pub trait Item: Eq + Hash {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a trait
  --> libdd-profiling/src/collections/identifiable/mod.rs:51:1
   |
51 | pub trait Dedup<T: Item> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
  --> libdd-profiling/src/collections/identifiable/mod.rs:58:5
   |
58 |     fn try_dedup(&mut self, item: T) -> anyhow::Result<<T as Item>::Id>;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a type alias
 --> libdd-profiling/src/collections/identifiable/string_id.rs:7:1
  |
7 | pub type StringId = StringOffset;
  | ^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-profiling/src/collections/string_storage.rs:21:1
   |
21 | pub struct ManagedStringStorage {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-profiling/src/collections/string_storage.rs:47:1
   |
47 | pub struct CachedProfileId {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an associated function
  --> libdd-profiling/src/collections/string_storage.rs:70:5
   |
70 |     pub fn new() -> Self {
   |     ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
  --> libdd-profiling/src/collections/string_storage.rs:85:5
   |
85 |     pub fn next_cached_profile_id(&mut self) -> anyhow::Result<CachedProfileId> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
  --> libdd-profiling/src/collections/string_storage.rs:95:5
   |
95 |     pub fn advance_gen(&mut self) {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-profiling/src/collections/string_storage.rs:106:5
    |
106 |     pub fn intern(&mut self, item: &str) -> anyhow::Result<u32> {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-profiling/src/collections/string_storage.rs:153:5
    |
153 |     pub fn unintern(&mut self, id: NonZeroU32) -> anyhow::Result<()> {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
   --> libdd-profiling/src/collections/string_storage.rs:168:5
    |
168 | /     pub fn get_seq_num(
169 | |         &mut self,
170 | |         id: NonZeroU32,
171 | |         profile_strings: &mut StringTable,
172 | |         cached_profile_id: &CachedProfileId,
173 | |     ) -> anyhow::Result<StringId> {
    | |_________________________________^


warning: missing documentation for a method
   --> libdd-profiling/src/collections/string_storage.rs:187:5
    |
187 |     pub fn get_string(&self, id: u32) -> anyhow::Result<Rc<str>> {
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a module
 --> libdd-profiling/src/collections/string_table/mod.rs:6:1
  |
6 | pub mod wordpress_test_data;
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an enum
 --> libdd-profiling/src/collections/string_table/error.rs:5:1
  |
5 | pub enum Error {
  | ^^^^^^^^^^^^^^


warning: missing documentation for a variant
 --> libdd-profiling/src/collections/string_table/error.rs:6:5
  |
6 |     OutOfMemory,
  |     ^^^^^^^^^^^


warning: missing documentation for a variant
 --> libdd-profiling/src/collections/string_table/error.rs:7:5
  |
7 |     StorageFull,
  |     ^^^^^^^^^^^


warning: missing documentation for a module
 --> libdd-profiling/src/exporter/mod.rs:4:1
  |
4 | pub mod config;
  | ^^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-profiling/src/exporter/profile_exporter.rs:39:1
   |
39 | pub struct ProfileExporter {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an enum
  --> libdd-profiling/src/exporter/profile_exporter.rs:50:1
   |
50 | pub enum MimeType {
   | ^^^^^^^^^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-profiling/src/exporter/profile_exporter.rs:51:5
   |
51 |     ApplicationJson,
   |     ^^^^^^^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-profiling/src/exporter/profile_exporter.rs:52:5
   |
52 |     ApplicationOctetStream,
   |     ^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-profiling/src/exporter/profile_exporter.rs:53:5
   |
53 |     TextCsv,
   |     ^^^^^^^


warning: missing documentation for a variant
  --> libdd-profiling/src/exporter/profile_exporter.rs:54:5
   |
54 |     TextPlain,
   |     ^^^^^^^^^


warning: missing documentation for a variant
  --> libdd-profiling/src/exporter/profile_exporter.rs:55:5
   |
55 |     TextXml,
   |     ^^^^^^^


warning: missing documentation for a method
  --> libdd-profiling/src/exporter/profile_exporter.rs:59:5
   |
59 |     pub fn as_str(&self) -> &'static str {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-profiling/src/exporter/profile_exporter.rs:70:1
   |
70 | pub struct File<'a> {
   | ^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/exporter/profile_exporter.rs:71:5
   |
71 |     pub name: &'a str,
   |     ^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/exporter/profile_exporter.rs:72:5
   |
72 |     pub bytes: &'a [u8],
   |     ^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/exporter/profile_exporter.rs:73:5
   |
73 |     pub mime: MimeType,
   |     ^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
  --> libdd-profiling/src/internal/endpoint_stats.rs:10:1
   |
10 | pub struct ProfiledEndpointsStats {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
  --> libdd-profiling/src/internal/endpoint_stats.rs:21:5
   |
21 |     pub fn add_endpoint_count(&mut self, endpoint_name: String, value: i64) {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a method
  --> libdd-profiling/src/internal/endpoint_stats.rs:26:5
   |
26 |     pub fn is_empty(&self) -> bool {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct
 --> libdd-profiling/src/internal/endpoints.rs:6:1
  |
6 | pub struct Endpoints {
  | ^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
 --> libdd-profiling/src/internal/endpoints.rs:7:5
  |
7 |     pub endpoint_label: StringId,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
 --> libdd-profiling/src/internal/endpoints.rs:8:5
  |
8 |     pub local_root_span_id_label: StringId,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
 --> libdd-profiling/src/internal/endpoints.rs:9:5
  |
9 |     pub mappings: FxIndexMap<u64, StringId>,
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for a struct field
  --> libdd-profiling/src/internal/endpoints.rs:10:5
   |
10 |     pub stats: ProfiledEndpointsStats,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


warning: missing documentation for an a...*[Comment body truncated]*

@danielsn danielsn force-pushed the dsn/profile-exporter-mine branch from a36c98e to 039abf8 Compare January 27, 2026 15:30
@github-actions
Copy link

github-actions bot commented Jan 27, 2026

🔒 Cargo Deny Results

⚠️ 39 issue(s) found (advisories, bans, sources)

📦 libdd-profiling - 5 error(s), 34 warning(s)

Show output
warning[source-not-allowed]: detected 'git' source not explicitly allowed
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:188:16
    │
188 │ proptest 1.5.0 git+https://github.com/bantonsson/proptest.git?branch=ban%2Favoid-libm-in-std
    │                ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ source
    │
    ├ proptest v1.5.0
      └── (dev) libdd-profiling v1.0.0
          └── (dev) libdd-profiling v1.0.0 (*)

warning[duplicate]: found 2 duplicate entries for crate 'autocfg'
   ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:11:1
   │  
11 │ ╭ autocfg 0.1.8 registry+https://github.com/rust-lang/crates.io-index
12 │ │ autocfg 1.4.0 registry+https://github.com/rust-lang/crates.io-index
   │ ╰───────────────────────────────────────────────────────────────────┘ lock entries
   │  
   ├ autocfg v0.1.8
     ├── (build) rand v0.6.5
     │   └── phf_generator v0.7.24
     │       └── phf_codegen v0.7.24
     │           └── (build) mime_guess v1.8.8
     │               └── iron v0.6.1
     │                   └── multipart v0.18.0
     │                       └── libdd-profiling v1.0.0
     │                           └── (dev) libdd-profiling v1.0.0 (*)
     ├── (build) rand_chacha v0.1.1
     │   └── rand v0.6.5 (*)
     └── (build) rand_pcg v0.1.2
         └── rand v0.6.5 (*)
   ├ autocfg v1.4.0
     ├── autocfg v0.1.8
     │   ├── (build) rand v0.6.5
     │   │   └── phf_generator v0.7.24
     │   │       └── phf_codegen v0.7.24
     │   │           └── (build) mime_guess v1.8.8
     │   │               └── iron v0.6.1
     │   │                   └── multipart v0.18.0
     │   │                       └── libdd-profiling v1.0.0
     │   │                           └── (dev) libdd-profiling v1.0.0 (*)
     │   ├── (build) rand_chacha v0.1.1
     │   │   └── rand v0.6.5 (*)
     │   └── (build) rand_pcg v0.1.2
     │       └── rand v0.6.5 (*)
     ├── (build) lock_api v0.4.12
     │   └── parking_lot v0.12.3
     │       └── libdd-profiling v1.0.0 (*)
     ├── (build) num-traits v0.2.19
     │   ├── chrono v0.4.38
     │   │   ├── libdd-profiling v1.0.0 (*)
     │   │   └── tiny_http v0.6.4
     │   │       └── multipart v0.18.0 (*)
     │   ├── criterion v0.5.1
     │   │   └── (dev) libdd-profiling v1.0.0 (*)
     │   ├── plotters v0.3.7
     │   │   └── criterion v0.5.1 (*)
     │   └── proptest v1.5.0
     │       └── (dev) libdd-profiling v1.0.0 (*)
     └── (build) slab v0.4.9
         └── futures-util v0.3.31
             ├── futures v0.3.31
             │   ├── libdd-common v1.1.0
             │   │   └── libdd-profiling v1.0.0 (*)
             │   └── libdd-profiling v1.0.0 (*)
             ├── futures-executor v0.3.31
             │   └── futures v0.3.31 (*)
             ├── http-body-util v0.1.2
             │   ├── libdd-common v1.1.0 (*)
             │   ├── libdd-profiling v1.0.0 (*)
             │   └── reqwest v0.13.1
             │       └── libdd-profiling v1.0.0 (*)
             ├── hyper v1.6.0
             │   ├── hyper-rustls v0.27.3
             │   │   └── reqwest v0.13.1 (*)
             │   ├── hyper-util v0.1.17
             │   │   ├── hyper-rustls v0.27.3 (*)
             │   │   ├── libdd-common v1.1.0 (*)
             │   │   └── reqwest v0.13.1 (*)
             │   ├── libdd-common v1.1.0 (*)
             │   └── reqwest v0.13.1 (*)
             ├── hyper-rustls v0.27.3 (*)
             ├── hyper-util v0.1.17 (*)
             ├── libdd-common v1.1.0 (*)
             ├── reqwest v0.13.1 (*)
             ├── tower v0.5.2
             │   ├── reqwest v0.13.1 (*)
             │   └── tower-http v0.6.8
             │       └── reqwest v0.13.1 (*)
             └── tower-http v0.6.8 (*)

warning[duplicate]: found 2 duplicate entries for crate 'base64'
   ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:16:1
   │  
16 │ ╭ base64 0.9.3 registry+https://github.com/rust-lang/crates.io-index
17 │ │ base64 0.22.1 registry+https://github.com/rust-lang/crates.io-index
   │ ╰───────────────────────────────────────────────────────────────────┘ lock entries
   │  
   ├ base64 v0.9.3
     └── hyper v0.10.16
         ├── iron v0.6.1
         │   └── multipart v0.18.0
         │       └── libdd-profiling v1.0.0
         │           └── (dev) libdd-profiling v1.0.0 (*)
         ├── multipart v0.18.0 (*)
         └── nickel v0.11.0
             └── multipart v0.18.0 (*)
   ├ base64 v0.22.1
     ├── hyper-util v0.1.17
     │   ├── hyper-rustls v0.27.3
     │   │   └── reqwest v0.13.1
     │   │       └── libdd-profiling v1.0.0
     │   │           └── (dev) libdd-profiling v1.0.0 (*)
     │   ├── libdd-common v1.1.0
     │   │   └── libdd-profiling v1.0.0 (*)
     │   └── reqwest v0.13.1 (*)
     └── reqwest v0.13.1 (*)

warning[duplicate]: found 2 duplicate entries for crate 'bitflags'
   ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:21:1
   │  
21 │ ╭ bitflags 1.3.2 registry+https://github.com/rust-lang/crates.io-index
22 │ │ bitflags 2.6.0 registry+https://github.com/rust-lang/crates.io-index
   │ ╰────────────────────────────────────────────────────────────────────┘ lock entries
   │  
   ├ bitflags v1.3.2
     └── cloudabi v0.0.3
         └── rand_os v0.1.3
             └── rand v0.6.5
                 └── phf_generator v0.7.24
                     └── phf_codegen v0.7.24
                         └── (build) mime_guess v1.8.8
                             └── iron v0.6.1
                                 └── multipart v0.18.0
                                     └── libdd-profiling v1.0.0
                                         └── (dev) libdd-profiling v1.0.0 (*)
   ├ bitflags v2.6.0
     ├── bindgen v0.69.5
     │   └── (build) aws-lc-sys v0.28.0
     │       └── aws-lc-rs v1.13.0
     │           ├── rustls v0.23.31
     │           │   ├── hyper-rustls v0.27.3
     │           │   │   └── reqwest v0.13.1
     │           │   │       └── libdd-profiling v1.0.0
     │           │   │           └── (dev) libdd-profiling v1.0.0 (*)
     │           │   ├── reqwest v0.13.1 (*)
     │           │   ├── rustls-platform-verifier v0.6.2
     │           │   │   └── reqwest v0.13.1 (*)
     │           │   └── tokio-rustls v0.26.0
     │           │       ├── hyper-rustls v0.27.3 (*)
     │           │       └── reqwest v0.13.1 (*)
     │           └── rustls-webpki v0.103.4
     │               ├── rustls v0.23.31 (*)
     │               └── rustls-platform-verifier v0.6.2 (*)
     ├── nix v0.29.0
     │   └── libdd-common v1.1.0
     │       └── libdd-profiling v1.0.0 (*)
     ├── proptest v1.5.0
     │   └── (dev) libdd-profiling v1.0.0 (*)
     ├── redox_syscall v0.5.7
     │   └── parking_lot_core v0.9.10
     │       └── parking_lot v0.12.3
     │           └── libdd-profiling v1.0.0 (*)
     ├── rustix v0.38.39
     │   └── which v4.4.2
     │       └── bindgen v0.69.5 (*)
     ├── rustix v1.1.3
     │   └── tempfile v3.23.0
     │       ├── (dev) libdd-common v1.1.0 (*)
     │       ├── multipart v0.18.0
     │       │   └── libdd-profiling v1.0.0 (*)
     │       ├── proptest v1.5.0 (*)
     │       └── rusty-fork v0.3.1
     │           └── proptest v1.5.0 (*)
     ├── security-framework v3.5.1
     │   ├── rustls-native-certs v0.8.1
     │   │   └── rustls-platform-verifier v0.6.2 (*)
     │   └── rustls-platform-verifier v0.6.2 (*)
     ├── tower-http v0.6.8
     │   └── reqwest v0.13.1 (*)
     └── wit-bindgen-rt v0.39.0
         └── wasi v0.14.2+wasi-0.2.4
             └── getrandom v0.3.2
                 ├── bolero-generator v0.13.1
                 │   ├── bolero v0.13.0
                 │   │   ├── (dev) libdd-alloc v1.0.0
                 │   │   │   └── libdd-profiling v1.0.0 (*)
                 │   │   ├── (dev) libdd-profiling v1.0.0 (*)
                 │   │   └── libdd-profiling-protobuf v1.0.0
                 │   │       ├── libdd-profiling v1.0.0 (*)
                 │   │       └── (dev) libdd-profiling-protobuf v1.0.0 (*)
                 │   └── bolero-engine v0.13.0
                 │       ├── bolero v0.13.0 (*)
                 │       ├── bolero-afl v0.13.0
                 │       │   └── bolero v0.13.0 (*)
                 │       ├── bolero-honggfuzz v0.13.0
                 │       │   └── bolero v0.13.0 (*)
                 │       ├── bolero-kani v0.13.0
                 │       │   └── bolero v0.13.0 (*)
                 │       └── bolero-libfuzzer v0.13.0
                 │           └── bolero v0.13.0 (*)
                 ├── rand_core v0.9.3
                 │   ├── bolero-generator v0.13.1 (*)
                 │   ├── rand v0.9.0
                 │   │   ├── bolero v0.13.0 (*)
                 │   │   └── bolero-engine v0.13.0 (*)
                 │   ├── rand_chacha v0.9.0
                 │   │   └── rand v0.9.0 (*)
                 │   └── rand_xoshiro v0.7.0
                 │       ├── bolero-engine v0.13.0 (*)
                 │       └── bolero-generator v0.13.1 (*)
                 └── tempfile v3.23.0 (*)

warning[duplicate]: found 2 duplicate entries for crate 'getrandom'
   ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:83:1
   │  
83 │ ╭ getrandom 0.2.15 registry+https://github.com/rust-lang/crates.io-index
84 │ │ getrandom 0.3.2 registry+https://github.com/rust-lang/crates.io-index
   │ ╰─────────────────────────────────────────────────────────────────────┘ lock entries
   │  
   ├ getrandom v0.2.15
     └── rand_core v0.6.4
         ├── rand v0.8.5
         │   ├── libdd-profiling v1.0.0
         │   │   └── (dev) libdd-profiling v1.0.0 (*)
         │   ├── multipart v0.18.0
         │   │   └── libdd-profiling v1.0.0 (*)
         │   └── proptest v1.5.0
         │       └── (dev) libdd-profiling v1.0.0 (*)
         ├── rand_chacha v0.3.1
         │   ├── proptest v1.5.0 (*)
         │   └── rand v0.8.5 (*)
         └── rand_xorshift v0.3.0
             └── proptest v1.5.0 (*)
   ├ getrandom v0.3.2
     ├── bolero-generator v0.13.1
     │   ├── bolero v0.13.0
     │   │   ├── (dev) libdd-alloc v1.0.0
     │   │   │   └── libdd-profiling v1.0.0
     │   │   │       └── (dev) libdd-profiling v1.0.0 (*)
     │   │   ├── (dev) libdd-profiling v1.0.0 (*)
     │   │   └── libdd-profiling-protobuf v1.0.0
     │   │       ├── libdd-profiling v1.0.0 (*)
     │   │       └── (dev) libdd-profiling-protobuf v1.0.0 (*)
     │   └── bolero-engine v0.13.0
     │       ├── bolero v0.13.0 (*)
     │       ├── bolero-afl v0.13.0
     │       │   └── bolero v0.13.0 (*)
     │       ├── bolero-honggfuzz v0.13.0
     │       │   └── bolero v0.13.0 (*)
     │       ├── bolero-kani v0.13.0
     │       │   └── bolero v0.13.0 (*)
     │       └── bolero-libfuzzer v0.13.0
     │           └── bolero v0.13.0 (*)
     ├── rand_core v0.9.3
     │   ├── bolero-generator v0.13.1 (*)
     │   ├── rand v0.9.0
     │   │   ├── bolero v0.13.0 (*)
     │   │   └── bolero-engine v0.13.0 (*)
     │   ├── rand_chacha v0.9.0
     │   │   └── rand v0.9.0 (*)
     │   └── rand_xoshiro v0.7.0
     │       ├── bolero-engine v0.13.0 (*)
     │       └── bolero-generator v0.13.1 (*)
     └── tempfile v3.23.0
         ├── (dev) libdd-common v1.1.0
         │   └── libdd-profiling v1.0.0 (*)
         ├── multipart v0.18.0
         │   └── libdd-profiling v1.0.0 (*)
         ├── proptest v1.5.0
         │   └── (dev) libdd-profiling v1.0.0 (*)
         └── rusty-fork v0.3.1
             └── proptest v1.5.0 (*)

warning[duplicate]: found 2 duplicate entries for crate 'hyper'
   ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:98:1
   │  
98 │ ╭ hyper 0.10.16 registry+https://github.com/rust-lang/crates.io-index
99 │ │ hyper 1.6.0 registry+https://github.com/rust-lang/crates.io-index
   │ ╰─────────────────────────────────────────────────────────────────┘ lock entries
   │  
   ├ hyper v0.10.16
     ├── iron v0.6.1
     │   └── multipart v0.18.0
     │       └── libdd-profiling v1.0.0
     │           └── (dev) libdd-profiling v1.0.0 (*)
     ├── multipart v0.18.0 (*)
     └── nickel v0.11.0
         └── multipart v0.18.0 (*)
   ├ hyper v1.6.0
     ├── hyper-rustls v0.27.3
     │   └── reqwest v0.13.1
     │       └── libdd-profiling v1.0.0
     │           └── (dev) libdd-profiling v1.0.0 (*)
     ├── hyper-util v0.1.17
     │   ├── hyper-rustls v0.27.3 (*)
     │   ├── libdd-common v1.1.0
     │   │   └── libdd-profiling v1.0.0 (*)
     │   └── reqwest v0.13.1 (*)
     ├── libdd-common v1.1.0 (*)
     └── reqwest v0.13.1 (*)

warning[duplicate]: found 2 duplicate entries for crate 'idna'
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:114:1
    │  
114 │ ╭ idna 0.1.5 registry+https://github.com/rust-lang/crates.io-index
115 │ │ idna 1.0.3 registry+https://github.com/rust-lang/crates.io-index
    │ ╰────────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ idna v0.1.5
      └── url v1.7.2
          ├── hyper v0.10.16
          │   ├── iron v0.6.1
          │   │   └── multipart v0.18.0
          │   │       └── libdd-profiling v1.0.0
          │   │           └── (dev) libdd-profiling v1.0.0 (*)
          │   ├── multipart v0.18.0 (*)
          │   └── nickel v0.11.0
          │       └── multipart v0.18.0 (*)
          ├── iron v0.6.1 (*)
          ├── nickel v0.11.0 (*)
          └── tiny_http v0.6.4
              └── multipart v0.18.0 (*)
    ├ idna v1.0.3
      └── url v2.5.3
          └── reqwest v0.13.1
              └── libdd-profiling v1.0.0
                  └── (dev) libdd-profiling v1.0.0 (*)

warning[duplicate]: found 2 duplicate entries for crate 'linux-raw-sys'
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:138:1
    │  
138 │ ╭ linux-raw-sys 0.4.14 registry+https://github.com/rust-lang/crates.io-index
139 │ │ linux-raw-sys 0.11.0 registry+https://github.com/rust-lang/crates.io-index
    │ ╰──────────────────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ linux-raw-sys v0.4.14
      └── rustix v0.38.39
          └── which v4.4.2
              └── bindgen v0.69.5
                  └── (build) aws-lc-sys v0.28.0
                      └── aws-lc-rs v1.13.0
                          ├── rustls v0.23.31
                          │   ├── hyper-rustls v0.27.3
                          │   │   └── reqwest v0.13.1
                          │   │       └── libdd-profiling v1.0.0
                          │   │           └── (dev) libdd-profiling v1.0.0 (*)
                          │   ├── reqwest v0.13.1 (*)
                          │   ├── rustls-platform-verifier v0.6.2
                          │   │   └── reqwest v0.13.1 (*)
                          │   └── tokio-rustls v0.26.0
                          │       ├── hyper-rustls v0.27.3 (*)
                          │       └── reqwest v0.13.1 (*)
                          └── rustls-webpki v0.103.4
                              ├── rustls v0.23.31 (*)
                              └── rustls-platform-verifier v0.6.2 (*)
    ├ linux-raw-sys v0.11.0
      └── rustix v1.1.3
          └── tempfile v3.23.0
              ├── (dev) libdd-common v1.1.0
              │   └── libdd-profiling v1.0.0
              │       └── (dev) libdd-profiling v1.0.0 (*)
              ├── multipart v0.18.0
              │   └── libdd-profiling v1.0.0 (*)
              ├── proptest v1.5.0
              │   └── (dev) libdd-profiling v1.0.0 (*)
              └── rusty-fork v0.3.1
                  └── proptest v1.5.0 (*)

warning[duplicate]: found 2 duplicate entries for crate 'log'
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:142:1
    │  
142 │ ╭ log 0.3.9 registry+https://github.com/rust-lang/crates.io-index
143 │ │ log 0.4.27 registry+https://github.com/rust-lang/crates.io-index
    │ ╰────────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ log v0.3.9
      ├── hyper v0.10.16
      │   ├── iron v0.6.1
      │   │   └── multipart v0.18.0
      │   │       └── libdd-profiling v1.0.0
      │   │           └── (dev) libdd-profiling v1.0.0 (*)
      │   ├── multipart v0.18.0 (*)
      │   └── nickel v0.11.0
      │       └── multipart v0.18.0 (*)
      ├── iron v0.6.1 (*)
      ├── mime v0.2.6
      │   ├── hyper v0.10.16 (*)
      │   └── mime_guess v1.8.8
      │       └── iron v0.6.1 (*)
      ├── mustache v0.9.0
      │   └── nickel v0.11.0 (*)
      └── nickel v0.11.0 (*)
    ├ log v0.4.27
      ├── bindgen v0.69.5
      │   └── (build) aws-lc-sys v0.28.0
      │       └── aws-lc-rs v1.13.0
      │           ├── rustls v0.23.31
      │           │   ├── hyper-rustls v0.27.3
      │           │   │   └── reqwest v0.13.1
      │           │   │       └── libdd-profiling v1.0.0
      │           │   │           └── (dev) libdd-profiling v1.0.0 (*)
      │           │   ├── reqwest v0.13.1 (*)
      │           │   ├── rustls-platform-verifier v0.6.2
      │           │   │   └── reqwest v0.13.1 (*)
      │           │   └── tokio-rustls v0.26.0
      │           │       ├── hyper-rustls v0.27.3 (*)
      │           │       └── reqwest v0.13.1 (*)
      │           └── rustls-webpki v0.103.4
      │               ├── rustls v0.23.31 (*)
      │               └── rustls-platform-verifier v0.6.2 (*)
      ├── jni v0.21.1
      │   └── rustls-platform-verifier v0.6.2 (*)
      ├── log v0.3.9
      │   ├── hyper v0.10.16
      │   │   ├── iron v0.6.1
      │   │   │   └── multipart v0.18.0
      │   │   │       └── libdd-profiling v1.0.0 (*)
      │   │   ├── multipart v0.18.0 (*)
      │   │   └── nickel v0.11.0
      │   │       └── multipart v0.18.0 (*)
      │   ├── iron v0.6.1 (*)
      │   ├── mime v0.2.6
      │   │   ├── hyper v0.10.16 (*)
      │   │   └── mime_guess v1.8.8
      │   │       └── iron v0.6.1 (*)
      │   ├── mustache v0.9.0
      │   │   └── nickel v0.11.0 (*)
      │   └── nickel v0.11.0 (*)
      ├── multipart v0.18.0 (*)
      ├── reqwest v0.13.1 (*)
      ├── rustls-platform-verifier v0.6.2 (*)
      ├── tiny_http v0.6.4
      │   └── multipart v0.18.0 (*)
      └── wasm-bindgen-backend v0.2.100
          └── wasm-bindgen-macro-support v0.2.100
              └── wasm-bindgen-macro v0.2.100
                  └── wasm-bindgen v0.2.100
                      ├── chrono v0.4.38
                      │   ├── libdd-profiling v1.0.0 (*)
                      │   └── tiny_http v0.6.4 (*)
                      ├── iana-time-zone v0.1.61
                      │   └── chrono v0.4.38 (*)
                      ├── js-sys v0.3.77
                      │   ├── chrono v0.4.38 (*)
                      │   ├── iana-time-zone v0.1.61 (*)
                      │   ├── reqwest v0.13.1 (*)
                      │   ├── wasm-bindgen-futures v0.4.45
                      │   │   └── reqwest v0.13.1 (*)
                      │   └── web-sys v0.3.72
                      │       ├── plotters v0.3.7
                      │       │   └── criterion v0.5.1
                      │       │       └── (dev) libdd-profiling v1.0.0 (*)
                      │       ├── reqwest v0.13.1 (*)
                      │       └── wasm-bindgen-futures v0.4.45 (*)
                      ├── plotters v0.3.7 (*)
                      ├── reqwest v0.13.1 (*)
                      ├── wasm-bindgen-futures v0.4.45 (*)
                      └── web-sys v0.3.72 (*)

warning[duplicate]: found 2 duplicate entries for crate 'mime'
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:147:1
    │  
147 │ ╭ mime 0.2.6 registry+https://github.com/rust-lang/crates.io-index
148 │ │ mime 0.3.17 registry+https://github.com/rust-lang/crates.io-index
    │ ╰─────────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ mime v0.2.6
      ├── hyper v0.10.16
      │   ├── iron v0.6.1
      │   │   └── multipart v0.18.0
      │   │       └── libdd-profiling v1.0.0
      │   │           └── (dev) libdd-profiling v1.0.0 (*)
      │   ├── multipart v0.18.0 (*)
      │   └── nickel v0.11.0
      │       └── multipart v0.18.0 (*)
      └── mime_guess v1.8.8
          └── iron v0.6.1 (*)
    ├ mime v0.3.17
      ├── libdd-profiling v1.0.0
      │   └── (dev) libdd-profiling v1.0.0 (*)
      ├── mime_guess v2.0.5
      │   ├── multipart v0.18.0
      │   │   └── libdd-profiling v1.0.0 (*)
      │   └── reqwest v0.13.1
      │       └── libdd-profiling v1.0.0 (*)
      └── multipart v0.18.0 (*)

warning[duplicate]: found 2 duplicate entries for crate 'mime_guess'
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:149:1
    │  
149 │ ╭ mime_guess 1.8.8 registry+https://github.com/rust-lang/crates.io-index
150 │ │ mime_guess 2.0.5 registry+https://github.com/rust-lang/crates.io-index
    │ ╰──────────────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ mime_guess v1.8.8
      └── iron v0.6.1
          └── multipart v0.18.0
              └── libdd-profiling v1.0.0
                  └── (dev) libdd-profiling v1.0.0 (*)
    ├ mime_guess v2.0.5
      ├── multipart v0.18.0
      │   └── libdd-profiling v1.0.0
      │       └── (dev) libdd-profiling v1.0.0 (*)
      └── reqwest v0.13.1
          └── libdd-profiling v1.0.0 (*)

warning[duplicate]: found 2 duplicate entries for crate 'percent-encoding'
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:168:1
    │  
168 │ ╭ percent-encoding 1.0.1 registry+https://github.com/rust-lang/crates.io-index
169 │ │ percent-encoding 2.3.1 registry+https://github.com/rust-lang/crates.io-index
    │ ╰────────────────────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ percent-encoding v1.0.1
      └── url v1.7.2
          ├── hyper v0.10.16
          │   ├── iron v0.6.1
          │   │   └── multipart v0.18.0
          │   │       └── libdd-profiling v1.0.0
          │   │           └── (dev) libdd-profiling v1.0.0 (*)
          │   ├── multipart v0.18.0 (*)
          │   └── nickel v0.11.0
          │       └── multipart v0.18.0 (*)
          ├── iron v0.6.1 (*)
          ├── nickel v0.11.0 (*)
          └── tiny_http v0.6.4
              └── multipart v0.18.0 (*)
    ├ percent-encoding v2.3.1
      ├── form_urlencoded v1.2.1
      │   └── url v2.5.3
      │       └── reqwest v0.13.1
      │           └── libdd-profiling v1.0.0
      │               └── (dev) libdd-profiling v1.0.0 (*)
      ├── hyper-util v0.1.17
      │   ├── hyper-rustls v0.27.3
      │   │   └── reqwest v0.13.1 (*)
      │   ├── libdd-common v1.1.0
      │   │   └── libdd-profiling v1.0.0 (*)
      │   └── reqwest v0.13.1 (*)
      ├── reqwest v0.13.1 (*)
      └── url v2.5.3 (*)

warning[duplicate]: found 3 duplicate entries for crate 'rand'
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:194:1
    │  
194 │ ╭ rand 0.6.5 registry+https://github.com/rust-lang/crates.io-index
195 │ │ rand 0.8.5 registry+https://github.com/rust-lang/crates.io-index
196 │ │ rand 0.9.0 registry+https://github.com/rust-lang/crates.io-index
    │ ╰────────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ rand v0.6.5
      └── phf_generator v0.7.24
          └── phf_codegen v0.7.24
              └── (build) mime_guess v1.8.8
                  └── iron v0.6.1
                      └── multipart v0.18.0
                          └── libdd-profiling v1.0.0
                              └── (dev) libdd-profiling v1.0.0 (*)
    ├ rand v0.8.5
      ├── libdd-profiling v1.0.0
      │   └── (dev) libdd-profiling v1.0.0 (*)
      ├── multipart v0.18.0
      │   └── libdd-profiling v1.0.0 (*)
      └── proptest v1.5.0
          └── (dev) libdd-profiling v1.0.0 (*)
    ├ rand v0.9.0
      ├── bolero v0.13.0
      │   ├── (dev) libdd-alloc v1.0.0
      │   │   └── libdd-profiling v1.0.0
      │   │       └── (dev) libdd-profiling v1.0.0 (*)
      │   ├── (dev) libdd-profiling v1.0.0 (*)
      │   └── libdd-profiling-protobuf v1.0.0
      │       ├── libdd-profiling v1.0.0 (*)
      │       └── (dev) libdd-profiling-protobuf v1.0.0 (*)
      └── bolero-engine v0.13.0
          ├── bolero v0.13.0 (*)
          ├── bolero-afl v0.13.0
          │   └── bolero v0.13.0 (*)
          ├── bolero-honggfuzz v0.13.0
          │   └── bolero v0.13.0 (*)
          ├── bolero-kani v0.13.0
          │   └── bolero v0.13.0 (*)
          └── bolero-libfuzzer v0.13.0
              └── bolero v0.13.0 (*)

warning[duplicate]: found 3 duplicate entries for crate 'rand_chacha'
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:197:1
    │  
197 │ ╭ rand_chacha 0.1.1 registry+https://github.com/rust-lang/crates.io-index
198 │ │ rand_chacha 0.3.1 registry+https://github.com/rust-lang/crates.io-index
199 │ │ rand_chacha 0.9.0 registry+https://github.com/rust-lang/crates.io-index
    │ ╰───────────────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ rand_chacha v0.1.1
      └── rand v0.6.5
          └── phf_generator v0.7.24
              └── phf_codegen v0.7.24
                  └── (build) mime_guess v1.8.8
                      └── iron v0.6.1
                          └── multipart v0.18.0
                              └── libdd-profiling v1.0.0
                                  └── (dev) libdd-profiling v1.0.0 (*)
    ├ rand_chacha v0.3.1
      ├── proptest v1.5.0
      │   └── (dev) libdd-profiling v1.0.0
      │       └── (dev) libdd-profiling v1.0.0 (*)
      └── rand v0.8.5
          ├── libdd-profiling v1.0.0 (*)
          ├── multipart v0.18.0
          │   └── libdd-profiling v1.0.0 (*)
          └── proptest v1.5.0 (*)
    ├ rand_chacha v0.9.0
      └── rand v0.9.0
          ├── bolero v0.13.0
          │   ├── (dev) libdd-alloc v1.0.0
          │   │   └── libdd-profiling v1.0.0
          │   │       └── (dev) libdd-profiling v1.0.0 (*)
          │   ├── (dev) libdd-profiling v1.0.0 (*)
          │   └── libdd-profiling-protobuf v1.0.0
          │       ├── libdd-profiling v1.0.0 (*)
          │       └── (dev) libdd-profiling-protobuf v1.0.0 (*)
          └── bolero-engine v0.13.0
              ├── bolero v0.13.0 (*)
              ├── bolero-afl v0.13.0
              │   └── bolero v0.13.0 (*)
              ├── bolero-honggfuzz v0.13.0
              │   └── bolero v0.13.0 (*)
              ├── bolero-kani v0.13.0
              │   └── bolero v0.13.0 (*)
              └── bolero-libfuzzer v0.13.0
                  └── bolero v0.13.0 (*)

warning[duplicate]: found 4 duplicate entries for crate 'rand_core'
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:200:1
    │  
200 │ ╭ rand_core 0.3.1 registry+https://github.com/rust-lang/crates.io-index
201 │ │ rand_core 0.4.2 registry+https://github.com/rust-lang/crates.io-index
202 │ │ rand_core 0.6.4 registry+https://github.com/rust-lang/crates.io-index
203 │ │ rand_core 0.9.3 registry+https://github.com/rust-lang/crates.io-index
    │ ╰─────────────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ rand_core v0.3.1
      ├── rand_chacha v0.1.1
      │   └── rand v0.6.5
      │       └── phf_generator v0.7.24
      │           └── phf_codegen v0.7.24
      │               └── (build) mime_guess v1.8.8
      │                   └── iron v0.6.1
      │                       └── multipart v0.18.0
      │                           └── libdd-profiling v1.0.0
      │                               └── (dev) libdd-profiling v1.0.0 (*)
      ├── rand_hc v0.1.0
      │   └── rand v0.6.5 (*)
      ├── rand_isaac v0.1.1
      │   └── rand v0.6.5 (*)
      ├── rand_xorshift v0.1.1
      │   └── rand v0.6.5 (*)
      └── rdrand v0.4.0
          └── rand_os v0.1.3
              └── rand v0.6.5 (*)
    ├ rand_core v0.4.2
      ├── rand v0.6.5
      │   └── phf_generator v0.7.24
      │       └── phf_codegen v0.7.24
      │           └── (build) mime_guess v1.8.8
      │               └── iron v0.6.1
      │                   └── multipart v0.18.0
      │                       └── libdd-profiling v1.0.0
      │                           └── (dev) libdd-profiling v1.0.0 (*)
      ├── rand_core v0.3.1
      │   ├── rand_chacha v0.1.1
      │   │   └── rand v0.6.5 (*)
      │   ├── rand_hc v0.1.0
      │   │   └── rand v0.6.5 (*)
      │   ├── rand_isaac v0.1.1
      │   │   └── rand v0.6.5 (*)
      │   ├── rand_xorshift v0.1.1
      │   │   └── rand v0.6.5 (*)
      │   └── rdrand v0.4.0
      │       └── rand_os v0.1.3
      │           └── rand v0.6.5 (*)
      ├── rand_jitter v0.1.4
      │   └── rand v0.6.5 (*)
      ├── rand_os v0.1.3 (*)
      └── rand_pcg v0.1.2
          └── rand v0.6.5 (*)
    ├ rand_core v0.6.4
      ├── rand v0.8.5
      │   ├── libdd-profiling v1.0.0
      │   │   └── (dev) libdd-profiling v1.0.0 (*)
      │   ├── multipart v0.18.0
      │   │   └── libdd-profiling v1.0.0 (*)
      │   └── proptest v1.5.0
      │       └── (dev) libdd-profiling v1.0.0 (*)
      ├── rand_chacha v0.3.1
      │   ├── proptest v1.5.0 (*)
      │   └── rand v0.8.5 (*)
      └── rand_xorshift v0.3.0
          └── proptest v1.5.0 (*)
    ├ rand_core v0.9.3
      ├── bolero-generator v0.13.1
      │   ├── bolero v0.13.0
      │   │   ├── (dev) libdd-alloc v1.0.0
      │   │   │   └── libdd-profiling v1.0.0
      │   │   │       └── (dev) libdd-profiling v1.0.0 (*)
      │   │   ├── (dev) libdd-profiling v1.0.0 (*)
      │   │   └── libdd-profiling-protobuf v1.0.0
      │   │       ├── libdd-profiling v1.0.0 (*)
      │   │       └── (dev) libdd-profiling-protobuf v1.0.0 (*)
      │   └── bolero-engine v0.13.0
      │       ├── bolero v0.13.0 (*)
      │       ├── bolero-afl v0.13.0
      │       │   └── bolero v0.13.0 (*)
      │       ├── bolero-honggfuzz v0.13.0
      │       │   └── bolero v0.13.0 (*)
      │       ├── bolero-kani v0.13.0
      │       │   └── bolero v0.13.0 (*)
      │       └── bolero-libfuzzer v0.13.0
      │           └── bolero v0.13.0 (*)
      ├── rand v0.9.0
      │   ├── bolero v0.13.0 (*)
      │   └── bolero-engine v0.13.0 (*)
      ├── rand_chacha v0.9.0
      │   └── rand v0.9.0 (*)
      └── rand_xoshiro v0.7.0
          ├── bolero-engine v0.13.0 (*)
          └── bolero-generator v0.13.1 (*)

warning[duplicate]: found 2 duplicate entries for crate 'rustix'
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:222:1
    │  
222 │ ╭ rustix 0.38.39 registry+https://github.com/rust-lang/crates.io-index
223 │ │ rustix 1.1.3 registry+https://github.com/rust-lang/crates.io-index
    │ ╰──────────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ rustix v0.38.39
      └── which v4.4.2
          └── bindgen v0.69.5
              └── (build) aws-lc-sys v0.28.0
                  └── aws-lc-rs v1.13.0
                      ├── rustls v0.23.31
                      │   ├── hyper-rustls v0.27.3
                      │   │   └── reqwest v0.13.1
                      │   │       └── libdd-profiling v1.0.0
                      │   │           └── (dev) libdd-profiling v1.0.0 (*)
                      │   ├── reqwest v0.13.1 (*)
                      │   ├── rustls-platform-verifier v0.6.2
                      │   │   └── reqwest v0.13.1 (*)
                      │   └── tokio-rustls v0.26.0
                      │       ├── hyper-rustls v0.27.3 (*)
                      │       └── reqwest v0.13.1 (*)
                      └── rustls-webpki v0.103.4
                          ├── rustls v0.23.31 (*)
                          └── rustls-platform-verifier v0.6.2 (*)
    ├ rustix v1.1.3
      └── tempfile v3.23.0
          ├── (dev) libdd-common v1.1.0
          │   └── libdd-profiling v1.0.0
          │       └── (dev) libdd-profiling v1.0.0 (*)
          ├── multipart v0.18.0
          │   └── libdd-profiling v1.0.0 (*)
          ├── proptest v1.5.0
          │   └── (dev) libdd-profiling v1.0.0 (*)
          └── rusty-fork v0.3.1
              └── proptest v1.5.0 (*)

warning[duplicate]: found 2 duplicate entries for crate 'syn'
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:251:1
    │  
251 │ ╭ syn 1.0.109 registry+https://github.com/rust-lang/crates.io-index
252 │ │ syn 2.0.87 registry+https://github.com/rust-lang/crates.io-index
    │ ╰────────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ syn v1.0.109
      └── bolero-generator-derive v0.13.0
          └── bolero-generator v0.13.1
              ├── bolero v0.13.0
              │   ├── (dev) libdd-alloc v1.0.0
              │   │   └── libdd-profiling v1.0.0
              │   │       └── (dev) libdd-profiling v1.0.0 (*)
              │   ├── (dev) libdd-profiling v1.0.0 (*)
              │   └── libdd-profiling-protobuf v1.0.0
              │       ├── libdd-profiling v1.0.0 (*)
              │       └── (dev) libdd-profiling-protobuf v1.0.0 (*)
              └── bolero-engine v0.13.0
                  ├── bolero v0.13.0 (*)
                  ├── bolero-afl v0.13.0
                  │   └── bolero v0.13.0 (*)
                  ├── bolero-honggfuzz v0.13.0
                  │   └── bolero v0.13.0 (*)
                  ├── bolero-kani v0.13.0
                  │   └── bolero v0.13.0 (*)
                  └── bolero-libfuzzer v0.13.0
                      └── bolero v0.13.0 (*)
    ├ syn v2.0.87
      ├── bindgen v0.69.5
      │   └── (build) aws-lc-sys v0.28.0
      │       └── aws-lc-rs v1.13.0
      │           ├── rustls v0.23.31
      │           │   ├── hyper-rustls v0.27.3
      │           │   │   └── reqwest v0.13.1
      │           │   │       └── libdd-profiling v1.0.0
      │           │   │           └── (dev) libdd-profiling v1.0.0 (*)
      │           │   ├── reqwest v0.13.1 (*)
      │           │   ├── rustls-platform-verifier v0.6.2
      │           │   │   └── reqwest v0.13.1 (*)
      │           │   └── tokio-rustls v0.26.0
      │           │       ├── hyper-rustls v0.27.3 (*)
      │           │       └── reqwest v0.13.1 (*)
      │           └── rustls-webpki v0.103.4
      │               ├── rustls v0.23.31 (*)
      │               └── rustls-platform-verifier v0.6.2 (*)
      ├── displaydoc v0.2.5
      │   ├── icu_collections v1.5.0
      │   │   ├── icu_normalizer v1.5.0
      │   │   │   └── idna_adapter v1.2.0
      │   │   │       └── idna v1.0.3
      │   │   │           └── url v2.5.3
      │   │   │               └── reqwest v0.13.1 (*)
      │   │   └── icu_properties v1.5.1
      │   │       ├── icu_normalizer v1.5.0 (*)
      │   │       └── idna_adapter v1.2.0 (*)
      │   ├── icu_locid v1.5.0
      │   │   ├── icu_locid_transform v1.5.0
      │   │   │   └── icu_properties v1.5.1 (*)
      │   │   └── icu_provider v1.5.0
      │   │       ├── icu_locid_transform v1.5.0 (*)
      │   │       ├── icu_normalizer v1.5.0 (*)
      │   │       └── icu_properties v1.5.1 (*)
      │   ├── icu_locid_transform v1.5.0 (*)
      │   ├── icu_normalizer v1.5.0 (*)
      │   ├── icu_properties v1.5.1 (*)
      │   ├── icu_provider v1.5.0 (*)
      │   └── tinystr v0.7.6
      │       ├── icu_locid v1.5.0 (*)
      │       ├── icu_locid_transform v1.5.0 (*)
      │       ├── icu_properties v1.5.1 (*)
      │       └── icu_provider v1.5.0 (*)
      ├── futures-macro v0.3.31
      │   └── futures-util v0.3.31
      │       ├── futures v0.3.31
      │       │   ├── libdd-common v1.1.0
      │       │   │   └── libdd-profiling v1.0.0 (*)
      │       │   └── libdd-profiling v1.0.0 (*)
      │       ├── futures-executor v0.3.31
      │       │   └── futures v0.3.31 (*)
      │       ├── http-body-util v0.1.2
      │       │   ├── libdd-common v1.1.0 (*)
      │       │   ├── libdd-profiling v1.0.0 (*)
      │       │   └── reqwest v0.13.1 (*)
      │       ├── hyper v1.6.0
      │       │   ├── hyper-rustls v0.27.3 (*)
      │       │   ├── hyper-util v0.1.17
      │       │   │   ├── hyper-rustls v0.27.3 (*)
      │       │   │   ├── libdd-common v1.1.0 (*)
      │       │   │   └── reqwest v0.13.1 (*)
      │       │   ├── libdd-common v1.1.0 (*)
      │       │   └── reqwest v0.13.1 (*)
      │       ├── hyper-rustls v0.27.3 (*)
      │       ├── hyper-util v0.1.17 (*)
      │       ├── libdd-common v1.1.0 (*)
      │       ├── reqwest v0.13.1 (*)
      │       ├── tower v0.5.2
      │       │   ├── reqwest v0.13.1 (*)
      │       │   └── tower-http v0.6.8
      │       │       └── reqwest v0.13.1 (*)
      │       └── tower-http v0.6.8 (*)
      ├── icu_provider_macros v1.5.0
      │   └── icu_provider v1.5.0 (*)
      ├── pin-project-internal v1.1.7
      │   └── pin-project v1.1.7
      │       └── libdd-common v1.1.0 (*)
      ├── prettyplease v0.2.25
      │   └── bindgen v0.69.5 (*)
      ├── prost-derive v0.14.3
      │   └── prost v0.14.3
      │       ├── libdd-profiling v1.0.0 (*)
      │       └── libdd-profiling-protobuf v1.0.0
      │           ├── libdd-profiling v1.0.0 (*)
      │           └── (dev) libdd-profiling-protobuf v1.0.0 (*)
      ├── serde_derive v1.0.228
      │   ├── criterion v0.5.1
      │   │   └── (dev) libdd-profiling v1.0.0 (*)
      │   └── serde v1.0.228
      │       ├── ciborium v0.2.2
      │       │   └── criterion v0.5.1 (*)
      │       ├── criterion v0.5.1 (*)
      │       ├── libdd-common v1.1.0 (*)
      │       ├── libdd-profiling v1.0.0 (*)
      │       ├── mustache v0.9.0
      │       │   └── nickel v0.11.0
      │       │       └── multipart v0.18.0
      │       │           └── libdd-profiling v1.0.0 (*)
      │       ├── nickel v0.11.0 (*)
      │       ├── serde_json v1.0.132
      │       │   ├── criterion v0.5.1 (*)
      │       │   ├── libdd-profiling v1.0.0 (*)
      │       │   ├── nickel v0.11.0 (*)
      │       │   └── tinytemplate v1.2.1
      │       │       └── criterion v0.5.1 (*)
      │       └── tinytemplate v1.2.1 (*)
      ├── synstructure v0.13.1
      │   ├── yoke-derive v0.7.4
      │   │   └── yoke v0.7.4
      │   │       ├── icu_collections v1.5.0 (*)
      │   │       ├── icu_provider v1.5.0 (*)
      │   │       └── zerovec v0.10.4
      │   │           ├── icu_collections v1.5.0 (*)
      │   │           ├── icu_locid v1.5.0 (*)
      │   │           ├── icu_locid_transform v1.5.0 (*)
      │   │           ├── icu_normalizer v1.5.0 (*)
      │   │           ├── icu_properties v1.5.1 (*)
      │   │           ├── icu_provider v1.5.0 (*)
      │   │           └── tinystr v0.7.6 (*)
      │   └── zerofrom-derive v0.1.4
      │       └── zerofrom v0.1.4
      │           ├── icu_collections v1.5.0 (*)
      │           ├── icu_provider v1.5.0 (*)
      │           ├── yoke v0.7.4 (*)
      │           └── zerovec v0.10.4 (*)
      ├── thiserror-impl v1.0.68
      │   └── thiserror v1.0.68
      │       ├── jni v0.21.1
      │       │   └── rustls-platform-verifier v0.6.2 (*)
      │       └── libdd-common v1.1.0 (*)
      ├── thiserror-impl v2.0.17
      │   └── thiserror v2.0.17
      │       └── libdd-profiling v1.0.0 (*)
      ├── tokio-macros v2.6.0
      │   └── tokio v1.49.0
      │       ├── hyper v1.6.0 (*)
      │       ├── hyper-rustls v0.27.3 (*)
      │       ├── hyper-util v0.1.17 (*)
      │       ├── libdd-common v1.1.0 (*)
      │       ├── libdd-profiling v1.0.0 (*)
      │       ├── reqwest v0.13.1 (*)
      │       ├── tokio-rustls v0.26.0 (*)
      │       ├── tokio-util v0.7.12
      │       │   └── libdd-profiling v1.0.0 (*)
      │       └── tower v0.5.2 (*)
      ├── wasm-bindgen-backend v0.2.100
      │   └── wasm-bindgen-macro-support v0.2.100
      │       └── wasm-bindgen-macro v0.2.100
      │           └── wasm-bindgen v0.2.100
      │               ├── chrono v0.4.38
      │               │   ├── libdd-profiling v1.0.0 (*)
      │               │   └── tiny_http v0.6.4
      │               │       └── multipart v0.18.0 (*)
      │               ├── iana-time-zone v0.1.61
      │               │   └── chrono v0.4.38 (*)
      │               ├── js-sys v0.3.77
      │               │   ├── chrono v0.4.38 (*)
      │               │   ├── iana-time-zone v0.1.61 (*)
      │               │   ├── reqwest v0.13.1 (*)
      │               │   ├── wasm-bindgen-futures v0.4.45
      │               │   │   └── reqwest v0.13.1 (*)
      │               │   └── web-sys v0.3.72
      │               │       ├── plotters v0.3.7
      │               │       │   └── criterion v0.5.1 (*)
      │               │       ├── reqwest v0.13.1 (*)
      │               │       └── wasm-bindgen-futures v0.4.45 (*)
      │               ├── plotters v0.3.7 (*)
      │               ├── reqwest v0.13.1 (*)
      │               ├── wasm-bindgen-futures v0.4.45 (*)
      │               └── web-sys v0.3.72 (*)
      ├── wasm-bindgen-macro-support v0.2.100 (*)
      ├── yoke-derive v0.7.4 (*)
      ├── zerocopy-derive v0.7.35
      │   └── zerocopy v0.7.35
      │       └── ppv-lite86 v0.2.20
      │           ├── rand_chacha v0.3.1
      │           │   ├── proptest v1.5.0
      │           │   │   └── (dev) libdd-profiling v1.0.0 (*)
      │           │   └── rand v0.8.5
      │           │       ├── libdd-profiling v1.0.0 (*)
      │           │       ├── multipart v0.18.0 (*)
      │           │       └── proptest v1.5.0 (*)
      │           └── rand_chacha v0.9.0
      │               └── rand v0.9.0
      │                   ├── bolero v0.13.0
      │                   │   ├── (dev) libdd-alloc v1.0.0
      │                   │   │   └── libdd-profiling v1.0.0 (*)
      │                   │   ├── (dev) libdd-profiling v1.0.0 (*)
      │                   │   └── libdd-profiling-protobuf v1.0.0 (*)
      │                   └── bolero-engine v0.13.0
      │                       ├── bolero v0.13.0 (*)
      │                       ├── bolero-afl v0.13.0
      │                       │   └── bolero v0.13.0 (*)
      │                       ├── bolero-honggfuzz v0.13.0
      │                       │   └── bolero v0.13.0 (*)
      │                       ├── bolero-kani v0.13.0
      │                       │   └── bolero v0.13.0 (*)
      │                       └── bolero-libfuzzer v0.13.0
      │                           └── bolero v0.13.0 (*)
      ├── zerofrom-derive v0.1.4 (*)
      └── zerovec-derive v0.10.3
          └── zerovec v0.10.4 (*)

warning[duplicate]: found 2 duplicate entries for crate 'thiserror'
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:257:1
    │  
257 │ ╭ thiserror 1.0.68 registry+https://github.com/rust-lang/crates.io-index
258 │ │ thiserror 2.0.17 registry+https://github.com/rust-lang/crates.io-index
    │ ╰──────────────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ thiserror v1.0.68
      ├── jni v0.21.1
      │   └── rustls-platform-verifier v0.6.2
      │       └── reqwest v0.13.1
      │           └── libdd-profiling v1.0.0
      │               └── (dev) libdd-profiling v1.0.0 (*)
      └── libdd-common v1.1.0
          └── libdd-profiling v1.0.0 (*)
    ├ thiserror v2.0.17
      └── libdd-profiling v1.0.0
          └── (dev) libdd-profiling v1.0.0 (*)

warning[duplicate]: found 2 duplicate entries for crate 'thiserror-impl'
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:259:1
    │  
259 │ ╭ thiserror-impl 1.0.68 registry+https://github.com/rust-lang/crates.io-index
260 │ │ thiserror-impl 2.0.17 registry+https://github.com/rust-lang/crates.io-index
    │ ╰───────────────────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ thiserror-impl v1.0.68
      └── thiserror v1.0.68
          ├── jni v0.21.1
          │   └── rustls-platform-verifier v0.6.2
          │       └── reqwest v0.13.1
          │           └── libdd-profiling v1.0.0
          │               └── (dev) libdd-profiling v1.0.0 (*)
          └── libdd-common v1.1.0
              └── libdd-profiling v1.0.0 (*)
    ├ thiserror-impl v2.0.17
      └── thiserror v2.0.17
          └── libdd-profiling v1.0.0
              └── (dev) libdd-profiling v1.0.0 (*)

warning[duplicate]: found 2 duplicate entries for crate 'unicase'
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:285:1
    │  
285 │ ╭ unicase 1.4.2 registry+https://github.com/rust-lang/crates.io-index
286 │ │ unicase 2.8.0 registry+https://github.com/rust-lang/crates.io-index
    │ ╰───────────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ unicase v1.4.2
      ├── hyper v0.10.16
      │   ├── iron v0.6.1
      │   │   └── multipart v0.18.0
      │   │       └── libdd-profiling v1.0.0
      │   │           └── (dev) libdd-profiling v1.0.0 (*)
      │   ├── multipart v0.18.0 (*)
      │   └── nickel v0.11.0
      │       └── multipart v0.18.0 (*)
      ├── (build) mime_guess v1.8.8
      │   └── iron v0.6.1 (*)
      └── phf_shared v0.7.24
          ├── phf v0.7.24
          │   └── (build) mime_guess v1.8.8 (*)
          ├── phf_codegen v0.7.24
          │   └── (build) mime_guess v1.8.8 (*)
          └── phf_generator v0.7.24
              └── phf_codegen v0.7.24 (*)
    ├ unicase v2.8.0
      └── (build) mime_guess v2.0.5
          ├── multipart v0.18.0
          │   └── libdd-profiling v1.0.0
          │       └── (dev) libdd-profiling v1.0.0 (*)
          └── reqwest v0.13.1
              └── libdd-profiling v1.0.0 (*)

warning[duplicate]: found 2 duplicate entries for crate 'url'
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:293:1
    │  
293 │ ╭ url 1.7.2 registry+https://github.com/rust-lang/crates.io-index
294 │ │ url 2.5.3 registry+https://github.com/rust-lang/crates.io-index
    │ ╰───────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ url v1.7.2
      ├── hyper v0.10.16
      │   ├── iron v0.6.1
      │   │   └── multipart v0.18.0
      │   │       └── libdd-profiling v1.0.0
      │   │           └── (dev) libdd-profiling v1.0.0 (*)
      │   ├── multipart v0.18.0 (*)
      │   └── nickel v0.11.0
      │       └── multipart v0.18.0 (*)
      ├── iron v0.6.1 (*)
      ├── nickel v0.11.0 (*)
      └── tiny_http v0.6.4
          └── multipart v0.18.0 (*)
    ├ url v2.5.3
      └── reqwest v0.13.1
          └── libdd-profiling v1.0.0
              └── (dev) libdd-profiling v1.0.0 (*)

warning[duplicate]: found 3 duplicate entries for crate 'wasi'
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:301:1
    │  
301 │ ╭ wasi 0.10.0+wasi-snapshot-preview1 registry+https://github.com/rust-lang/crates.io-index
302 │ │ wasi 0.11.0+wasi-snapshot-preview1 registry+https://github.com/rust-lang/crates.io-index
303 │ │ wasi 0.14.2+wasi-0.2.4 registry+https://github.com/rust-lang/crates.io-index
    │ ╰────────────────────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ wasi v0.10.0+wasi-snapshot-preview1
      └── time v0.1.45
          ├── hyper v0.10.16
          │   ├── iron v0.6.1
          │   │   └── multipart v0.18.0
          │   │       └── libdd-profiling v1.0.0
          │   │           └── (dev) libdd-profiling v1.0.0 (*)
          │   ├── multipart v0.18.0 (*)
          │   └── nickel v0.11.0
          │       └── multipart v0.18.0 (*)
          └── nickel v0.11.0 (*)
    ├ wasi v0.11.0+wasi-snapshot-preview1
      ├── getrandom v0.2.15
      │   └── rand_core v0.6.4
      │       ├── rand v0.8.5
      │       │   ├── libdd-profiling v1.0.0
      │       │   │   └── (dev) libdd-profiling v1.0.0 (*)
      │       │   ├── multipart v0.18.0
      │       │   │   └── libdd-profiling v1.0.0 (*)
      │       │   └── proptest v1.5.0
      │       │       └── (dev) libdd-profiling v1.0.0 (*)
      │       ├── rand_chacha v0.3.1
      │       │   ├── proptest v1.5.0 (*)
      │       │   └── rand v0.8.5 (*)
      │       └── rand_xorshift v0.3.0
      │           └── proptest v1.5.0 (*)
      └── mio v1.0.2
          └── tokio v1.49.0
              ├── hyper v1.6.0
              │   ├── hyper-rustls v0.27.3
              │   │   └── reqwest v0.13.1
              │   │       └── libdd-profiling v1.0.0 (*)
              │   ├── hyper-util v0.1.17
              │   │   ├── hyper-rustls v0.27.3 (*)
              │   │   ├── libdd-common v1.1.0
              │   │   │   └── libdd-profiling v1.0.0 (*)
              │   │   └── reqwest v0.13.1 (*)
              │   ├── libdd-common v1.1.0 (*)
              │   └── reqwest v0.13.1 (*)
              ├── hyper-rustls v0.27.3 (*)
              ├── hyper-util v0.1.17 (*)
              ├── libdd-common v1.1.0 (*)
              ├── libdd-profiling v1.0.0 (*)
              ├── reqwest v0.13.1 (*)
              ├── tokio-rustls v0.26.0
              │   ├── hyper-rustls v0.27.3 (*)
              │   └── reqwest v0.13.1 (*)
              ├── tokio-util v0.7.12
              │   └── libdd-profiling v1.0.0 (*)
              └── tower v0.5.2
                  ├── reqwest v0.13.1 (*)
                  └── tower-http v0.6.8
                      └── reqwest v0.13.1 (*)
    ├ wasi v0.14.2+wasi-0.2.4
      └── getrandom v0.3.2
          ├── bolero-generator v0.13.1
          │   ├── bolero v0.13.0
          │   │   ├── (dev) libdd-alloc v1.0.0
          │   │   │   └── libdd-profiling v1.0.0
          │   │   │       └── (dev) libdd-profiling v1.0.0 (*)
          │   │   ├── (dev) libdd-profiling v1.0.0 (*)
          │   │   └── libdd-profiling-protobuf v1.0.0
          │   │       ├── libdd-profiling v1.0.0 (*)
          │   │       └── (dev) libdd-profiling-protobuf v1.0.0 (*)
          │   └── bolero-engine v0.13.0
          │       ├── bolero v0.13.0 (*)
          │       ├── bolero-afl v0.13.0
          │       │   └── bolero v0.13.0 (*)
          │       ├── bolero-honggfuzz v0.13.0
          │       │   └── bolero v0.13.0 (*)
          │       ├── bolero-kani v0.13.0
          │       │   └── bolero v0.13.0 (*)
          │       └── bolero-libfuzzer v0.13.0
          │           └── bolero v0.13.0 (*)
          ├── rand_core v0.9.3
          │   ├── bolero-generator v0.13.1 (*)
          │   ├── rand v0.9.0
          │   │   ├── bolero v0.13.0 (*)
          │   │   └── bolero-engine v0.13.0 (*)
          │   ├── rand_chacha v0.9.0
          │   │   └── rand v0.9.0 (*)
          │   └── rand_xoshiro v0.7.0
          │       ├── bolero-engine v0.13.0 (*)
          │       └── bolero-generator v0.13.1 (*)
          └── tempfile v3.23.0
              ├── (dev) libdd-common v1.1.0
              │   └── libdd-profiling v1.0.0 (*)
              ├── multipart v0.18.0
              │   └── libdd-profiling v1.0.0 (*)
              ├── proptest v1.5.0
              │   └── (dev) libdd-profiling v1.0.0 (*)
              └── rusty-fork v0.3.1
                  └── proptest v1.5.0 (*)

warning[duplicate]: found 5 duplicate entries for crate 'windows-sys'
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:319:1
    │  
319 │ ╭ windows-sys 0.45.0 registry+https://github.com/rust-lang/crates.io-index
320 │ │ windows-sys 0.52.0 registry+https://github.com/rust-lang/crates.io-index
321 │ │ windows-sys 0.59.0 registry+https://github.com/rust-lang/crates.io-index
322 │ │ windows-sys 0.60.2 registry+https://github.com/rust-lang/crates.io-index
323 │ │ windows-sys 0.61.2 registry+https://github.com/rust-lang/crates.io-index
    │ ╰────────────────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ windows-sys v0.45.0
      └── jni v0.21.1
          └── rustls-platform-verifier v0.6.2
              └── reqwest v0.13.1
                  └── libdd-profiling v1.0.0
                      └── (dev) libdd-profiling v1.0.0 (*)
    ├ windows-sys v0.52.0
      ├── errno v0.3.14
      │   ├── rustix v0.38.39
      │   │   └── which v4.4.2
      │   │       └── bindgen v0.69.5
      │   │           └── (build) aws-lc-sys v0.28.0
      │   │               └── aws-lc-rs v1.13.0
      │   │                   ├── rustls v0.23.31
      │   │                   │   ├── hyper-rustls v0.27.3
      │   │                   │   │   └── reqwest v0.13.1
      │   │                   │   │       └── libdd-profiling v1.0.0
      │   │                   │   │           └── (dev) libdd-profiling v1.0.0 (*)
      │   │                   │   ├── reqwest v0.13.1 (*)
      │   │                   │   ├── rustls-platform-verifier v0.6.2
      │   │                   │   │   └── reqwest v0.13.1 (*)
      │   │                   │   └── tokio-rustls v0.26.0
      │   │                   │       ├── hyper-rustls v0.27.3 (*)
      │   │                   │       └── reqwest v0.13.1 (*)
      │   │                   └── rustls-webpki v0.103.4
      │   │                       ├── rustls v0.23.31 (*)
      │   │                       └── rustls-platform-verifier v0.6.2 (*)
      │   └── rustix v1.1.3
      │       └── tempfile v3.23.0
      │           ├── (dev) libdd-common v1.1.0
      │           │   └── libdd-profiling v1.0.0 (*)
      │           ├── multipart v0.18.0
      │           │   └── libdd-profiling v1.0.0 (*)
      │           ├── proptest v1.5.0
      │           │   └── (dev) libdd-profiling v1.0.0 (*)
      │           └── rusty-fork v0.3.1
      │               └── proptest v1.5.0 (*)
      ├── home v0.5.9
      │   └── which v4.4.2 (*)
      ├── is-terminal v0.4.13
      │   └── criterion v0.5.1
      │       └── (dev) libdd-profiling v1.0.0 (*)
      ├── libdd-alloc v1.0.0
      │   └── libdd-profiling v1.0.0 (*)
      ├── libdd-common v1.1.0 (*)
      ├── mio v1.0.2
      │   └── tokio v1.49.0
      │       ├── hyper v1.6.0
      │       │   ├── hyper-rustls v0.27.3 (*)
      │       │   ├── hyper-util v0.1.17
      │       │   │   ├── hyper-rustls v0.27.3 (*)
      │       │   │   ├── libdd-common v1.1.0 (*)
      │       │   │   └── reqwest v0.13.1 (*)
      │       │   ├── libdd-common v1.1.0 (*)
      │       │   └── reqwest v0.13.1 (*)
      │       ├── hyper-rustls v0.27.3 (*)
      │       ├── hyper-util v0.1.17 (*)
      │       ├── libdd-common v1.1.0 (*)
      │       ├── libdd-profiling v1.0.0 (*)
      │       ├── reqwest v0.13.1 (*)
      │       ├── tokio-rustls v0.26.0 (*)
      │       ├── tokio-util v0.7.12
      │       │   └── libdd-profiling v1.0.0 (*)
      │       └── tower v0.5.2
      │           ├── reqwest v0.13.1 (*)
      │           └── tower-http v0.6.8
      │               └── reqwest v0.13.1 (*)
      ├── rustix v0.38.39 (*)
      ├── rustix v1.1.3 (*)
      ├── rustls-platform-verifier v0.6.2 (*)
      └── tempfile v3.23.0 (*)
    ├ windows-sys v0.59.0
      ├── schannel v0.1.26
      │   └── rustls-native-certs v0.8.1
      │       └── rustls-platform-verifier v0.6.2
      │           └── reqwest v0.13.1
      │               └── libdd-profiling v1.0.0
      │                   └── (dev) libdd-profiling v1.0.0 (*)
      └── winapi-util v0.1.9
          ├── same-file v1.0.6
          │   └── walkdir v2.5.0
          │       ├── criterion v0.5.1
          │       │   └── (dev) libdd-profiling v1.0.0 (*)
          │       └── (build) jni v0.21.1
          │           └── rustls-platform-verifier v0.6.2 (*)
          └── walkdir v2.5.0 (*)
    ├ windows-sys v0.60.2
      └── socket2 v0.6.1
          ├── hyper-util v0.1.17
          │   ├── hyper-rustls v0.27.3
          │   │   └── reqwest v0.13.1
          │   │       └── libdd-profiling v1.0.0
          │   │           └── (dev) libdd-profiling v1.0.0 (*)
          │   ├── libdd-common v1.1.0
          │   │   └── libdd-profiling v1.0.0 (*)
          │   └── reqwest v0.13.1 (*)
          └── tokio v1.49.0
              ├── hyper v1.6.0
              │   ├── hyper-rustls v0.27.3 (*)
              │   ├── hyper-util v0.1.17 (*)
              │   ├── libdd-common v1.1.0 (*)
              │   └── reqwest v0.13.1 (*)
              ├── hyper-rustls v0.27.3 (*)
              ├── hyper-util v0.1.17 (*)
              ├── libdd-common v1.1.0 (*)
              ├── libdd-profiling v1.0.0 (*)
              ├── reqwest v0.13.1 (*)
              ├── tokio-rustls v0.26.0
              │   ├── hyper-rustls v0.27.3 (*)
              │   └── reqwest v0.13.1 (*)
              ├── tokio-util v0.7.12
              │   └── libdd-profiling v1.0.0 (*)
              └── tower v0.5.2
                  ├── reqwest v0.13.1 (*)
                  └── tower-http v0.6.8
                      └── reqwest v0.13.1 (*)
    ├ windows-sys v0.61.2
      └── tokio v1.49.0
          ├── hyper v1.6.0
          │   ├── hyper-rustls v0.27.3
          │   │   └── reqwest v0.13.1
          │   │       └── libdd-profiling v1.0.0
          │   │           └── (dev) libdd-profiling v1.0.0 (*)
          │   ├── hyper-util v0.1.17
          │   │   ├── hyper-rustls v0.27.3 (*)
          │   │   ├── libdd-common v1.1.0
          │   │   │   └── libdd-profiling v1.0.0 (*)
          │   │   └── reqwest v0.13.1 (*)
          │   ├── libdd-common v1.1.0 (*)
          │   └── reqwest v0.13.1 (*)
          ├── hyper-rustls v0.27.3 (*)
          ├── hyper-util v0.1.17 (*)
          ├── libdd-common v1.1.0 (*)
          ├── libdd-profiling v1.0.0 (*)
          ├── reqwest v0.13.1 (*)
          ├── tokio-rustls v0.26.0
          │   ├── hyper-rustls v0.27.3 (*)
          │   └── reqwest v0.13.1 (*)
          ├── tokio-util v0.7.12
          │   └── libdd-profiling v1.0.0 (*)
          └── tower v0.5.2
              ├── reqwest v0.13.1 (*)
              └── tower-http v0.6.8
                  └── reqwest v0.13.1 (*)

warning[duplicate]: found 3 duplicate entries for crate 'windows-targets'
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:324:1
    │  
324 │ ╭ windows-targets 0.42.2 registry+https://github.com/rust-lang/crates.io-index
325 │ │ windows-targets 0.52.6 registry+https://github.com/rust-lang/crates.io-index
326 │ │ windows-targets 0.53.5 registry+https://github.com/rust-lang/crates.io-index
    │ ╰────────────────────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ windows-targets v0.42.2
      └── windows-sys v0.45.0
          └── jni v0.21.1
              └── rustls-platform-verifier v0.6.2
                  └── reqwest v0.13.1
                      └── libdd-profiling v1.0.0
                          └── (dev) libdd-profiling v1.0.0 (*)
    ├ windows-targets v0.52.6
      ├── backtrace v0.3.74
      │   └── bolero-engine v0.13.0
      │       ├── bolero v0.13.0
      │       │   ├── (dev) libdd-alloc v1.0.0
      │       │   │   └── libdd-profiling v1.0.0
      │       │   │       └── (dev) libdd-profiling v1.0.0 (*)
      │       │   ├── (dev) libdd-profiling v1.0.0 (*)
      │       │   └── libdd-profiling-protobuf v1.0.0
      │       │       ├── libdd-profiling v1.0.0 (*)
      │       │       └── (dev) libdd-profiling-protobuf v1.0.0 (*)
      │       ├── bolero-afl v0.13.0
      │       │   └── bolero v0.13.0 (*)
      │       ├── bolero-honggfuzz v0.13.0
      │       │   └── bolero v0.13.0 (*)
      │       ├── bolero-kani v0.13.0
      │       │   └── bolero v0.13.0 (*)
      │       └── bolero-libfuzzer v0.13.0
      │           └── bolero v0.13.0 (*)
      ├── chrono v0.4.38
      │   ├── libdd-profiling v1.0.0 (*)
      │   └── tiny_http v0.6.4
      │       └── multipart v0.18.0
      │           └── libdd-profiling v1.0.0 (*)
      ├── libloading v0.8.6
      │   └── clang-sys v1.8.1
      │       └── bindgen v0.69.5
      │           └── (build) aws-lc-sys v0.28.0
      │               └── aws-lc-rs v1.13.0
      │                   ├── rustls v0.23.31
      │                   │   ├── hyper-rustls v0.27.3
      │                   │   │   └── reqwest v0.13.1
      │                   │   │       └── libdd-profiling v1.0.0 (*)
      │                   │   ├── reqwest v0.13.1 (*)
      │                   │   ├── rustls-platform-verifier v0.6.2
      │                   │   │   └── reqwest v0.13.1 (*)
      │                   │   └── tokio-rustls v0.26.0
      │                   │       ├── hyper-rustls v0.27.3 (*)
      │                   │       └── reqwest v0.13.1 (*)
      │                   └── rustls-webpki v0.103.4
      │                       ├── rustls v0.23.31 (*)
      │                       └── rustls-platform-verifier v0.6.2 (*)
      ├── parking_lot_core v0.9.10
      │   └── parking_lot v0.12.3
      │       └── libdd-profiling v1.0.0 (*)
      ├── windows-core v0.52.0
      │   └── iana-time-zone v0.1.61
      │       └── chrono v0.4.38 (*)
      ├── windows-sys v0.52.0
      │   ├── errno v0.3.14
      │   │   ├── rustix v0.38.39
      │   │   │   └── which v4.4.2
      │   │   │       └── bindgen v0.69.5 (*)
      │   │   └── rustix v1.1.3
      │   │       └── tempfile v3.23.0
      │   │           ├── (dev) libdd-common v1.1.0
      │   │           │   └── libdd-profiling v1.0.0 (*)
      │   │           ├── multipart v0.18.0 (*)
      │   │           ├── proptest v1.5.0
      │   │           │   └── (dev) libdd-profiling v1.0.0 (*)
      │   │           └── rusty-fork v0.3.1
      │   │               └── proptest v1.5.0 (*)
      │   ├── home v0.5.9
      │   │   └── which v4.4.2 (*)
      │   ├── is-terminal v0.4.13
      │   │   └── criterion v0.5.1
      │   │       └── (dev) libdd-profiling v1.0.0 (*)
      │   ├── libdd-alloc v1.0.0 (*)
      │   ├── libdd-common v1.1.0 (*)
      │   ├── mio v1.0.2
      │   │   └── tokio v1.49.0
      │   │       ├── hyper v1.6.0
      │   │       │   ├── hyper-rustls v0.27.3 (*)
      │   │       │   ├── hyper-util v0.1.17
      │   │       │   │   ├── hyper-rustls v0.27.3 (*)
      │   │       │   │   ├── libdd-common v1.1.0 (*)
      │   │       │   │   └── reqwest v0.13.1 (*)
      │   │       │   ├── libdd-common v1.1.0 (*)
      │   │       │   └── reqwest v0.13.1 (*)
      │   │       ├── hyper-rustls v0.27.3 (*)
      │   │       ├── hyper-util v0.1.17 (*)
      │   │       ├── libdd-common v1.1.0 (*)
      │   │       ├── libdd-profiling v1.0.0 (*)
      │   │       ├── reqwest v0.13.1 (*)
      │   │       ├── tokio-rustls v0.26.0 (*)
      │   │       ├── tokio-util v0.7.12
      │   │       │   └── libdd-profiling v1.0.0 (*)
      │   │       └── tower v0.5.2
      │   │           ├── reqwest v0.13.1 (*)
      │   │           └── tower-http v0.6.8
      │   │               └── reqwest v0.13.1 (*)
      │   ├── rustix v0.38.39 (*)
      │   ├── rustix v1.1.3 (*)
      │   ├── rustls-platform-verifier v0.6.2 (*)
      │   └── tempfile v3.23.0 (*)
      └── windows-sys v0.59.0
          ├── schannel v0.1.26
          │   └── rustls-native-certs v0.8.1
          │       └── rustls-platform-verifier v0.6.2 (*)
          └── winapi-util v0.1.9
              ├── same-file v1.0.6
              │   └── walkdir v2.5.0
              │       ├── criterion v0.5.1 (*)
              │       └── (build) jni v0.21.1
              │           └── rustls-platform-verifier v0.6.2 (*)
              └── walkdir v2.5.0 (*)
    ├ windows-targets v0.53.5
      └── windows-sys v0.60.2
          └── socket2 v0.6.1
              ├── hyper-util v0.1.17
              │   ├── hyper-rustls v0.27.3
              │   │   └── reqwest v0.13.1
              │   │       └── libdd-profiling v1.0.0
              │   │           └── (dev) libdd-profiling v1.0.0 (*)
              │   ├── libdd-common v1.1.0
              │   │   └── libdd-profiling v1.0.0 (*)
              │   └── reqwest v0.13.1 (*)
              └── tokio v1.49.0
                  ├── hyper v1.6.0
                  │   ├── hyper-rustls v0.27.3 (*)
                  │   ├── hyper-util v0.1.17 (*)
                  │   ├── libdd-common v1.1.0 (*)
                  │   └── reqwest v0.13.1 (*)
                  ├── hyper-rustls v0.27.3 (*)
                  ├── hyper-util v0.1.17 (*)
                  ├── libdd-common v1.1.0 (*)
                  ├── libdd-profiling v1.0.0 (*)
                  ├── reqwest v0.13.1 (*)
                  ├── tokio-rustls v0.26.0
                  │   ├── hyper-rustls v0.27.3 (*)
                  │   └── reqwest v0.13.1 (*)
                  ├── tokio-util v0.7.12
                  │   └── libdd-profiling v1.0.0 (*)
                  └── tower v0.5.2
                      ├── reqwest v0.13.1 (*)
                      └── tower-http v0.6.8
                          └── reqwest v0.13.1 (*)

warning[duplicate]: found 3 duplicate entries for crate 'windows_aarch64_gnullvm'
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:327:1
    │  
327 │ ╭ windows_aarch64_gnullvm 0.42.2 registry+https://github.com/rust-lang/crates.io-index
328 │ │ windows_aarch64_gnullvm 0.52.6 registry+https://github.com/rust-lang/crates.io-index
329 │ │ windows_aarch64_gnullvm 0.53.0 registry+https://github.com/rust-lang/crates.io-index
    │ ╰────────────────────────────────────────────────────────────────────────────────────┘ lock entries
    │  
    ├ windows_aarch64_gnullvm v0.42.2
      └── windows-targets v0.42.2
          └── windows-sys v0.45.0
              └── jni v0.21.1
                  └── rustls-platform-verifier v0.6.2
                      └── reqwest v0.13.1
                          └── libdd-profiling v1.0.0
                              └── (dev) libdd-profiling v1.0.0 (*)
    ├ windows_aarch64_gnullvm v0.52.6
      └── windows-targets v0.52.6
          ├── backtrace v0.3.74
          │   └── bolero-engine v0.13.0
          │       ├── bolero v0.13.0
          │       │   ├── (dev) libdd-alloc v1.0.0
          │       │   │   └── libdd-profiling v1.0.0
          │       │   │       └── (dev) libdd-profiling v1.0.0 (*)
          │       │   ├── (dev) libdd-profiling v1.0.0 (*)
          │   ...*[Comment body truncated]*

@danielsn danielsn force-pushed the dsn/profile-exporter-mine branch from 039abf8 to 0224c4b Compare January 27, 2026 15:48
@codecov-commenter
Copy link

codecov-commenter commented Jan 27, 2026

Codecov Report

❌ Patch coverage is 56.25000% with 14 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.12%. Comparing base (d5f1bbf) to head (43e110b).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1478      +/-   ##
==========================================
- Coverage   71.14%   71.12%   -0.02%     
==========================================
  Files         419      419              
  Lines       67179    67204      +25     
==========================================
+ Hits        47793    47798       +5     
- Misses      19386    19406      +20     
Components Coverage Δ
libdd-crashtracker 61.41% <ø> (+0.02%) ⬆️
libdd-crashtracker-ffi 16.50% <ø> (ø)
libdd-alloc 98.73% <ø> (ø)
libdd-data-pipeline 86.28% <ø> (ø)
libdd-data-pipeline-ffi 78.57% <ø> (ø)
libdd-common 80.84% <ø> (ø)
libdd-common-ffi 74.19% <ø> (ø)
libdd-telemetry 59.82% <ø> (ø)
libdd-telemetry-ffi 21.17% <ø> (ø)
libdd-dogstatsd-client 83.75% <ø> (ø)
datadog-ipc 82.60% <ø> (ø)
libdd-profiling 80.57% <56.25%> (-0.10%) ⬇️
libdd-profiling-ffi 62.43% <0.00%> (-0.04%) ⬇️
datadog-sidecar 34.94% <ø> (ø)
datdog-sidecar-ffi 10.25% <ø> (ø)
spawn-worker 55.18% <ø> (ø)
libdd-tinybytes 93.43% <ø> (ø)
libdd-trace-normalization 82.33% <ø> (ø)
libdd-trace-obfuscation 94.17% <ø> (ø)
libdd-trace-protobuf 61.18% <ø> (ø)
libdd-trace-utils 89.45% <ø> (ø)
datadog-tracer-flare 63.49% <ø> (ø)
libdd-log 75.57% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@danielsn danielsn force-pushed the dsn/profile-exporter-mine branch from 0224c4b to 746e9a3 Compare January 27, 2026 16:28
@danielsn danielsn force-pushed the dsn/profile-exporter-mine branch from 746e9a3 to 43e110b Compare January 27, 2026 17:27
@danielsn danielsn marked this pull request as ready for review January 27, 2026 17:50
@danielsn danielsn requested review from a team as code owners January 27, 2026 17:50
@dd-octo-sts
Copy link

dd-octo-sts bot commented Jan 27, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.38 MB 8.38 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 91.22 MB 91.22 MB +0% (+64 B) 👌
aarch64-apple-darwin
Artifact Baseline Commit Change
/aarch64-apple-darwin/lib/libdatadog_profiling.a 62.36 MB 62.36 MB +0% (+136 B) 👌
/aarch64-apple-darwin/lib/libdatadog_profiling.dylib 9.41 MB 9.41 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.67 MB 10.67 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 105.54 MB 105.54 MB +0% (+712 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 25.08 MB 25.08 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 73.49 KB 73.49 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 165.91 MB 165.93 MB +0% (+16.00 KB) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 827.93 MB 827.95 MB +0% (+14.08 KB) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.54 MB 9.54 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 73.49 KB 73.49 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 22.94 MB 22.94 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 47.90 MB 47.90 MB -0% (-60 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 21.15 MB 21.15 MB +0% (+512 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 74.62 KB 74.62 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 169.90 MB 169.91 MB +0% (+16.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 814.90 MB 814.92 MB +0% (+16.95 KB) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.22 MB 7.22 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 74.62 KB 74.62 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 24.51 MB 24.51 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 43.62 MB 43.62 MB +0% (+22 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 79.72 MB 79.72 MB +0% (+48 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 9.85 MB 9.85 MB 0% (0 B) 👌
x86_64-apple-darwin
Artifact Baseline Commit Change
/x86_64-apple-darwin/lib/libdatadog_profiling.a 64.25 MB 64.25 MB -0% (-736 B) 👌
/x86_64-apple-darwin/lib/libdatadog_profiling.dylib 10.44 MB 10.44 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 99.56 MB 99.56 MB +0% (+88 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.41 MB 11.41 MB 0% (0 B) 👌

@danielsn
Copy link
Contributor Author

/merge

@gh-worker-devflow-routing-ef8351
Copy link

gh-worker-devflow-routing-ef8351 bot commented Jan 27, 2026

View all feedbacks in Devflow UI.

2026-01-27 19:44:42 UTC ℹ️ Start processing command /merge


2026-01-27 19:44:57 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in main is approximately 33m (p90).


2026-01-27 20:13:22 UTC ℹ️ MergeQueue: This merge request was merged

@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot merged commit 796000b into main Jan 27, 2026
63 checks passed
@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot deleted the dsn/profile-exporter-mine branch January 27, 2026 20:13
Copy link
Contributor

@morrisonlevi morrisonlevi left a comment

Choose a reason for hiding this comment

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

This has already been committed, but I wanted to review it as well. For migration's sake, should we have put an "unknown" or "unspecified" mime type as value 0? Otherwise code may compile and send ApplicationJson, whether that's the real mime or not.

gh-worker-dd-mergequeue-cf854d bot pushed a commit that referenced this pull request Feb 6, 2026
# What does this PR do?

Reverts #1478 

# Motivation

As per the event-platform-intake team:
        // Note: We don't set Content-Type for file attachments in the multipart form.
        // The intake backend treats all attachments as raw bytes (application/octet-stream)
        // and detects compression by reading magic bytes (gzip/zstd/etc headers).
        // Content-Type is only meaningful for the main "event" part (set to application/json).
        // Attachments are not forwarded beyond intake, so their MIME types are not needed.

# Additional Notes

Anything else we should know when reviewing?

# How to test the change?

Describe here in detail how the change can be validated.


Co-authored-by: daniel.schwartznarbonne <daniel.schwartznarbonne@datadoghq.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.

5 participants