Skip to content

[profiling] Rust driver for python profiler #1084

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 38 commits into
base: main
Choose a base branch
from
Draft

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-06-12 14:41:15

Comparing candidate commit 4cb37b5 in PR branch dsn/profile-manager with baseline commit 8f4f86a in branch main.

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

scenario:credit_card/is_card_number/ 378282246310005

  • 🟩 execution_time [-3.823µs; -3.627µs] or [-5.100%; -4.838%]
  • 🟩 throughput [+679650.365op/s; +717870.906op/s] or [+5.095%; +5.381%]

scenario:credit_card/is_card_number/378282246310005

  • 🟩 execution_time [-3.902µs; -3.711µs] or [-5.409%; -5.144%]
  • 🟩 throughput [+753021.882op/s; +793553.018op/s] or [+5.433%; +5.725%]

scenario:sql/obfuscate_sql_string

  • 🟥 execution_time [+3.668µs; +3.756µs] or [+4.294%; +4.397%]

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 4cb37b5 1749671903 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 532.300µs 533.055µs ± 0.676µs 533.018µs ± 0.296µs 533.259µs 533.770µs 534.179µs 540.771µs 1.45% 7.548 83.286 0.13% 0.048µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1849211.589op/s 1875983.190op/s ± 2355.109op/s 1876110.388op/s ± 1041.465op/s 1877262.585op/s 1878112.862op/s 1878380.087op/s 1878639.450op/s 0.13% -7.441 81.651 0.13% 166.531op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.968µs 381.780µs ± 0.348µs 381.735µs ± 0.201µs 381.960µs 382.366µs 382.751µs 383.876µs 0.56% 1.426 5.852 0.09% 0.025µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2605005.507op/s 2619309.540op/s ± 2381.322op/s 2619621.604op/s ± 1376.064op/s 2620922.006op/s 2622469.631op/s 2623306.866op/s 2624891.780op/s 0.20% -1.410 5.749 0.09% 168.385op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 189.179µs 189.790µs ± 0.281µs 189.754µs ± 0.171µs 189.948µs 190.294µs 190.564µs 190.895µs 0.60% 0.678 0.915 0.15% 0.020µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5238483.295op/s 5268986.657op/s ± 7787.976op/s 5269968.315op/s ± 4735.189op/s 5274421.739op/s 5280219.668op/s 5283629.923op/s 5286003.990op/s 0.30% -0.667 0.890 0.15% 550.693op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.505µs 37.675µs ± 0.057µs 37.671µs ± 0.039µs 37.713µs 37.780µs 37.797µs 37.841µs 0.45% 0.145 0.083 0.15% 0.004µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26426478.644op/s 26542545.306op/s ± 39921.949op/s 26545291.333op/s ± 27173.592op/s 26570165.089op/s 26606645.643op/s 26625090.527op/s 26662850.776op/s 0.44% -0.135 0.082 0.15% 2822.908op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 44.919µs 45.175µs ± 0.139µs 45.171µs ± 0.115µs 45.290µs 45.376µs 45.454µs 45.517µs 0.77% -0.009 -0.988 0.31% 0.010µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21969802.750op/s 22136465.749op/s ± 68123.650op/s 22138132.848op/s ± 56315.750op/s 22192745.601op/s 22245696.377op/s 22258405.817op/s 22262277.832op/s 0.56% 0.019 -0.992 0.31% 4817.069op/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 [532.961µs; 533.148µs] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1875656.794op/s; 1876309.585op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [381.732µs; 381.828µs] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2618979.511op/s; 2619639.568op/s] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [189.751µs; 189.829µs] or [-0.021%; +0.021%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5267907.318op/s; 5270065.995op/s] or [-0.020%; +0.020%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.668µs; 37.683µs] or [-0.021%; +0.021%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26537012.508op/s; 26548078.105op/s] or [-0.021%; +0.021%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.155µs; 45.194µs] or [-0.043%; +0.043%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [22127024.466op/s; 22145907.032op/s] or [-0.043%; +0.043%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4cb37b5 1749671903 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.299µs 2.363µs ± 0.019µs 2.361µs ± 0.007µs 2.372µs 2.392µs 2.399µs 2.405µs 1.87% -0.977 2.448 0.78% 0.001µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
tags/replace_trace_tags execution_time [2.360µs; 2.365µs] or [-0.109%; +0.109%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4cb37b5 1749671903 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 149.713µs 150.815µs ± 0.562µs 150.740µs ± 0.141µs 150.894µs 151.465µs 153.201µs 156.177µs 3.61% 5.469 44.581 0.37% 0.040µ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 [150.737µs; 150.893µs] or [-0.052%; +0.052%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4cb37b5 1749671903 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 248.076ns 256.952ns ± 11.408ns 251.809ns ± 2.284ns 259.052ns 288.763ns 293.456ns 296.837ns 17.88% 2.041 3.337 4.43% 0.807ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_trace/test_trace execution_time [255.371ns; 258.533ns] or [-0.615%; +0.615%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4cb37b5 1749671903 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 4.981µs 5.045µs ± 0.032µs 5.055µs ± 0.019µs 5.067µs 5.089µs 5.093µs 5.095µs 0.79% -0.406 -1.071 0.63% 0.002µ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.040µs; 5.049µs] or [-0.087%; +0.087%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4cb37b5 1749671903 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 17.362µs 25.357µs ± 9.281µs 18.070µs ± 0.569µs 34.277µs 42.060µs 44.492µs 54.406µs 201.08% 0.666 -0.953 36.51% 0.656µ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.070µs; 26.643µs] or [-5.073%; +5.073%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4cb37b5 1749671903 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 88.594µs 89.124µs ± 0.260µs 89.085µs ± 0.067µs 89.174µs 89.316µs 89.751µs 92.274µs 3.58% 9.134 106.214 0.29% 0.018µ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.088µs; 89.160µs] or [-0.040%; +0.040%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4cb37b5 1749671903 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.003µs 3.912µs ± 0.002µs 3.914µs 3.918µs 3.921µs 3.922µs 0.24% -0.251 4.331 0.08% 0.000µs 1 200
credit_card/is_card_number/ throughput 255001296.448op/s 255590305.850op/s ± 210318.883op/s 255613257.645op/s ± 129195.602op/s 255738482.248op/s 255838891.099op/s 255929913.870op/s 256775684.698op/s 0.45% 0.267 4.405 0.08% 14871.791op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 76.964µs 78.620µs ± 0.689µs 78.580µs ± 0.405µs 79.045µs 79.781µs 80.319µs 80.597µs 2.57% 0.207 0.051 0.87% 0.049µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12407464.252op/s 12720338.006op/s ± 111255.681op/s 12725806.033op/s ± 65915.085op/s 12788228.585op/s 12901127.700op/s 12966554.524op/s 12993054.445op/s 2.10% -0.155 0.022 0.87% 7866.965op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 69.970µs 71.238µs ± 0.690µs 71.208µs ± 0.472µs 71.651µs 72.348µs 73.345µs 73.722µs 3.53% 0.681 0.803 0.97% 0.049µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13564402.774op/s 14038783.891op/s ± 135141.931op/s 14043357.524op/s ± 92596.451op/s 14137809.451op/s 14231593.015op/s 14287782.211op/s 14291923.381op/s 1.77% -0.615 0.635 0.96% 9555.978op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.890µs 3.912µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.918µs 3.919µs 3.923µs 0.29% -0.825 7.887 0.09% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254880980.753op/s 255622875.773op/s ± 221105.432op/s 255626495.689op/s ± 139995.552op/s 255777496.796op/s 255898399.285op/s 255957958.485op/s 257056145.950op/s 0.56% 0.849 8.036 0.09% 15634.515op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 66.797µs 68.341µs ± 0.661µs 68.288µs ± 0.425µs 68.728µs 69.480µs 69.854µs 70.451µs 3.17% 0.304 -0.119 0.96% 0.047µs 1 200
credit_card/is_card_number/378282246310005 throughput 14194191.890op/s 14633938.569op/s ± 141162.747op/s 14643943.885op/s ± 91038.878op/s 14729576.854op/s 14857573.518op/s 14910901.709op/s 14970620.158op/s 2.23% -0.252 -0.161 0.96% 9981.714op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 52.143µs 52.201µs ± 0.028µs 52.198µs ± 0.017µs 52.216µs 52.248µs 52.276µs 52.313µs 0.22% 0.737 1.336 0.05% 0.002µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 19115555.124op/s 19156905.024op/s ± 10332.663op/s 19157674.949op/s ± 6323.212op/s 19163875.615op/s 19171861.364op/s 19175068.978op/s 19178161.827op/s 0.11% -0.732 1.323 0.05% 730.630op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.028µs 6.036µs ± 0.004µs 6.036µs ± 0.003µs 6.039µs 6.043µs 6.046µs 6.047µs 0.20% 0.406 -0.266 0.06% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 165358270.598op/s 165672380.302op/s ± 107582.120op/s 165682644.743op/s ± 73256.378op/s 165745070.228op/s 165835136.566op/s 165858921.375op/s 165905507.152op/s 0.13% -0.402 -0.270 0.06% 7607.205op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.892µs 3.912µs ± 0.003µs 3.911µs ± 0.002µs 3.913µs 3.916µs 3.918µs 3.918µs 0.18% -1.445 13.218 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255208561.109op/s 255650961.514op/s ± 172066.325op/s 255664849.389op/s ± 98749.797op/s 255761071.934op/s 255853520.155op/s 255897288.683op/s 256913521.763op/s 0.49% 1.472 13.429 0.07% 12166.926op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.114µs 64.457µs ± 0.148µs 64.453µs ± 0.107µs 64.565µs 64.700µs 64.806µs 64.842µs 0.60% 0.249 -0.324 0.23% 0.010µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15422075.515op/s 15514245.894op/s ± 35634.316op/s 15515074.362op/s ± 25695.878op/s 15539656.041op/s 15569751.499op/s 15585907.828op/s 15597278.275op/s 0.53% -0.238 -0.331 0.23% 2519.727op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 58.181µs 58.393µs ± 0.133µs 58.358µs ± 0.060µs 58.430µs 58.674µs 58.750µs 58.912µs 0.95% 1.247 1.241 0.23% 0.009µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 16974572.584op/s 17125325.184op/s ± 38921.859op/s 17135545.503op/s ± 17613.150op/s 17150646.016op/s 17168435.748op/s 17181263.729op/s 17187825.863op/s 0.31% -1.236 1.205 0.23% 2752.191op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.892µs 3.911µs ± 0.003µs 3.911µs ± 0.001µs 3.913µs 3.915µs 3.918µs 3.920µs 0.22% -1.505 12.992 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255112017.821op/s 255671961.994op/s ± 172403.979op/s 255679111.018op/s ± 95719.142op/s 255770061.817op/s 255895043.205op/s 255955365.645op/s 256928090.580op/s 0.49% 1.531 13.191 0.07% 12190.802op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 54.587µs 54.865µs ± 0.204µs 54.789µs ± 0.110µs 54.991µs 55.263µs 55.434µs 55.510µs 1.32% 1.023 0.354 0.37% 0.014µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 18014660.390op/s 18226690.535op/s ± 67630.928op/s 18251860.720op/s ± 36692.643op/s 18279373.555op/s 18301603.337op/s 18311501.448op/s 18319438.756op/s 0.37% -1.009 0.313 0.37% 4782.229op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 52.141µs 52.214µs ± 0.041µs 52.208µs ± 0.028µs 52.239µs 52.292µs 52.313µs 52.355µs 0.28% 0.650 0.342 0.08% 0.003µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 19100250.850op/s 19152023.691op/s ± 14990.572op/s 19154115.359op/s ± 10385.308op/s 19162860.461op/s 19173399.117op/s 19177447.821op/s 19178780.597op/s 0.13% -0.646 0.332 0.08% 1059.994op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.027µs 6.034µs ± 0.004µs 6.033µs ± 0.002µs 6.036µs 6.041µs 6.046µs 6.049µs 0.26% 1.161 1.788 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 165308532.863op/s 165719624.083op/s ± 103304.338op/s 165744626.741op/s ± 56901.835op/s 165785354.590op/s 165849696.769op/s 165898414.504op/s 165918797.118op/s 0.11% -1.156 1.774 0.06% 7304.720op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
credit_card/is_card_number/ execution_time [3.912µs; 3.913µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ throughput [255561157.676op/s; 255619454.025op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [78.525µs; 78.716µs] or [-0.121%; +0.121%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12704919.039op/s; 12735756.974op/s] or [-0.121%; +0.121%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [71.142µs; 71.333µs] or [-0.134%; +0.134%] None None None
credit_card/is_card_number/ 378282246310005 throughput [14020054.519op/s; 14057513.263op/s] or [-0.133%; +0.133%] None None None
credit_card/is_card_number/37828224631 execution_time [3.912µs; 3.912µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number/37828224631 throughput [255592232.687op/s; 255653518.860op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number/378282246310005 execution_time [68.249µs; 68.432µs] or [-0.134%; +0.134%] None None None
credit_card/is_card_number/378282246310005 throughput [14614374.770op/s; 14653502.368op/s] or [-0.134%; +0.134%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [52.197µs; 52.204µs] or [-0.007%; +0.007%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19155473.016op/s; 19158337.031op/s] or [-0.007%; +0.007%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.035µs; 6.037µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/x371413321323331 throughput [165657470.455op/s; 165687290.149op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.911µs; 3.912µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ throughput [255627114.777op/s; 255674808.252op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [64.437µs; 64.478µs] or [-0.032%; +0.032%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15509307.320op/s; 15519184.467op/s] or [-0.032%; +0.032%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [58.375µs; 58.412µs] or [-0.032%; +0.032%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17119930.989op/s; 17130719.380op/s] or [-0.031%; +0.031%] 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 [255648068.461op/s; 255695855.528op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [54.837µs; 54.894µs] or [-0.052%; +0.052%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18217317.539op/s; 18236063.531op/s] or [-0.051%; +0.051%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [52.208µs; 52.220µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19149946.142op/s; 19154101.240op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.034µs; 6.035µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [165705307.096op/s; 165733941.071op/s] or [-0.009%; +0.009%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4cb37b5 1749671903 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.234µs 3.207µs ± 1.428µs 3.004µs ± 0.024µs 3.030µs 3.659µs 13.820µs 14.890µs 395.62% 7.420 55.989 44.43% 0.101µ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.009µs; 3.405µs] or [-6.173%; +6.173%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4cb37b5 1749671903 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.462µs 205.208µs ± 0.429µs 205.159µs ± 0.289µs 205.480µs 205.924µs 206.287µs 207.096µs 0.94% 0.970 1.311 0.21% 0.030µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4828670.295op/s 4873118.797op/s ± 10156.301op/s 4874277.240op/s ± 6868.190op/s 4880866.621op/s 4886009.691op/s 4888718.902op/s 4890890.835op/s 0.34% -0.955 1.253 0.21% 718.159op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.584µs 18.715µs ± 0.068µs 18.703µs ± 0.046µs 18.760µs 18.832µs 18.881µs 18.945µs 1.29% 0.659 0.147 0.36% 0.005µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 52783029.987op/s 53435158.484op/s ± 192754.582op/s 53466316.447op/s ± 130198.788op/s 53586546.446op/s 53693682.872op/s 53753429.660op/s 53808796.370op/s 0.64% -0.640 0.105 0.36% 13629.807op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.817µs 10.902µs ± 0.109µs 10.895µs ± 0.021µs 10.916µs 10.936µs 10.954µs 12.385µs 13.68% 12.674 170.120 1.00% 0.008µs 1 200
normalization/normalize_name/normalize_name/good throughput 80740146.774op/s 91738558.943op/s ± 815988.316op/s 91787859.341op/s ± 174534.667op/s 91954394.259op/s 92192794.005op/s 92311909.180op/s 92448444.114op/s 0.72% -12.315 163.711 0.89% 57699.087op/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.149µs; 205.268µs] or [-0.029%; +0.029%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4871711.232op/s; 4874526.363op/s] or [-0.029%; +0.029%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.705µs; 18.724µs] or [-0.050%; +0.050%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [53408444.553op/s; 53461872.415op/s] or [-0.050%; +0.050%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.886µs; 10.917µs] or [-0.139%; +0.139%] None None None
normalization/normalize_name/normalize_name/good throughput [91625470.810op/s; 91851647.076op/s] or [-0.123%; +0.123%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4cb37b5 1749671903 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.135ms 8.152ms ± 0.010ms 8.149ms ± 0.006ms 8.157ms 8.169ms 8.182ms 8.198ms 0.60% 1.402 3.246 0.12% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
concentrator/add_spans_to_concentrator execution_time [8.150ms; 8.153ms] or [-0.017%; +0.017%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4cb37b5 1749671903 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 72.554ms 72.840ms ± 0.133ms 72.818ms ± 0.058ms 72.881ms 73.069ms 73.326ms 73.619ms 1.10% 2.225 8.145 0.18% 0.009ms 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 [72.822ms; 72.859ms] or [-0.025%; +0.025%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4cb37b5 1749671903 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.121µs 33.808µs ± 1.148µs 33.292µs ± 0.076µs 33.404µs 36.292µs 36.340µs 36.865µs 10.73% 1.694 0.922 3.39% 0.081µ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 [33.649µs; 33.967µs] or [-0.470%; +0.470%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commented May 30, 2025

Codecov Report

Attention: Patch coverage is 49.28367% with 177 lines in your changes missing coverage. Please review.

Project coverage is 70.72%. Comparing base (8320f72) to head (268f7cd).
Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1084      +/-   ##
==========================================
- Coverage   70.96%   70.72%   -0.24%     
==========================================
  Files         330      337       +7     
  Lines       49898    50282     +384     
==========================================
+ Hits        35408    35562     +154     
- Misses      14490    14720     +230     
Components Coverage Δ
datadog-crashtracker 42.44% <ø> (-0.09%) ⬇️
datadog-crashtracker-ffi 6.03% <ø> (ø)
datadog-alloc 98.73% <ø> (ø)
data-pipeline 90.61% <ø> (ø)
data-pipeline-ffi 89.26% <ø> (ø)
ddcommon 79.07% <ø> (-1.01%) ⬇️
ddcommon-ffi 68.64% <ø> (ø)
ddtelemetry 60.56% <ø> (ø)
ddtelemetry-ffi 21.32% <ø> (ø)
dogstatsd-client 83.26% <ø> (ø)
datadog-ipc 82.58% <ø> (ø)
datadog-profiling 75.90% <51.03%> (-1.27%) ⬇️
datadog-profiling-ffi 59.70% <51.03%> (-2.42%) ⬇️
datadog-sidecar 42.15% <ø> (ø)
datdog-sidecar-ffi 9.05% <ø> (ø)
spawn-worker 55.35% <ø> (ø)
tinybytes 90.96% <ø> (ø)
datadog-trace-normalization 98.24% <ø> (ø)
datadog-trace-obfuscation 94.16% <ø> (ø)
datadog-trace-protobuf 77.10% <0.00%> (ø)
datadog-trace-utils 89.28% <ø> (ø)
🚀 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) 🔍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
profiling Relates to the profiling* modules.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants