Skip to content

Conversation

danielsn
Copy link
Contributor

@danielsn danielsn commented May 30, 2025

What does this PR do?

POC for a channel based driver for the Python profiler

Motivation

Currently Python profiler uses lock based concurrency, which makes handling forks difficult.
It also can cost performance, as all operations require the lock.
Moving to a channel based system allows everything to live on one place one one thread, allowing us to do clean shutdown.
And it allows the stuff on that thread to happen with no synchronization, e.g. making it easier to use the new interning API in Echion

Additional Notes

This is designed to be a thin wrapper of what we already have in python, hence the use of void* and callbacks.
In the future, some of this should move into pure rust.

How to test the change?

Describe here in detail how the change can be validated.

@github-actions github-actions bot added the profiling Relates to the profiling* modules. label May 30, 2025
@pr-commenter
Copy link

pr-commenter bot commented May 30, 2025

Benchmarks

Comparison

Benchmark execution time: 2025-07-08 20:01:37

Comparing candidate commit 05e60f6 in PR branch dsn/profile-manager with baseline commit 2a14f03 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 05e60f6 1752004114 dsn/profile-manager
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.340µs 2.401µs ± 0.019µs 2.398µs ± 0.005µs 2.406µs 2.436µs 2.445µs 2.452µs 2.25% -0.141 1.710 0.79% 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.398µs; 2.403µs] or [-0.110%; +0.110%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 05e60f6 1752004114 dsn/profile-manager
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.138µs 26.652µs ± 10.527µs 18.432µs ± 0.161µs 35.230µs 45.272µs 49.431µs 76.720µs 316.23% 1.215 2.151 39.40% 0.744µ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.193µs; 28.111µs] or [-5.474%; +5.474%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 05e60f6 1752004114 dsn/profile-manager
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.894µs 3.913µs ± 0.008µs 3.912µs ± 0.002µs 3.914µs 3.916µs 3.921µs 3.987µs 1.91% 8.232 75.875 0.19% 0.001µs 1 200
credit_card/is_card_number/ throughput 250813697.136op/s 255561408.838op/s ± 487536.116op/s 255612358.870op/s ± 98517.367op/s 255705491.301op/s 255844606.648op/s 255889740.627op/s 256827145.785op/s 0.48% -8.173 75.210 0.19% 34474.009op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 80.225µs 81.352µs ± 0.578µs 81.329µs ± 0.388µs 81.675µs 82.353µs 82.955µs 83.328µs 2.46% 0.524 0.419 0.71% 0.041µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12000771.562op/s 12292942.324op/s ± 87091.576op/s 12295812.663op/s ± 58870.020op/s 12356775.382op/s 12424593.912op/s 12457799.073op/s 12464904.453op/s 1.38% -0.479 0.325 0.71% 6158.304op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 75.188µs 75.719µs ± 0.160µs 75.717µs ± 0.083µs 75.784µs 75.985µs 76.229µs 76.509µs 1.05% 0.835 3.744 0.21% 0.011µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13070357.736op/s 13206740.152op/s ± 27912.669op/s 13207090.758op/s ± 14456.409op/s 13223370.568op/s 13245597.804op/s 13272625.864op/s 13299906.901op/s 0.70% -0.803 3.655 0.21% 1973.724op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.895µs 3.912µs ± 0.003µs 3.912µs ± 0.002µs 3.913µs 3.915µs 3.917µs 3.921µs 0.23% -1.006 7.756 0.07% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 255066465.912op/s 255642053.594op/s ± 168076.517op/s 255642582.676op/s ± 106106.428op/s 255749154.988op/s 255880897.560op/s 255956540.130op/s 256723969.224op/s 0.42% 1.024 7.862 0.07% 11884.804op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 72.572µs 72.862µs ± 0.107µs 72.853µs ± 0.057µs 72.913µs 73.066µs 73.167µs 73.269µs 0.57% 0.527 1.219 0.15% 0.008µs 1 200
credit_card/is_card_number/378282246310005 throughput 13648282.957op/s 13724527.656op/s ± 20086.102op/s 13726219.513op/s ± 10762.491op/s 13735477.594op/s 13755586.033op/s 13771387.620op/s 13779416.308op/s 0.39% -0.514 1.201 0.15% 1420.302op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 52.628µs 52.841µs ± 0.070µs 52.843µs ± 0.045µs 52.890µs 52.949µs 52.994µs 53.028µs 0.35% -0.158 0.051 0.13% 0.005µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 18858062.904op/s 18924567.376op/s ± 24961.297op/s 18924150.114op/s ± 15938.138op/s 18938667.127op/s 18964900.143op/s 18984112.565op/s 19001369.999op/s 0.41% 0.166 0.056 0.13% 1765.030op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.426µs 6.437µs ± 0.005µs 6.436µs ± 0.003µs 6.440µs 6.445µs 6.448µs 6.454µs 0.28% 0.400 -0.072 0.08% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 154934839.132op/s 155356475.639op/s ± 119189.222op/s 155367831.103op/s ± 82972.787op/s 155447772.991op/s 155537507.601op/s 155562179.798op/s 155616493.666op/s 0.16% -0.396 -0.079 0.08% 8427.951op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.894µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.915µs 3.918µs 3.920µs 3.921µs 0.21% -0.775 5.493 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255026623.642op/s 255562551.176op/s ± 200989.188op/s 255566980.750op/s ± 119597.782op/s 255681760.636op/s 255834113.798op/s 255898253.778op/s 256776653.336op/s 0.47% 0.792 5.590 0.08% 14212.082op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.957µs 65.103µs ± 0.093µs 65.075µs ± 0.051µs 65.161µs 65.276µs 65.359µs 65.492µs 0.64% 1.140 1.271 0.14% 0.007µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15268937.548op/s 15360279.001op/s ± 21934.102op/s 15366961.801op/s ± 12119.574op/s 15375297.662op/s 15385380.427op/s 15391206.050op/s 15394784.247op/s 0.18% -1.132 1.239 0.14% 1550.975op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 58.178µs 58.293µs ± 0.084µs 58.269µs ± 0.043µs 58.330µs 58.489µs 58.546µs 58.564µs 0.51% 1.339 1.424 0.14% 0.006µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 17075261.798op/s 17154683.262op/s ± 24677.738op/s 17161745.612op/s ± 12583.060op/s 17172525.677op/s 17183424.096op/s 17187207.785op/s 17188746.528op/s 0.16% -1.332 1.402 0.14% 1744.980op/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.002µs 3.914µs 3.917µs 3.919µs 3.920µs 0.22% -0.647 5.142 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255077050.826op/s 255628251.280op/s ± 193411.880op/s 255644793.508op/s ± 137212.109op/s 255766109.145op/s 255875248.960op/s 255957217.370op/s 256778340.642op/s 0.44% 0.662 5.228 0.08% 13676.285op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 55.035µs 55.371µs ± 0.178µs 55.344µs ± 0.093µs 55.451µs 55.683µs 56.011µs 56.192µs 1.53% 1.421 3.478 0.32% 0.013µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17796258.794op/s 18060165.430op/s ± 57941.611op/s 18068748.293op/s ± 30291.509op/s 18097278.632op/s 18132309.793op/s 18161995.026op/s 18170222.459op/s 0.56% -1.388 3.341 0.32% 4097.091op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 52.688µs 52.871µs ± 0.070µs 52.868µs ± 0.050µs 52.922µs 52.984µs 53.014µs 53.049µs 0.34% 0.052 -0.535 0.13% 0.005µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 18850535.985op/s 18913897.287op/s ± 25070.745op/s 18914899.977op/s ± 17812.219op/s 18931315.300op/s 18955054.064op/s 18963327.625op/s 18979691.730op/s 0.34% -0.046 -0.534 0.13% 1772.769op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.428µs 6.436µs ± 0.005µs 6.436µs ± 0.003µs 6.439µs 6.444µs 6.449µs 6.451µs 0.23% 0.637 0.229 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 155023726.411op/s 155368742.405op/s ± 109794.308op/s 155385525.838op/s ± 74632.562op/s 155455233.244op/s 155519944.762op/s 155559997.677op/s 155580566.806op/s 0.13% -0.633 0.222 0.07% 7763.630op/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.914µs] or [-0.027%; +0.027%] None None None
credit_card/is_card_number/ throughput [255493841.021op/s; 255628976.654op/s] or [-0.026%; +0.026%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [81.271µs; 81.432µs] or [-0.099%; +0.099%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12280872.270op/s; 12305012.379op/s] or [-0.098%; +0.098%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [75.697µs; 75.741µs] or [-0.029%; +0.029%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13202871.724op/s; 13210608.579op/s] or [-0.029%; +0.029%] 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 [255618759.805op/s; 255665347.382op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/378282246310005 execution_time [72.848µs; 72.877µs] or [-0.020%; +0.020%] None None None
credit_card/is_card_number/378282246310005 throughput [13721743.916op/s; 13727311.397op/s] or [-0.020%; +0.020%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [52.832µs; 52.851µs] or [-0.018%; +0.018%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [18921107.980op/s; 18928026.771op/s] or [-0.018%; +0.018%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.436µs; 6.437µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/x371413321323331 throughput [155339957.159op/s; 155372994.119op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.913µs; 3.913µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ throughput [255534696.007op/s; 255590406.344op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.090µs; 65.116µs] or [-0.020%; +0.020%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15357239.146op/s; 15363318.857op/s] or [-0.020%; +0.020%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [58.282µs; 58.305µs] or [-0.020%; +0.020%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17151263.165op/s; 17158103.359op/s] or [-0.020%; +0.020%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.912µs; 3.912µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255601446.253op/s; 255655056.306op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [55.346µs; 55.396µs] or [-0.045%; +0.045%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18052135.280op/s; 18068195.580op/s] or [-0.044%; +0.044%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [52.862µs; 52.881µs] or [-0.018%; +0.018%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [18910422.723op/s; 18917371.851op/s] or [-0.018%; +0.018%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.436µs; 6.437µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [155353525.970op/s; 155383958.840op/s] or [-0.010%; +0.010%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 05e60f6 1752004114 dsn/profile-manager
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.915µs 34.351µs ± 0.755µs 34.010µs ± 0.048µs 34.066µs 35.950µs 35.993µs 37.475µs 10.19% 1.801 1.714 2.19% 0.053µ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.247µs; 34.456µs] or [-0.304%; +0.304%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 05e60f6 1752004114 dsn/profile-manager
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 5.000µs 5.103µs ± 0.041µs 5.115µs ± 0.033µs 5.136µs 5.151µs 5.155µs 5.156µs 0.79% -0.436 -1.164 0.80% 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.097µs; 5.108µs] or [-0.111%; +0.111%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 05e60f6 1752004114 dsn/profile-manager
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.586µs 205.101µs ± 0.439µs 204.993µs ± 0.164µs 205.187µs 205.763µs 207.119µs 207.774µs 1.36% 3.204 13.974 0.21% 0.031µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4812924.863op/s 4875662.289op/s ± 10372.144op/s 4878204.420op/s ± 3892.731op/s 4881300.460op/s 4884745.519op/s 4887776.119op/s 4887915.474op/s 0.20% -3.167 13.692 0.21% 733.421op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.190µs 18.296µs ± 0.090µs 18.284µs ± 0.044µs 18.323µs 18.504µs 18.548µs 18.755µs 2.58% 1.797 4.611 0.49% 0.006µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 53320500.567op/s 54657592.351op/s ± 267008.420op/s 54693658.064op/s ± 132634.137op/s 54846924.137op/s 54959608.152op/s 54972884.556op/s 54975134.146op/s 0.51% -1.748 4.351 0.49% 18880.346op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.682µs 10.843µs ± 0.062µs 10.843µs ± 0.042µs 10.886µs 10.938µs 10.998µs 11.034µs 1.77% 0.240 0.168 0.57% 0.004µs 1 200
normalization/normalize_name/normalize_name/good throughput 90627209.471op/s 92231110.705op/s ± 523899.875op/s 92227281.862op/s ± 361809.530op/s 92588551.506op/s 93076090.914op/s 93303952.403op/s 93613889.157op/s 1.50% -0.204 0.129 0.57% 37045.315op/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.040µs; 205.162µs] or [-0.030%; +0.030%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4874224.810op/s; 4877099.769op/s] or [-0.029%; +0.029%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.284µs; 18.309µs] or [-0.068%; +0.068%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [54620587.552op/s; 54694597.150op/s] or [-0.068%; +0.068%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.834µs; 10.851µs] or [-0.079%; +0.079%] None None None
normalization/normalize_name/normalize_name/good throughput [92158503.221op/s; 92303718.189op/s] or [-0.079%; +0.079%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 05e60f6 1752004114 dsn/profile-manager
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 71.491ms 71.665ms ± 0.681ms 71.599ms ± 0.037ms 71.645ms 71.787ms 72.005ms 81.162ms 13.36% 13.639 187.486 0.95% 0.048ms 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 [71.571ms; 71.760ms] or [-0.132%; +0.132%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 05e60f6 1752004114 dsn/profile-manager
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.459µs 536.579µs ± 1.030µs 536.501µs ± 0.369µs 536.869µs 537.322µs 537.871µs 548.532µs 2.24% 8.223 90.473 0.19% 0.073µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1823046.916op/s 1863663.637op/s ± 3521.300op/s 1863930.549op/s ± 1280.296op/s 1865239.261op/s 1866592.657op/s 1867334.276op/s 1867557.645op/s 0.19% -8.081 88.220 0.19% 248.993op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 388.586µs 389.630µs ± 0.416µs 389.640µs ± 0.247µs 389.874µs 390.283µs 390.738µs 391.011µs 0.35% 0.239 0.580 0.11% 0.029µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2557472.510op/s 2566540.691op/s ± 2738.237op/s 2566472.962op/s ± 1623.214op/s 2568229.317op/s 2571017.357op/s 2572272.886op/s 2573432.005op/s 0.27% -0.231 0.570 0.11% 193.623op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 195.375µs 195.857µs ± 0.556µs 195.780µs ± 0.114µs 195.927µs 196.149µs 196.465µs 201.071µs 2.70% 8.141 73.288 0.28% 0.039µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 4973366.315op/s 5105795.198op/s ± 14180.556op/s 5107783.301op/s ± 2984.500op/s 5110001.352op/s 5115393.243op/s 5116927.841op/s 5118352.472op/s 0.21% -8.064 72.340 0.28% 1002.717op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 38.091µs 38.177µs ± 0.044µs 38.175µs ± 0.030µs 38.205µs 38.253µs 38.302µs 38.330µs 0.40% 0.516 0.440 0.11% 0.003µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26089476.344op/s 26193857.970op/s ± 30026.527op/s 26194972.140op/s ± 20707.848op/s 26215662.602op/s 26238848.080op/s 26246163.963op/s 26252904.228op/s 0.22% -0.509 0.424 0.11% 2123.196op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.939µs 46.055µs ± 0.054µs 46.053µs ± 0.036µs 46.087µs 46.161µs 46.190µs 46.232µs 0.39% 0.489 0.190 0.12% 0.004µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21629811.071op/s 21713007.231op/s ± 25309.194op/s 21714056.997op/s ± 16882.295op/s 21731587.369op/s 21751138.219op/s 21763207.378op/s 21768065.136op/s 0.25% -0.482 0.180 0.12% 1789.630op/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.437µs; 536.722µs] or [-0.027%; +0.027%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1863175.618op/s; 1864151.655op/s] or [-0.026%; +0.026%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [389.572µs; 389.688µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2566161.198op/s; 2566920.185op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [195.780µs; 195.935µs] or [-0.039%; +0.039%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5103829.910op/s; 5107760.487op/s] or [-0.038%; +0.038%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [38.171µs; 38.183µs] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26189696.583op/s; 26198019.358op/s] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [46.048µs; 46.063µs] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21709499.620op/s; 21716514.842op/s] or [-0.016%; +0.016%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 05e60f6 1752004114 dsn/profile-manager
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.277µs 3.208µs ± 1.404µs 3.000µs ± 0.030µs 3.021µs 3.700µs 13.703µs 14.813µs 393.80% 7.328 55.031 43.66% 0.099µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [3.013µs; 3.402µs] or [-6.066%; +6.066%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 05e60f6 1752004114 dsn/profile-manager
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 87.418µs 87.683µs ± 0.133µs 87.664µs ± 0.056µs 87.731µs 87.846µs 88.041µs 88.989µs 1.51% 5.049 45.239 0.15% 0.009µ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 [87.664µs; 87.701µs] or [-0.021%; +0.021%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 05e60f6 1752004114 dsn/profile-manager
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 8.273ms 8.290ms ± 0.011ms 8.289ms ± 0.006ms 8.295ms 8.308ms 8.338ms 8.345ms 0.68% 1.978 6.841 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 [8.289ms; 8.292ms] or [-0.018%; +0.018%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 05e60f6 1752004114 dsn/profile-manager
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 244.174ns 254.492ns ± 13.435ns 248.585ns ± 2.741ns 254.817ns 283.052ns 303.476ns 306.536ns 23.31% 2.010 3.385 5.27% 0.950ns 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 [252.630ns; 256.354ns] or [-0.732%; +0.732%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 05e60f6 1752004114 dsn/profile-manager
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 151.274µs 152.248µs ± 0.294µs 152.218µs ± 0.156µs 152.359µs 152.786µs 153.149µs 153.278µs 0.70% 0.842 1.756 0.19% 0.021µ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 [152.208µs; 152.289µs] or [-0.027%; +0.027%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commented May 30, 2025

Codecov Report

Attention: Patch coverage is 78.33333% with 130 lines in your changes missing coverage. Please review.

Project coverage is 71.31%. Comparing base (2a14f03) to head (05e60f6).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1084      +/-   ##
==========================================
+ Coverage   71.23%   71.31%   +0.08%     
==========================================
  Files         343      349       +6     
  Lines       52393    52981     +588     
==========================================
+ Hits        37321    37786     +465     
- Misses      15072    15195     +123     
Components Coverage Δ
datadog-crashtracker 43.91% <ø> (ø)
datadog-crashtracker-ffi 5.93% <ø> (ø)
datadog-alloc 98.73% <ø> (ø)
data-pipeline 89.21% <ø> (ø)
data-pipeline-ffi 87.55% <ø> (ø)
ddcommon 82.88% <ø> (ø)
ddcommon-ffi 69.66% <ø> (ø)
ddtelemetry 60.08% <ø> (ø)
ddtelemetry-ffi 21.32% <ø> (ø)
dogstatsd-client 83.26% <ø> (ø)
datadog-ipc 82.58% <ø> (ø)
datadog-profiling 77.19% <78.33%> (+0.05%) ⬆️
datadog-profiling-ffi 66.66% <78.33%> (+4.54%) ⬆️
datadog-sidecar 40.28% <ø> (ø)
datdog-sidecar-ffi 5.17% <ø> (ø)
spawn-worker 55.35% <ø> (ø)
tinybytes 90.96% <ø> (ø)
datadog-trace-normalization 98.24% <ø> (ø)
datadog-trace-obfuscation 94.17% <ø> (ø)
datadog-trace-protobuf 77.10% <ø> (ø)
datadog-trace-utils 89.08% <ø> (ø)
datadog-tracer-flare 78.54% <ø> (ø)
datadog-log 76.31% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@r1viollet
Copy link
Contributor

r1viollet commented May 30, 2025

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.26 MB 8.33 MB +.76% (+64.92 KB) 🔍
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 68.04 MB 68.05 MB +0% (+1.20 KB) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so.debug 21.15 MB 21.15 MB +.01% (+3.03 KB) 🔍
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 74.96 MB 74.96 MB +0% (+2.47 KB) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 8.30 MB 8.30 MB +.01% (+968 B) 🔍
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so.debug 23.69 MB 23.69 MB +.01% (+3.59 KB) 🔍
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 16.70 MB 16.70 MB +0% (+1.00 KB) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 62.62 KB 62.90 KB +.45% (+290 B) 🔍
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 112.65 MB 112.67 MB +.02% (+24.00 KB) 🔍
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 632.41 MB 632.86 MB +.07% (+457.57 KB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 4.98 MB 4.98 MB -0% (-512 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 62.62 KB 62.90 KB +.45% (+290 B) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 15.85 MB 15.86 MB +.04% (+8.00 KB) 🔍
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 26.38 MB 26.39 MB +.02% (+8.03 KB) 🔍
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 14.15 MB 14.15 MB +.01% (+2.00 KB) 🔍
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 63.58 KB 63.87 KB +.45% (+294 B) 🔍
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 114.55 MB 114.55 MB +0% (+8.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 624.68 MB 625.12 MB +.07% (+458.90 KB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 3.77 MB 3.78 MB +.02% (+1.00 KB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 63.58 KB 63.87 KB +.45% (+294 B) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 16.48 MB 16.48 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 24.30 MB 24.31 MB +.03% (+9.00 KB) 🔍
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 59.31 MB 59.31 MB -0% (-1.16 KB) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 8.69 MB 8.69 MB +0% (+672 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so.debug 19.47 MB 19.47 MB +.01% (+2.55 KB) 🔍
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 70.65 MB 70.65 MB -0% (-948 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 8.70 MB 8.70 MB +0% (+672 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so.debug 21.77 MB 21.78 MB +.01% (+2.71 KB) 🔍

@github-actions github-actions bot added the common label Jul 8, 2025
Copy link

github-actions bot commented Oct 7, 2025

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. To override this behavior, add the keep-open label or update the PR.

@github-actions github-actions bot added the stale Used by actions/stale to identify PRs that have been inactive for 90+ days label Oct 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
common profiling Relates to the profiling* modules. stale Used by actions/stale to identify PRs that have been inactive for 90+ days
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants