Skip to content

Comments

fix(profiling-ffi): Windows extern statics need __declspec(dllimport)#1468

Open
morrisonlevi wants to merge 14 commits intomainfrom
levi/fix-windows-declspec-vars
Open

fix(profiling-ffi): Windows extern statics need __declspec(dllimport)#1468
morrisonlevi wants to merge 14 commits intomainfrom
levi/fix-windows-declspec-vars

Conversation

@morrisonlevi
Copy link
Contributor

What does this PR do?

On the FFI headers on windows, this attends to replace "extern " with "extern __declspec(dllimport) ".

Motivation

These static variables result in a crash if you use them when they don't have __declspec(dllimport) .

Additional Notes

This went unfound because none of the examples run on Windows in CI. I am planning to look into running these as part of CI (this is in draft still).

How to test the change?

Build and note you don't get a crash anymore when using these static vars on Windows 😆

@morrisonlevi morrisonlevi changed the title fix(profiling): Windows extern statics need __declspec(dllimport) fix(profiling-ffi): Windows extern statics need __declspec(dllimport) Jan 22, 2026
@morrisonlevi morrisonlevi added bug Something isn't working profiling Relates to the profiling* modules. labels Jan 22, 2026
@pr-commenter
Copy link

pr-commenter bot commented Jan 22, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-02-19 16:37:36

Comparing candidate commit e365f9b in PR branch levi/fix-windows-declspec-vars with baseline commit 0bd90fd in branch main.

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

scenario:normalization/normalize_trace/test_trace

  • 🟥 execution_time [+46.413ns; +50.949ns] or [+18.447%; +20.251%]

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 e365f9b 1771517976 levi/fix-windows-declspec-vars
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 160.860µs 161.409µs ± 0.828µs 161.269µs ± 0.138µs 161.458µs 162.015µs 163.070µs 171.894µs 6.59% 10.421 127.399 0.51% 0.059µ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 [161.294µs; 161.523µs] or [-0.071%; +0.071%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e365f9b 1771517976 levi/fix-windows-declspec-vars
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
receiver_entry_point/report/2597 execution_time 9.577ms 9.837ms ± 0.074ms 9.847ms ± 0.029ms 9.876ms 9.926ms 9.968ms 10.038ms 1.94% -1.337 2.583 0.75% 0.005ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
receiver_entry_point/report/2597 execution_time [9.826ms; 9.847ms] or [-0.104%; +0.104%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e365f9b 1771517976 levi/fix-windows-declspec-vars
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.624ms 10.657ms ± 0.015ms 10.655ms ± 0.009ms 10.665ms 10.679ms 10.692ms 10.748ms 0.87% 1.597 7.159 0.14% 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.655ms; 10.659ms] or [-0.020%; +0.020%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e365f9b 1771517976 levi/fix-windows-declspec-vars
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.166µs 3.142µs ± 1.416µs 2.973µs ± 0.028µs 3.000µs 3.296µs 13.637µs 15.031µs 405.54% 7.531 57.265 44.94% 0.100µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [2.946µs; 3.338µs] or [-6.243%; +6.243%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e365f9b 1771517976 levi/fix-windows-declspec-vars
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 187.428ns 190.236ns ± 2.406ns 190.013ns ± 1.539ns 191.250ns 194.160ns 197.674ns 203.248ns 6.97% 1.553 4.336 1.26% 0.170ns 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 [189.903ns; 190.570ns] or [-0.175%; +0.175%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e365f9b 1771517976 levi/fix-windows-declspec-vars
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 747.217µs 748.630µs ± 0.691µs 748.549µs ± 0.323µs 748.874µs 749.755µs 751.081µs 751.966µs 0.46% 1.395 4.237 0.09% 0.049µ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 [748.535µs; 748.726µs] or [-0.013%; +0.013%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e365f9b 1771517976 levi/fix-windows-declspec-vars
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time 493.098µs 494.098µs ± 0.507µs 494.056µs ± 0.275µs 494.318µs 494.819µs 495.216µs 498.574µs 0.91% 3.581 28.855 0.10% 0.036µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 2005719.197op/s 2023890.805op/s ± 2068.169op/s 2024062.050op/s ± 1127.710op/s 2025192.153op/s 2026276.198op/s 2027405.910op/s 2027993.293op/s 0.19% -3.526 28.227 0.10% 146.242op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 371.317µs 372.177µs ± 0.338µs 372.161µs ± 0.242µs 372.403µs 372.714µs 372.974µs 373.167µs 0.27% 0.325 -0.044 0.09% 0.024µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2679767.858op/s 2686897.543op/s ± 2437.311op/s 2687007.077op/s ± 1749.399op/s 2688741.154op/s 2690585.457op/s 2691245.299op/s 2693113.510op/s 0.23% -0.320 -0.049 0.09% 172.344op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 167.649µs 167.927µs ± 0.134µs 167.924µs ± 0.088µs 167.992µs 168.195µs 168.297µs 168.349µs 0.25% 0.578 0.185 0.08% 0.010µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5940050.250op/s 5954976.632op/s ± 4764.692op/s 5955083.162op/s ± 3135.163op/s 5958466.647op/s 5961682.175op/s 5962721.068op/s 5964853.143op/s 0.16% -0.574 0.178 0.08% 336.915op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 38.688µs 38.831µs ± 0.049µs 38.833µs ± 0.035µs 38.858µs 38.910µs 38.954µs 38.967µs 0.35% 0.045 0.064 0.13% 0.003µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 25662523.373op/s 25752845.797op/s ± 32733.062op/s 25751206.646op/s ± 23124.887op/s 25776434.046op/s 25805644.296op/s 25829403.986op/s 25847672.084op/s 0.37% -0.037 0.064 0.13% 2314.577op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.604µs 45.736µs ± 0.054µs 45.733µs ± 0.036µs 45.770µs 45.809µs 45.902µs 45.995µs 0.57% 0.806 2.349 0.12% 0.004µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21741705.539op/s 21864537.672op/s ± 25906.147op/s 21865971.648op/s ± 17223.504op/s 21881370.284op/s 21902618.267op/s 21909120.260op/s 21927856.847op/s 0.28% -0.793 2.297 0.12% 1831.841op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time [494.028µs; 494.169µs] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [2023604.177op/s; 2024177.433op/s] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [372.130µs; 372.224µs] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2686559.755op/s; 2687235.331op/s] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [167.908µs; 167.946µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5954316.291op/s; 5955636.973op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [38.824µs; 38.838µs] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [25748309.309op/s; 25757382.284op/s] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.729µs; 45.744µs] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21860947.329op/s; 21868128.015op/s] or [-0.016%; +0.016%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e365f9b 1771517976 levi/fix-windows-declspec-vars
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.003ms 48.584ms ± 0.788ms 48.509ms ± 0.134ms 48.635ms 48.979ms 50.956ms 58.053ms 19.67% 9.234 103.959 1.62% 0.056ms 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.475ms; 48.693ms] or [-0.225%; +0.225%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e365f9b 1771517976 levi/fix-windows-declspec-vars
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 4.148ms 4.154ms ± 0.006ms 4.153ms ± 0.001ms 4.154ms 4.157ms 4.160ms 4.237ms 2.02% 11.879 154.962 0.15% 0.000ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample_frames_x1000 execution_time [4.153ms; 4.154ms] or [-0.021%; +0.021%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e365f9b 1771517976 levi/fix-windows-declspec-vars
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 34.602µs 35.121µs ± 0.850µs 34.729µs ± 0.051µs 34.824µs 36.909µs 36.952µs 38.625µs 11.22% 1.796 1.684 2.41% 0.060µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
redis/obfuscate_redis_string execution_time [35.003µs; 35.239µs] or [-0.335%; +0.335%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e365f9b 1771517976 levi/fix-windows-declspec-vars
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time 185.777µs 186.243µs ± 0.300µs 186.196µs ± 0.163µs 186.365µs 186.800µs 187.288µs 187.781µs 0.85% 1.683 4.607 0.16% 0.021µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5325351.696op/s 5369343.378op/s ± 8618.397op/s 5370689.342op/s ± 4700.323op/s 5375039.339op/s 5379702.937op/s 5382413.720op/s 5382799.828op/s 0.23% -1.665 4.516 0.16% 609.413op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.361µs 17.539µs ± 0.079µs 17.536µs ± 0.044µs 17.579µs 17.692µs 17.753µs 17.794µs 1.47% 0.457 0.507 0.45% 0.006µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 56200064.410op/s 57016686.986op/s ± 257633.871op/s 57024204.298op/s ± 143465.747op/s 57173766.956op/s 57398184.231op/s 57548565.897op/s 57599358.894op/s 1.01% -0.426 0.465 0.45% 18217.466op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 9.892µs 9.952µs ± 0.037µs 9.947µs ± 0.015µs 9.964µs 9.995µs 10.021µs 10.345µs 4.00% 6.145 61.359 0.37% 0.003µs 1 200
normalization/normalize_name/normalize_name/good throughput 96668513.771op/s 100484372.719op/s ± 366081.529op/s 100530675.320op/s ± 155337.331op/s 100677093.116op/s 100833824.275op/s 100945254.577op/s 101089135.943op/s 0.56% -5.866 57.398 0.36% 25885.873op/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 [186.201µs; 186.285µs] or [-0.022%; +0.022%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5368148.951op/s; 5370537.805op/s] or [-0.022%; +0.022%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [17.528µs; 17.550µs] or [-0.063%; +0.063%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [56980981.409op/s; 57052392.563op/s] or [-0.063%; +0.063%] None None None
normalization/normalize_name/normalize_name/good execution_time [9.947µs; 9.957µs] or [-0.052%; +0.052%] None None None
normalization/normalize_name/normalize_name/good throughput [100433637.339op/s; 100535108.098op/s] or [-0.050%; +0.050%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e365f9b 1771517976 levi/fix-windows-declspec-vars
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 292.417ns 300.277ns ± 9.544ns 296.204ns ± 1.794ns 300.297ns 321.425ns 331.210ns 333.418ns 12.56% 1.810 2.301 3.17% 0.675ns 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 [298.955ns; 301.600ns] or [-0.441%; +0.441%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e365f9b 1771517976 levi/fix-windows-declspec-vars
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 18.068µs 25.909µs ± 8.902µs 19.045µs ± 0.800µs 33.285µs 41.939µs 43.069µs 69.216µs 263.44% 0.991 1.174 34.27% 0.629µ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.675µs; 27.143µs] or [-4.762%; +4.762%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e365f9b 1771517976 levi/fix-windows-declspec-vars
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 145.135µs 146.744µs ± 1.866µs 146.415µs ± 0.526µs 146.972µs 148.115µs 153.708µs 166.041µs 13.40% 6.828 61.093 1.27% 0.132µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sdk_test_data/rules-based execution_time [146.485µs; 147.003µs] or [-0.176%; +0.176%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e365f9b 1771517976 levi/fix-windows-declspec-vars
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.839ms 14.874ms ± 0.032ms 14.868ms ± 0.008ms 14.878ms 14.915ms 14.986ms 15.152ms 1.91% 4.867 32.855 0.21% 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.869ms; 14.878ms] or [-0.030%; +0.030%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e365f9b 1771517976 levi/fix-windows-declspec-vars
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.310µs 2.370µs ± 0.017µs 2.369µs ± 0.005µs 2.376µs 2.405µs 2.412µs 2.415µs 1.96% -0.434 3.253 0.70% 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.367µs; 2.372µs] or [-0.097%; +0.097%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e365f9b 1771517976 levi/fix-windows-declspec-vars
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 88.887µs 89.183µs ± 0.162µs 89.165µs ± 0.042µs 89.211µs 89.301µs 89.590µs 91.131µs 2.21% 8.920 102.523 0.18% 0.011µ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.160µs; 89.205µs] or [-0.025%; +0.025%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e365f9b 1771517976 levi/fix-windows-declspec-vars
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.930µs 5.017µs ± 0.041µs 5.018µs ± 0.034µs 5.042µs 5.079µs 5.087µs 5.117µs 1.98% -0.069 -0.956 0.82% 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.011µs; 5.023µs] or [-0.113%; +0.113%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e365f9b 1771517976 levi/fix-windows-declspec-vars
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.913µs ± 0.003µs 3.913µs ± 0.001µs 3.914µs 3.917µs 3.920µs 3.923µs 0.25% -1.463 14.667 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 254912373.871op/s 255562585.598op/s ± 182392.321op/s 255558957.232op/s ± 88708.276op/s 255660060.968op/s 255800374.829op/s 255875196.353op/s 256914735.467op/s 0.53% 1.494 14.891 0.07% 12897.085op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 79.094µs 80.925µs ± 0.833µs 80.903µs ± 0.567µs 81.443µs 82.217µs 83.007µs 85.002µs 5.07% 0.764 2.054 1.03% 0.059µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 11764427.947op/s 12358483.720op/s ± 126300.144op/s 12360481.114op/s ± 86988.474op/s 12451607.987op/s 12536069.617op/s 12600182.313op/s 12643221.748op/s 2.29% -0.662 1.640 1.02% 8930.769op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 71.786µs 72.369µs ± 0.408µs 72.294µs ± 0.300µs 72.652µs 73.134µs 73.350µs 73.773µs 2.05% 0.784 -0.048 0.56% 0.029µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13555047.095op/s 13818463.146op/s ± 77593.275op/s 13832498.186op/s ± 57128.091op/s 13878249.800op/s 13908850.069op/s 13922701.522op/s 13930242.557op/s 0.71% -0.761 -0.104 0.56% 5486.673op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.892µs 3.915µs ± 0.008µs 3.914µs ± 0.002µs 3.916µs 3.919µs 3.929µs 3.995µs 2.09% 7.545 68.060 0.21% 0.001µs 1 200
credit_card/is_card_number/37828224631 throughput 250287105.553op/s 255453955.321op/s ± 531482.269op/s 255510252.024op/s ± 113367.604op/s 255618864.672op/s 255802349.974op/s 255883045.543op/s 256968123.989op/s 0.57% -7.462 67.112 0.21% 37581.472op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 68.572µs 69.121µs ± 0.415µs 69.004µs ± 0.211µs 69.306µs 69.874µs 70.823µs 71.490µs 3.60% 2.084 6.857 0.60% 0.029µs 1 200
credit_card/is_card_number/378282246310005 throughput 13987882.635op/s 14467968.427op/s ± 85884.935op/s 14491854.129op/s ± 44390.892op/s 14526507.972op/s 14557121.640op/s 14572419.491op/s 14583277.808op/s 0.63% -2.006 6.332 0.59% 6072.982op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 45.477µs 45.654µs ± 0.066µs 45.658µs ± 0.042µs 45.696µs 45.771µs 45.801µs 45.814µs 0.34% -0.131 0.113 0.14% 0.005µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 21827523.890op/s 21903817.341op/s ± 31739.392op/s 21901963.511op/s ± 19994.421op/s 21924760.730op/s 21959023.003op/s 21984405.257op/s 21989018.142op/s 0.40% 0.140 0.116 0.14% 2244.314op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.426µs 6.437µs ± 0.012µs 6.435µs ± 0.002µs 6.438µs 6.445µs 6.496µs 6.503µs 1.07% 4.162 17.755 0.19% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 153764350.967op/s 155344053.099op/s ± 289238.412op/s 155409633.140op/s ± 57101.499op/s 155459170.201op/s 155539613.420op/s 155562642.589op/s 155610653.700op/s 0.13% -4.148 17.663 0.19% 20452.244op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.892µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.914µs 3.916µs 3.919µs 3.920µs 0.18% -2.151 18.353 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255127478.397op/s 255600052.245op/s ± 168617.561op/s 255591092.674op/s ± 84148.303op/s 255688474.615op/s 255803628.649op/s 255861439.987op/s 256937953.003op/s 0.53% 2.182 18.634 0.07% 11923.062op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 61.214µs 62.915µs ± 0.619µs 63.013µs ± 0.428µs 63.367µs 63.756µs 64.143µs 64.218µs 1.91% -0.469 -0.315 0.98% 0.044µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15571885.886op/s 15896060.030op/s ± 157201.781op/s 15869625.627op/s ± 108296.554op/s 15994778.029op/s 16204368.363op/s 16252104.422op/s 16336194.752op/s 2.94% 0.512 -0.274 0.99% 11115.845op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 53.808µs 54.022µs ± 0.071µs 54.022µs ± 0.044µs 54.065µs 54.143µs 54.200µs 54.273µs 0.46% 0.285 0.617 0.13% 0.005µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18425340.668op/s 18510917.135op/s ± 24270.561op/s 18510964.114op/s ± 15068.911op/s 18527244.899op/s 18548247.146op/s 18564511.893op/s 18584747.498op/s 0.40% -0.275 0.608 0.13% 1716.188op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.894µs 3.912µs ± 0.002µs 3.912µs ± 0.001µs 3.913µs 3.915µs 3.918µs 3.919µs 0.19% -1.808 16.389 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255137919.714op/s 255626504.586op/s ± 156777.993op/s 255620347.387op/s ± 83069.012op/s 255716862.606op/s 255817096.621op/s 255874715.292op/s 256831016.746op/s 0.47% 1.835 16.618 0.06% 11085.878op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 50.138µs 50.364µs ± 0.100µs 50.347µs ± 0.049µs 50.406µs 50.531µs 50.773µs 50.840µs 0.98% 1.524 4.654 0.20% 0.007µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 19669578.753op/s 19855477.862op/s ± 39252.118op/s 19862090.223op/s ± 19437.849op/s 19879616.436op/s 19900930.568op/s 19928916.467op/s 19944887.965op/s 0.42% -1.499 4.536 0.20% 2775.544op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 45.451µs 45.671µs ± 0.077µs 45.665µs ± 0.045µs 45.719µs 45.806µs 45.858µs 45.900µs 0.51% 0.259 0.151 0.17% 0.005µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 21786420.852op/s 21895698.401op/s ± 36832.812op/s 21898394.850op/s ± 21736.612op/s 21918450.954op/s 21951935.425op/s 21973847.576op/s 22001846.548op/s 0.47% -0.248 0.147 0.17% 2604.473op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.427µs 6.442µs ± 0.017µs 6.438µs ± 0.003µs 6.441µs 6.493µs 6.498µs 6.501µs 0.98% 2.571 5.271 0.26% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 153833585.693op/s 155226348.025op/s ± 404513.478op/s 155336645.211op/s ± 78560.536op/s 155421202.907op/s 155496736.468op/s 155540898.636op/s 155596972.039op/s 0.17% -2.566 5.252 0.26% 28603.422op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
credit_card/is_card_number/ execution_time [3.913µs; 3.913µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ throughput [255537307.777op/s; 255587863.419op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [80.809µs; 81.040µs] or [-0.143%; +0.143%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12340979.735op/s; 12375987.705op/s] or [-0.142%; +0.142%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [72.313µs; 72.426µs] or [-0.078%; +0.078%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13807709.464op/s; 13829216.828op/s] or [-0.078%; +0.078%] None None None
credit_card/is_card_number/37828224631 execution_time [3.913µs; 3.916µs] or [-0.029%; +0.029%] None None None
credit_card/is_card_number/37828224631 throughput [255380296.990op/s; 255527613.652op/s] or [-0.029%; +0.029%] None None None
credit_card/is_card_number/378282246310005 execution_time [69.063µs; 69.178µs] or [-0.083%; +0.083%] None None None
credit_card/is_card_number/378282246310005 throughput [14456065.601op/s; 14479871.253op/s] or [-0.082%; +0.082%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [45.645µs; 45.663µs] or [-0.020%; +0.020%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [21899418.566op/s; 21908216.115op/s] or [-0.020%; +0.020%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.436µs; 6.439µs] or [-0.026%; +0.026%] None None None
credit_card/is_card_number/x371413321323331 throughput [155303967.437op/s; 155384138.761op/s] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.912µs; 3.913µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ throughput [255576683.473op/s; 255623421.017op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [62.829µs; 63.001µs] or [-0.136%; +0.136%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15874273.375op/s; 15917846.685op/s] or [-0.137%; +0.137%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [54.012µs; 54.032µs] or [-0.018%; +0.018%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18507553.468op/s; 18514280.801op/s] or [-0.018%; +0.018%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.912µs; 3.912µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255604776.664op/s; 255648232.508op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [50.350µs; 50.378µs] or [-0.027%; +0.027%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [19850037.896op/s; 19860917.828op/s] or [-0.027%; +0.027%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [45.661µs; 45.682µs] or [-0.023%; +0.023%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [21890593.728op/s; 21900803.075op/s] or [-0.023%; +0.023%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.440µs; 6.445µs] or [-0.036%; +0.036%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [155170286.348op/s; 155282409.703op/s] or [-0.036%; +0.036%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commented Jan 22, 2026

Codecov Report

❌ Patch coverage is 0% with 30 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.11%. Comparing base (0bd90fd) to head (e365f9b).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1468      +/-   ##
==========================================
- Coverage   71.14%   71.11%   -0.04%     
==========================================
  Files         423      423              
  Lines       62023    62050      +27     
==========================================
- Hits        44129    44128       -1     
- Misses      17894    17922      +28     
Components Coverage Δ
libdd-crashtracker 62.44% <ø> (ø)
libdd-crashtracker-ffi 15.80% <ø> (ø)
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 86.94% <ø> (ø)
libdd-data-pipeline-ffi 74.39% <ø> (ø)
libdd-common 80.58% <ø> (ø)
libdd-common-ffi 73.75% <ø> (ø)
libdd-telemetry 62.52% <ø> (ø)
libdd-telemetry-ffi 16.75% <ø> (ø)
libdd-dogstatsd-client 82.64% <ø> (ø)
datadog-ipc 80.83% <ø> (ø)
libdd-profiling 81.54% <ø> (-0.02%) ⬇️
libdd-profiling-ffi 63.66% <ø> (ø)
datadog-sidecar 32.78% <ø> (ø)
datdog-sidecar-ffi 9.50% <ø> (ø)
spawn-worker 54.69% <ø> (ø)
libdd-tinybytes 93.16% <ø> (ø)
libdd-trace-normalization 81.71% <ø> (ø)
libdd-trace-obfuscation 94.21% <ø> (ø)
libdd-trace-protobuf 68.00% <ø> (ø)
libdd-trace-utils 89.09% <ø> (ø)
datadog-tracer-flare 88.95% <ø> (ø)
libdd-log 74.69% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions github-actions bot removed the profiling Relates to the profiling* modules. label Jan 22, 2026
@dd-octo-sts
Copy link

dd-octo-sts bot commented Jan 26, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 91.47 MB 91.47 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.38 MB 8.38 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.75 MB 10.75 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 106.19 MB 106.19 MB 0% (0 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 24.97 MB 24.97 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 75.94 KB 75.94 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 166.39 MB 166.37 MB -0% (-16.00 KB) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 837.47 MB 837.47 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.55 MB 9.55 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 75.94 KB 75.94 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 23.00 MB 23.00 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 48.35 MB 48.35 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 21.05 MB 21.05 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 77.12 KB 77.12 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 170.15 MB 170.13 MB -0% (-16.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 823.52 MB 823.52 MB 0% (0 B) 👌
/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 77.12 KB 77.12 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 24.59 MB 24.59 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 44.09 MB 44.09 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 80.02 MB 80.02 MB 0% (0 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 9.85 MB 9.85 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 100.14 MB 100.14 MB 0% (0 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.42 MB 11.42 MB 0% (0 B) 👌

@gleocadie gleocadie force-pushed the levi/fix-windows-declspec-vars branch from 0802540 to d844b01 Compare January 29, 2026 09:52
@github-actions
Copy link

github-actions bot commented Feb 13, 2026

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/levi/fix-windows-declspec-vars

Summary by Rule

Rule Base Branch PR Branch Change

Annotation Counts by File

File Base Branch PR Branch Change

Annotation Stats by Crate

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

About This Report

This report tracks Clippy allow annotations for specific rules, showing how they've changed in this PR. Decreasing the number of these annotations generally improves code quality.

@morrisonlevi morrisonlevi marked this pull request as ready for review February 19, 2026 16:19
@morrisonlevi morrisonlevi requested review from a team as code owners February 19, 2026 16:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working ci-build common

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants