Skip to content

feat(data-pipeline-ffi): add functions to manipulate span from C #994

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 13 commits into
base: main
Choose a base branch
from

Conversation

Leiyks
Copy link
Contributor

@Leiyks Leiyks commented Apr 2, 2025

What does this PR do?

This PR add functions to create and manipulate field of Rust Span struct from C code.

Motivation

The replacement of PHP Span to Rust Span in the PHP Tracer.

Additional Notes

As I am using macros to create the functions, the tests need to be run on a nightly version of Rust.

How to test the change?

Tests have been added, and this is linked to another one in the PHP tracer. (TODO)

@Leiyks Leiyks force-pushed the leiyks-add-span-conversion-functions branch 5 times, most recently from 3172f33 to b6ff6bb Compare April 2, 2025 15:32
@pr-commenter
Copy link

pr-commenter bot commented Apr 2, 2025

Benchmarks

Comparison

Benchmark execution time: 2025-05-26 14:08:34

Comparing candidate commit 89c9009 in PR branch leiyks-add-span-conversion-functions with baseline commit 09474fc in branch main.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 52 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 89c9009 1748267869 leiyks-add-span-conversion-functions
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.212µs 3.251µs ± 1.606µs 2.987µs ± 0.037µs 3.028µs 3.741µs 13.666µs 18.649µs 524.35% 7.648 61.890 49.29% 0.114µ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.028µs; 3.474µs] or [-6.848%; +6.848%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 89c9009 1748267869 leiyks-add-span-conversion-functions
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 72.589ms 73.212ms ± 0.385ms 73.195ms ± 0.219ms 73.419ms 73.620ms 73.801ms 76.827ms 4.96% 4.017 36.960 0.52% 0.027ms 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 [73.159ms; 73.265ms] or [-0.073%; +0.073%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 89c9009 1748267869 leiyks-add-span-conversion-functions
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.414µs 2.443µs ± 0.023µs 2.438µs ± 0.009µs 2.447µs 2.508µs 2.518µs 2.524µs 3.50% 1.953 3.768 0.92% 0.002µ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.439µs; 2.446µs] or [-0.128%; +0.128%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 89c9009 1748267869 leiyks-add-span-conversion-functions
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.937µs 5.026µs ± 0.057µs 4.997µs ± 0.039µs 5.082µs 5.112µs 5.116µs 5.119µs 2.45% 0.366 -1.442 1.13% 0.004µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
ip_address/quantize_peer_ip_address_benchmark execution_time [5.019µs; 5.034µs] or [-0.157%; +0.157%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 89c9009 1748267869 leiyks-add-span-conversion-functions
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 67.251µs 67.380µs ± 0.275µs 67.345µs ± 0.045µs 67.397µs 67.480µs 67.795µs 71.060µs 5.52% 12.193 160.174 0.41% 0.019µ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 [67.342µs; 67.418µs] or [-0.056%; +0.056%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 89c9009 1748267869 leiyks-add-span-conversion-functions
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 534.842µs 535.749µs ± 0.593µs 535.648µs ± 0.259µs 535.953µs 536.405µs 539.263µs 539.565µs 0.73% 3.718 20.365 0.11% 0.042µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1853343.814op/s 1866546.259op/s ± 2055.865op/s 1866897.459op/s ± 902.091op/s 1867634.995op/s 1868529.352op/s 1869076.898op/s 1869711.877op/s 0.15% -3.690 20.134 0.11% 145.372op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 450.246µs 450.980µs ± 0.790µs 450.839µs ± 0.200µs 451.161µs 451.820µs 452.224µs 460.555µs 2.16% 9.068 106.060 0.17% 0.056µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2171293.095op/s 2217397.675op/s ± 3825.757op/s 2218085.370op/s ± 982.202op/s 2218842.001op/s 2220126.817op/s 2220732.839op/s 2221008.071op/s 0.13% -8.934 103.814 0.17% 270.522op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 185.120µs 186.052µs ± 0.362µs 186.073µs ± 0.268µs 186.330µs 186.579µs 186.751µs 186.947µs 0.47% -0.213 -0.371 0.19% 0.026µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5349104.633op/s 5374862.775op/s ± 10459.187op/s 5374227.624op/s ± 7739.316op/s 5381966.577op/s 5393634.457op/s 5398162.708op/s 5401909.494op/s 0.52% 0.222 -0.367 0.19% 739.576op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 39.933µs 40.068µs ± 0.049µs 40.072µs ± 0.033µs 40.105µs 40.141µs 40.160µs 40.167µs 0.24% -0.366 -0.347 0.12% 0.003µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 24896007.608op/s 24957508.311op/s ± 30244.445op/s 24954843.178op/s ± 20578.185op/s 24977097.555op/s 25010961.722op/s 25024084.547op/s 25041915.573op/s 0.35% 0.371 -0.343 0.12% 2138.605op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 46.590µs 46.699µs ± 0.059µs 46.689µs ± 0.036µs 46.732µs 46.803µs 46.859µs 46.920µs 0.49% 0.778 0.657 0.13% 0.004µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21313092.441op/s 21413879.700op/s ± 27048.697op/s 21418491.331op/s ± 16576.851op/s 21432733.696op/s 21451231.488op/s 21459585.783op/s 21463812.735op/s 0.21% -0.771 0.638 0.13% 1912.632op/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 [535.667µs; 535.832µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1866261.336op/s; 1866831.183op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [450.871µs; 451.090µs] or [-0.024%; +0.024%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2216867.462op/s; 2217927.888op/s] or [-0.024%; +0.024%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [186.002µs; 186.102µs] or [-0.027%; +0.027%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5373413.233op/s; 5376312.318op/s] or [-0.027%; +0.027%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [40.061µs; 40.075µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [24953316.721op/s; 24961699.900op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [46.691µs; 46.707µs] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21410131.011op/s; 21417628.390op/s] or [-0.018%; +0.018%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 89c9009 1748267869 leiyks-add-span-conversion-functions
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 5.970ms 5.984ms ± 0.006ms 5.984ms ± 0.003ms 5.987ms 5.991ms 6.002ms 6.033ms 0.82% 2.862 20.981 0.10% 0.000ms 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 [5.984ms; 5.985ms] or [-0.014%; +0.014%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 89c9009 1748267869 leiyks-add-span-conversion-functions
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 215.153µs 216.108µs ± 0.217µs 216.097µs ± 0.123µs 216.223µs 216.459µs 216.682µs 216.838µs 0.34% -0.292 3.403 0.10% 0.015µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4611730.706op/s 4627319.799op/s ± 4652.798op/s 4627545.568op/s ± 2630.960op/s 4629877.766op/s 4633463.231op/s 4638382.324op/s 4647855.247op/s 0.44% 0.308 3.444 0.10% 329.003op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 19.722µs 19.810µs ± 0.028µs 19.810µs ± 0.018µs 19.829µs 19.845µs 19.879µs 19.883µs 0.37% -0.361 0.882 0.14% 0.002µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 50293446.034op/s 50479736.058op/s ± 72382.787op/s 50478435.838op/s ± 44662.679op/s 50522726.875op/s 50598234.389op/s 50692990.580op/s 50705418.692op/s 0.45% 0.373 0.894 0.14% 5118.236op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 11.573µs 12.419µs ± 0.172µs 12.477µs ± 0.085µs 12.551µs 12.585µs 12.604µs 12.622µs 1.16% -1.378 2.438 1.38% 0.012µs 1 200
normalization/normalize_name/normalize_name/good throughput 79229147.005op/s 80539495.637op/s ± 1137046.079op/s 80144824.281op/s ± 545093.464op/s 81319139.980op/s 82369808.781op/s 83924278.578op/s 86404669.918op/s 7.81% 1.491 3.129 1.41% 80401.299op/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 [216.078µs; 216.138µs] or [-0.014%; +0.014%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4626674.965op/s; 4627964.632op/s] or [-0.014%; +0.014%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [19.806µs; 19.814µs] or [-0.020%; +0.020%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [50469704.500op/s; 50489767.616op/s] or [-0.020%; +0.020%] None None None
normalization/normalize_name/normalize_name/good execution_time [12.395µs; 12.442µs] or [-0.192%; +0.192%] None None None
normalization/normalize_name/normalize_name/good throughput [80381911.987op/s; 80697079.288op/s] or [-0.196%; +0.196%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 89c9009 1748267869 leiyks-add-span-conversion-functions
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 147.484µs 148.144µs ± 0.483µs 148.009µs ± 0.164µs 148.275µs 148.945µs 149.744µs 151.663µs 2.47% 3.406 17.956 0.33% 0.034µ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 [148.077µs; 148.211µs] or [-0.045%; +0.045%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 89c9009 1748267869 leiyks-add-span-conversion-functions
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.892µs 3.912µs ± 0.006µs 3.911µs ± 0.001µs 3.913µs 3.916µs 3.919µs 3.972µs 1.55% 7.192 64.878 0.16% 0.000µs 1 200
credit_card/is_card_number/ throughput 251760377.310op/s 255601508.641op/s ± 402298.837op/s 255659530.323op/s ± 93848.716op/s 255739083.704op/s 255838591.237op/s 255875013.441op/s 256956834.871op/s 0.51% -7.119 64.129 0.16% 28446.824op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 82.045µs 82.351µs ± 0.189µs 82.302µs ± 0.110µs 82.465µs 82.672µs 82.852µs 83.502µs 1.46% 1.717 6.134 0.23% 0.013µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 11975705.808op/s 12143172.913op/s ± 27797.909op/s 12150383.910op/s ± 16263.659op/s 12162647.294op/s 12174953.200op/s 12183119.624op/s 12188502.586op/s 0.31% -1.681 5.877 0.23% 1965.609op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 76.049µs 76.606µs ± 0.292µs 76.570µs ± 0.198µs 76.773µs 77.103µs 77.304µs 77.934µs 1.78% 0.913 1.588 0.38% 0.021µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 12831328.659op/s 13053991.407op/s ± 49528.441op/s 13060026.631op/s ± 33745.432op/s 13093482.392op/s 13118489.136op/s 13131870.267op/s 13149370.627op/s 0.68% -0.883 1.458 0.38% 3502.190op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.892µs 3.911µs ± 0.002µs 3.911µs ± 0.001µs 3.913µs 3.915µs 3.917µs 3.918µs 0.17% -2.087 18.396 0.06% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 255245005.247op/s 255659772.032op/s ± 162371.536op/s 255674375.679op/s ± 89909.347op/s 255754270.977op/s 255833582.457op/s 255926742.514op/s 256950144.534op/s 0.50% 2.117 18.674 0.06% 11481.401op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 73.094µs 73.750µs ± 0.339µs 73.701µs ± 0.218µs 73.939µs 74.378µs 74.758µs 74.809µs 1.50% 0.863 0.752 0.46% 0.024µs 1 200
credit_card/is_card_number/378282246310005 throughput 13367298.065op/s 13559640.321op/s ± 62108.169op/s 13568284.866op/s ± 40168.024op/s 13608127.797op/s 13637699.617op/s 13668664.657op/s 13680979.083op/s 0.83% -0.835 0.689 0.46% 4391.711op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 51.803µs 52.289µs ± 0.346µs 52.146µs ± 0.131µs 52.527µs 52.954µs 53.211µs 53.700µs 2.98% 1.275 1.185 0.66% 0.024µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 18621961.220op/s 19125212.868op/s ± 125417.589op/s 19177044.739op/s ± 48468.250op/s 19209610.525op/s 19256642.876op/s 19284798.030op/s 19303875.956op/s 0.66% -1.245 1.061 0.65% 8868.363op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.430µs 6.578µs ± 0.069µs 6.581µs ± 0.049µs 6.628µs 6.702µs 6.739µs 6.751µs 2.60% 0.173 -0.541 1.05% 0.005µs 1 200
credit_card/is_card_number/x371413321323331 throughput 148116870.736op/s 152031518.636op/s ± 1600503.830op/s 151964001.421op/s ± 1126241.959op/s 153473406.716op/s 154494984.368op/s 155343651.936op/s 155509864.806op/s 2.33% -0.128 -0.562 1.05% 113172.711op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.890µs 3.911µs ± 0.003µs 3.911µs ± 0.001µs 3.912µs 3.918µs 3.921µs 3.925µs 0.36% -0.188 8.887 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254787804.489op/s 255670482.225op/s ± 217395.959op/s 255705043.934op/s ± 89209.023op/s 255788636.593op/s 255908820.108op/s 255946507.621op/s 257059979.489op/s 0.53% 0.216 9.024 0.08% 15372.216op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 63.514µs 63.799µs ± 0.111µs 63.783µs ± 0.047µs 63.832µs 64.027µs 64.179µs 64.192µs 0.64% 1.034 2.402 0.17% 0.008µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15578178.643op/s 15674304.967op/s ± 27333.995op/s 15678167.368op/s ± 11585.704op/s 15689488.827op/s 15708957.877op/s 15740606.342op/s 15744463.941op/s 0.42% -1.017 2.370 0.17% 1932.805op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 57.431µs 57.695µs ± 0.163µs 57.672µs ± 0.118µs 57.810µs 57.964µs 58.160µs 58.293µs 1.08% 0.705 0.555 0.28% 0.012µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 17154632.150op/s 17332649.777op/s ± 48907.197op/s 17339463.598op/s ± 35608.055op/s 17372013.253op/s 17399998.523op/s 17405768.172op/s 17412054.365op/s 0.42% -0.688 0.502 0.28% 3458.261op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.896µs 3.912µs ± 0.003µs 3.911µs ± 0.001µs 3.913µs 3.916µs 3.920µs 3.921µs 0.25% -0.228 7.184 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255016759.099op/s 255646615.608op/s ± 170569.131op/s 255657854.803op/s ± 86295.194op/s 255743706.603op/s 255854964.964op/s 255934000.713op/s 256678071.793op/s 0.40% 0.247 7.261 0.07% 12061.059op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 54.554µs 54.788µs ± 0.280µs 54.639µs ± 0.048µs 55.029µs 55.477µs 55.614µs 56.008µs 2.51% 1.631 2.266 0.51% 0.020µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17854472.004op/s 18252612.431op/s ± 92440.671op/s 18302029.696op/s ± 16194.190op/s 18312794.234op/s 18322667.064op/s 18325519.940op/s 18330489.103op/s 0.16% -1.607 2.139 0.51% 6536.543op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 51.813µs 52.312µs ± 0.383µs 52.170µs ± 0.217µs 52.634µs 53.010µs 53.355µs 53.570µs 2.68% 0.954 0.143 0.73% 0.027µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 18667235.610op/s 19117197.152op/s ± 139054.566op/s 19168041.758op/s ± 79957.088op/s 19225782.277op/s 19271409.556op/s 19297045.744op/s 19300189.283op/s 0.69% -0.927 0.064 0.73% 9832.643op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.432µs 6.571µs ± 0.061µs 6.575µs ± 0.043µs 6.614µs 6.671µs 6.697µs 6.757µs 2.77% 0.019 -0.396 0.93% 0.004µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 148002949.146op/s 152192277.845op/s ± 1421237.420op/s 152095869.812op/s ± 1009730.627op/s 153264269.563op/s 154514505.195op/s 155265476.518op/s 155471284.229op/s 2.22% 0.025 -0.419 0.93% 100496.662op/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.911µs; 3.913µs] or [-0.022%; +0.022%] None None None
credit_card/is_card_number/ throughput [255545753.892op/s; 255657263.391op/s] or [-0.022%; +0.022%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [82.325µs; 82.377µs] or [-0.032%; +0.032%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12139320.390op/s; 12147025.435op/s] or [-0.032%; +0.032%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [76.566µs; 76.646µs] or [-0.053%; +0.053%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13047127.242op/s; 13060855.573op/s] or [-0.053%; +0.053%] None None None
credit_card/is_card_number/37828224631 execution_time [3.911µs; 3.912µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/37828224631 throughput [255637268.898op/s; 255682275.165op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/378282246310005 execution_time [73.703µs; 73.797µs] or [-0.064%; +0.064%] None None None
credit_card/is_card_number/378282246310005 throughput [13551032.726op/s; 13568247.916op/s] or [-0.063%; +0.063%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [52.241µs; 52.337µs] or [-0.092%; +0.092%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19107831.196op/s; 19142594.540op/s] or [-0.091%; +0.091%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.569µs; 6.588µs] or [-0.146%; +0.146%] None None None
credit_card/is_card_number/x371413321323331 throughput [151809704.198op/s; 152253333.074op/s] or [-0.146%; +0.146%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.911µs; 3.912µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/ throughput [255640353.235op/s; 255700611.214op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [63.783µs; 63.814µs] or [-0.024%; +0.024%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15670516.738op/s; 15678093.196op/s] or [-0.024%; +0.024%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [57.672µs; 57.718µs] or [-0.039%; +0.039%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17325871.710op/s; 17339427.844op/s] or [-0.039%; +0.039%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.911µs; 3.912µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255622976.367op/s; 255670254.849op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [54.749µs; 54.827µs] or [-0.071%; +0.071%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18239801.043op/s; 18265423.819op/s] or [-0.070%; +0.070%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [52.259µs; 52.365µs] or [-0.102%; +0.102%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19097925.527op/s; 19136468.778op/s] or [-0.101%; +0.101%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.563µs; 6.580µs] or [-0.129%; +0.129%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [151995308.008op/s; 152389247.683op/s] or [-0.129%; +0.129%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 89c9009 1748267869 leiyks-add-span-conversion-functions
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 32.101µs 33.081µs ± 1.398µs 32.209µs ± 0.063µs 34.727µs 35.528µs 35.574µs 35.607µs 10.55% 0.945 -1.035 4.22% 0.099µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
redis/obfuscate_redis_string execution_time [32.888µs; 33.275µs] or [-0.586%; +0.586%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 89c9009 1748267869 leiyks-add-span-conversion-functions
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.763µs 26.966µs ± 10.584µs 18.761µs ± 0.979µs 35.961µs 46.779µs 54.412µs 62.400µs 232.61% 0.825 -0.311 39.15% 0.748µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [25.499µs; 28.433µs] or [-5.440%; +5.440%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 89c9009 1748267869 leiyks-add-span-conversion-functions
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 252.517ns 263.700ns ± 12.034ns 257.697ns ± 3.703ns 273.234ns 290.122ns 294.350ns 297.965ns 15.63% 1.187 0.158 4.55% 0.851ns 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 [262.032ns; 265.368ns] or [-0.632%; +0.632%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commented Apr 2, 2025

Codecov Report

Attention: Patch coverage is 33.08271% with 267 lines in your changes missing coverage. Please review.

Project coverage is 70.91%. Comparing base (f292b76) to head (89c9009).
Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #994      +/-   ##
==========================================
- Coverage   71.25%   70.91%   -0.35%     
==========================================
  Files         322      323       +1     
  Lines       49339    49764     +425     
==========================================
+ Hits        35158    35289     +131     
- Misses      14181    14475     +294     
Components Coverage Δ
datadog-crashtracker 42.43% <ø> (ø)
datadog-crashtracker-ffi 6.30% <ø> (ø)
datadog-alloc 98.73% <ø> (ø)
data-pipeline 90.81% <ø> (ø)
data-pipeline-ffi 89.26% <ø> (ø)
ddcommon 78.39% <ø> (+0.10%) ⬆️
ddcommon-ffi 66.63% <ø> (+0.26%) ⬆️
ddtelemetry 60.56% <ø> (ø)
ddtelemetry-ffi 21.32% <ø> (ø)
dogstatsd-client 83.26% <ø> (ø)
datadog-ipc 82.68% <ø> (+0.10%) ⬆️
datadog-profiling 77.49% <ø> (ø)
datadog-profiling-ffi 62.12% <ø> (ø)
datadog-sidecar 41.50% <32.91%> (-1.14%) ⬇️
datdog-sidecar-ffi 17.82% <32.91%> (+4.97%) ⬆️
spawn-worker 55.35% <ø> (ø)
tinybytes 91.59% <100.00%> (+0.63%) ⬆️
datadog-trace-normalization 98.24% <ø> (ø)
datadog-trace-obfuscation 94.16% <ø> (ø)
datadog-trace-protobuf 77.10% <ø> (ø)
datadog-trace-utils 89.28% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Leiyks Leiyks force-pushed the leiyks-add-span-conversion-functions branch 4 times, most recently from c78046e to 00df87d Compare April 4, 2025 14:59
@r1viollet
Copy link
Contributor

r1viollet commented Apr 4, 2025

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.03 MB 8.03 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 66.02 MB 66.02 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so.debug 20.31 MB 20.31 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 72.62 MB 72.62 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 8.00 MB 8.00 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so.debug 22.70 MB 22.70 MB 0% (0 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 16.71 MB 16.71 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 62.31 KB 62.31 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 112.66 MB 112.66 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 631.82 MB 631.82 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 4.99 MB 4.99 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 62.31 KB 62.31 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 15.88 MB 15.88 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 26.43 MB 26.43 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 14.15 MB 14.15 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 63.26 KB 63.26 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 114.51 MB 114.51 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 624.40 MB 624.40 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 3.78 MB 3.78 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 63.26 KB 63.26 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 16.50 MB 16.49 MB --.04% (-8.00 KB) 💪
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 24.34 MB 24.34 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 57.50 MB 57.50 MB 0% (0 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 8.43 MB 8.43 MB 0% (0 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so.debug 18.71 MB 18.71 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 68.61 MB 68.61 MB 0% (0 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 8.43 MB 8.43 MB 0% (0 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so.debug 20.90 MB 20.90 MB 0% (0 B) 👌

@Leiyks Leiyks force-pushed the leiyks-add-span-conversion-functions branch 2 times, most recently from cee1bc0 to a9c6aa1 Compare April 7, 2025 14:51
@Leiyks Leiyks marked this pull request as ready for review April 7, 2025 15:17
@Leiyks Leiyks requested a review from a team as a code owner April 7, 2025 15:17
ekump
ekump previously requested changes Apr 7, 2025
Copy link
Contributor

@ekump ekump left a comment

Choose a reason for hiding this comment

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

The Data Pipeline team hasn't seen any design docs or had any conversations about adding this functionality. Also, I'm not ok with tests that can only run on nightly. Our CI is on stable, and we build our releases with stable.

@Leiyks Leiyks marked this pull request as draft April 8, 2025 10:49
@Leiyks
Copy link
Contributor Author

Leiyks commented Apr 8, 2025

The Data Pipeline team hasn't seen any design docs or had any conversations about adding this functionality. Also, I'm not ok with tests that can only run on nightly. Our CI is on stable, and we build our releases with stable.

It's an error on my part, the PR was supposed to stay in draft as it is just at the experiment level yet.
Sorry for the inconvenience 🙇

@ekump ekump dismissed their stale review April 8, 2025 12:11

PR wasn't ready for review yet, and was moved to draft.

@Leiyks Leiyks force-pushed the leiyks-add-span-conversion-functions branch 3 times, most recently from 62862df to d7d9779 Compare April 18, 2025 15:51
@Leiyks Leiyks force-pushed the leiyks-add-span-conversion-functions branch 2 times, most recently from 0e074ee to ac9484b Compare April 23, 2025 15:52
@Leiyks Leiyks force-pushed the leiyks-add-span-conversion-functions branch from 0a39708 to a03994a Compare April 30, 2025 13:10
@Leiyks Leiyks force-pushed the leiyks-add-span-conversion-functions branch 3 times, most recently from 96ec923 to 695d3bd Compare May 12, 2025 11:42
@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented May 12, 2025

Datadog Summary

✅ Code Quality    ✅ Code Security    ✅ Dependencies


Was this helpful? Give us feedback!

@Leiyks Leiyks force-pushed the leiyks-add-span-conversion-functions branch 7 times, most recently from f25d27a to 859ce63 Compare May 13, 2025 15:30
@Leiyks Leiyks force-pushed the leiyks-add-span-conversion-functions branch 2 times, most recently from d9047f2 to 96fc38e Compare May 21, 2025 13:55
@Leiyks Leiyks force-pushed the leiyks-add-span-conversion-functions branch from 96fc38e to 6567432 Compare May 21, 2025 13:56
@Leiyks Leiyks force-pushed the leiyks-add-span-conversion-functions branch from 6567432 to 6866ddf Compare May 21, 2025 14:05
Signed-off-by: Alexandre Rulleau <[email protected]>
@Leiyks Leiyks force-pushed the leiyks-add-span-conversion-functions branch from 6866ddf to a7e3141 Compare May 21, 2025 15:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants