libdatadog icon indicating copy to clipboard operation
libdatadog copied to clipboard

feat(profiling): `Profile::{try_new2,try_add_sample2}`

Open morrisonlevi opened this issue 2 weeks ago • 4 comments

What does this PR do?

This adds two new methods to libdd_profiling::internal::Profile with supporting types:

  • Profile::try_new2
  • Profile::try_add_sample2

Motivation

These APIs together are faster than the versions that aren't suffixed with 2.

Additional Notes

This doesn't add the FFI API yet, that's coming next.

How to test the change?

Everything should be the same. There is a benchmark you can run to compare some basic API level tests. Here is what I got locally on my M1:

profile_add_sample_frames_x1000
                        time:   [679.01 µs 681.72 µs 685.57 µs]
Found 4 outliers among 100 measurements (4.00%)
  2 (2.00%) high mild
  2 (2.00%) high severe

profile_add_sample2_frames_x1000
                        time:   [231.41 µs 235.60 µs 240.77 µs]
Found 10 outliers among 100 measurements (10.00%)
  3 (3.00%) high mild
  7 (7.00%) high severe

In this basic benchmarking test, it's roughly 3x faster.

morrisonlevi avatar Nov 17 '25 23:11 morrisonlevi

Benchmarks

Comparison

Benchmark execution time: 2025-12-03 22:44:58

Comparing candidate commit b38db9c7 in PR branch levi/try_add_sample2 with baseline commit 7ce9a60b in branch main.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 55 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 b38db9c7 1764800996 levi/try_add_sample2
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 243.595ns 255.574ns ± 15.416ns 247.886ns ± 3.139ns 264.447ns 287.944ns 301.945ns 304.187ns 22.71% 1.511 1.274 6.02% 1.090ns 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 [253.437ns; 257.711ns] or [-0.836%; +0.836%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b38db9c7 1764800996 levi/try_add_sample2
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.896µs 3.914µs ± 0.002µs 3.914µs ± 0.001µs 3.916µs 3.918µs 3.919µs 3.919µs 0.15% -1.751 13.370 0.06% 0.000µs 1 200
credit_card/is_card_number/ throughput 255141602.591op/s 255497342.715op/s ± 159338.097op/s 255514308.802op/s ± 91179.585op/s 255582764.089op/s 255713447.865op/s 255764632.762op/s 256676914.991op/s 0.46% 1.774 13.568 0.06% 11266.905op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 77.897µs 78.625µs ± 0.635µs 78.507µs ± 0.474µs 78.993µs 80.017µs 80.701µs 80.827µs 2.96% 1.202 1.363 0.81% 0.045µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12372102.185op/s 12719369.716op/s ± 101734.644op/s 12737753.149op/s ± 77281.408op/s 12813162.965op/s 12830054.788op/s 12833488.902op/s 12837534.383op/s 0.78% -1.156 1.211 0.80% 7193.726op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 71.441µs 71.876µs ± 0.455µs 71.752µs ± 0.112µs 71.880µs 72.704µs 74.101µs 74.204µs 3.42% 3.103 11.053 0.63% 0.032µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13476353.314op/s 13913472.079op/s ± 86416.392op/s 13936869.292op/s ± 21795.222op/s 13956073.060op/s 13979059.767op/s 13991550.229op/s 13997609.531op/s 0.44% -3.039 10.603 0.62% 6110.562op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.897µs 3.917µs ± 0.009µs 3.915µs ± 0.002µs 3.918µs 3.922µs 3.926µs 3.999µs 2.13% 7.737 69.086 0.22% 0.001µs 1 200
credit_card/is_card_number/37828224631 throughput 250082292.245op/s 255329686.706op/s ± 560895.299op/s 255406380.807op/s ± 138573.693op/s 255521853.507op/s 255664916.684op/s 255784217.704op/s 256635896.140op/s 0.48% -7.662 68.218 0.22% 39661.287op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 68.237µs 68.628µs ± 0.529µs 68.382µs ± 0.102µs 68.789µs 69.891µs 70.512µs 71.094µs 3.97% 2.217 5.143 0.77% 0.037µs 1 200
credit_card/is_card_number/378282246310005 throughput 14065884.603op/s 14572120.825op/s ± 110485.957op/s 14623758.516op/s ± 21834.795op/s 14639276.814op/s 14648963.795op/s 14653928.862op/s 14654717.785op/s 0.21% -2.167 4.835 0.76% 7812.537op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 45.420µs 45.649µs ± 0.078µs 45.648µs ± 0.056µs 45.704µs 45.781µs 45.811µs 45.846µs 0.43% -0.018 -0.319 0.17% 0.006µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 21811929.970op/s 21906289.706op/s ± 37621.688op/s 21906590.659op/s ± 27025.481op/s 21934226.721op/s 21968968.839op/s 21982878.222op/s 22016719.436op/s 0.50% 0.026 -0.317 0.17% 2660.255op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.553µs 6.616µs ± 0.019µs 6.618µs ± 0.013µs 6.631µs 6.638µs 6.642µs 6.681µs 0.96% -0.704 1.221 0.28% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 149674206.175op/s 151146557.666op/s ± 424105.811op/s 151104932.464op/s ± 287210.131op/s 151353839.871op/s 151936621.279op/s 152299806.187op/s 152603155.494op/s 0.99% 0.727 1.240 0.28% 29988.810op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.895µs 3.915µs ± 0.003µs 3.915µs ± 0.001µs 3.917µs 3.919µs 3.922µs 3.932µs 0.43% -0.399 13.283 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254320029.993op/s 255404921.719op/s ± 197414.925op/s 255415644.208op/s ± 96322.951op/s 255508041.575op/s 255643047.521op/s 255693990.047op/s 256733680.121op/s 0.52% 0.434 13.387 0.08% 13959.343op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 65.600µs 65.712µs ± 0.056µs 65.704µs ± 0.039µs 65.749µs 65.804µs 65.882µs 65.914µs 0.32% 0.534 0.478 0.09% 0.004µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15171175.481op/s 15218007.399op/s ± 13040.606op/s 15219753.852op/s ± 9102.262op/s 15227610.985op/s 15237107.999op/s 15241554.252op/s 15243944.966op/s 0.16% -0.528 0.464 0.09% 922.110op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 53.349µs 53.431µs ± 0.059µs 53.418µs ± 0.021µs 53.443µs 53.517µs 53.583µs 53.871µs 0.85% 4.397 27.985 0.11% 0.004µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18562940.117op/s 18715751.297op/s ± 20677.937op/s 18720158.524op/s ± 7457.368op/s 18726437.404op/s 18732854.985op/s 18737518.378op/s 18744392.884op/s 0.13% -4.362 27.622 0.11% 1462.151op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.901µs 3.915µs ± 0.005µs 3.914µs ± 0.001µs 3.916µs 3.919µs 3.925µs 3.958µs 1.12% 6.122 50.301 0.12% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 252657452.070op/s 255439572.983op/s ± 315227.975op/s 255475985.262op/s ± 89741.527op/s 255562395.559op/s 255670337.806op/s 255698538.668op/s 256371998.077op/s 0.35% -6.067 49.719 0.12% 22289.984op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 50.153µs 50.216µs ± 0.033µs 50.214µs ± 0.021µs 50.234µs 50.266µs 50.321µs 50.385µs 0.34% 1.190 3.653 0.07% 0.002µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 19847088.110op/s 19913851.852op/s ± 13172.186op/s 19914587.331op/s ± 8209.456op/s 19923034.330op/s 19931347.967op/s 19938075.388op/s 19939137.776op/s 0.12% -1.182 3.615 0.07% 931.414op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 45.462µs 45.645µs ± 0.079µs 45.641µs ± 0.053µs 45.702µs 45.767µs 45.818µs 45.874µs 0.51% 0.120 -0.302 0.17% 0.006µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 21798916.245op/s 21908409.332op/s ± 37869.628op/s 21910160.850op/s ± 25670.901op/s 21933482.010op/s 21967212.987op/s 21991499.351op/s 21996394.801op/s 0.39% -0.111 -0.305 0.17% 2677.787op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.559µs 6.618µs ± 0.018µs 6.620µs ± 0.012µs 6.632µs 6.641µs 6.648µs 6.652µs 0.48% -0.732 0.350 0.27% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 150331698.497op/s 151100948.856op/s ± 407874.511op/s 151050216.422op/s ± 278760.830op/s 151338039.337op/s 151858830.673op/s 152218353.407op/s 152469824.730op/s 0.94% 0.747 0.383 0.27% 28841.083op/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.914µs; 3.914µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ throughput [255475259.988op/s; 255519425.443op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [78.537µs; 78.713µs] or [-0.112%; +0.112%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12705270.273op/s; 12733469.159op/s] or [-0.111%; +0.111%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [71.813µs; 71.939µs] or [-0.088%; +0.088%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13901495.599op/s; 13925448.560op/s] or [-0.086%; +0.086%] None None None
credit_card/is_card_number/37828224631 execution_time [3.915µs; 3.918µs] or [-0.031%; +0.031%] None None None
credit_card/is_card_number/37828224631 throughput [255251952.012op/s; 255407421.400op/s] or [-0.030%; +0.030%] None None None
credit_card/is_card_number/378282246310005 execution_time [68.555µs; 68.702µs] or [-0.107%; +0.107%] None None None
credit_card/is_card_number/378282246310005 throughput [14556808.534op/s; 14587433.116op/s] or [-0.105%; +0.105%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [45.638µs; 45.660µs] or [-0.024%; +0.024%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [21901075.702op/s; 21911503.710op/s] or [-0.024%; +0.024%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.614µs; 6.619µs] or [-0.039%; +0.039%] None None None
credit_card/is_card_number/x371413321323331 throughput [151087780.680op/s; 151205334.653op/s] or [-0.039%; +0.039%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.915µs; 3.916µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ throughput [255377561.909op/s; 255432281.529op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.704µs; 65.719µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15216200.096op/s; 15219814.701op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [53.423µs; 53.439µs] or [-0.015%; +0.015%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18712885.534op/s; 18718617.060op/s] or [-0.015%; +0.015%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.914µs; 3.916µs] or [-0.017%; +0.017%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255395885.417op/s; 255483260.548op/s] or [-0.017%; +0.017%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [50.212µs; 50.221µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [19912026.313op/s; 19915677.390op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [45.634µs; 45.656µs] or [-0.024%; +0.024%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [21903160.966op/s; 21913657.698op/s] or [-0.024%; +0.024%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.616µs; 6.621µs] or [-0.037%; +0.037%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [151044421.372op/s; 151157476.341op/s] or [-0.037%; +0.037%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b38db9c7 1764800996 levi/try_add_sample2
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 148.121µs 150.161µs ± 1.620µs 149.924µs ± 0.576µs 150.512µs 151.538µs 155.179µs 165.407µs 10.33% 5.554 44.101 1.08% 0.115µ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 [149.937µs; 150.386µs] or [-0.150%; +0.150%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b38db9c7 1764800996 levi/try_add_sample2
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 86.904µs 87.139µs ± 0.231µs 87.124µs ± 0.046µs 87.166µs 87.243µs 87.575µs 90.113µs 3.43% 10.803 135.792 0.26% 0.016µ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.107µs; 87.171µs] or [-0.037%; +0.037%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b38db9c7 1764800996 levi/try_add_sample2
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 61.187ms 61.797ms ± 2.273ms 61.443ms ± 0.090ms 61.636ms 62.026ms 77.897ms 81.471ms 32.60% 7.938 62.076 3.67% 0.161ms 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 [61.482ms; 62.112ms] or [-0.510%; +0.510%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b38db9c7 1764800996 levi/try_add_sample2
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.003µs 34.442µs ± 0.690µs 34.142µs ± 0.035µs 34.179µs 35.845µs 35.939µs 37.939µs 11.12% 1.982 3.238 2.00% 0.049µ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.347µs; 34.538µs] or [-0.278%; +0.278%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b38db9c7 1764800996 levi/try_add_sample2
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.829ms 14.894ms ± 0.031ms 14.891ms ± 0.015ms 14.905ms 14.955ms 15.014ms 15.030ms 0.93% 1.660 4.571 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.890ms; 14.899ms] or [-0.029%; +0.029%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b38db9c7 1764800996 levi/try_add_sample2
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 159.059µs 160.107µs ± 0.338µs 160.062µs ± 0.121µs 160.208µs 160.561µs 160.772µs 163.157µs 1.93% 3.681 32.918 0.21% 0.024µ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 [160.061µs; 160.154µs] or [-0.029%; +0.029%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b38db9c7 1764800996 levi/try_add_sample2
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample_frames_x1000 execution_time 3.927ms 3.931ms ± 0.006ms 3.931ms ± 0.001ms 3.932ms 3.935ms 3.939ms 4.015ms 2.14% 11.835 154.246 0.16% 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 [3.931ms; 3.932ms] or [-0.022%; +0.022%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b38db9c7 1764800996 levi/try_add_sample2
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.406µs 2.442µs ± 0.015µs 2.441µs ± 0.012µs 2.451µs 2.471µs 2.482µs 2.490µs 2.00% 0.529 -0.116 0.63% 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.440µs; 2.444µs] or [-0.087%; +0.087%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b38db9c7 1764800996 levi/try_add_sample2
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 526.295µs 526.978µs ± 0.556µs 526.896µs ± 0.248µs 527.146µs 527.775µs 528.156µs 532.434µs 1.05% 4.996 44.703 0.11% 0.039µ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 [526.901µs; 527.055µs] or [-0.015%; +0.015%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b38db9c7 1764800996 levi/try_add_sample2
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.598ms 10.630ms ± 0.015ms 10.629ms ± 0.010ms 10.639ms 10.654ms 10.668ms 10.701ms 0.68% 1.143 3.094 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.628ms; 10.632ms] or [-0.020%; +0.020%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b38db9c7 1764800996 levi/try_add_sample2
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.165µs 3.295µs ± 1.460µs 3.088µs ± 0.032µs 3.114µs 3.765µs 14.084µs 15.151µs 390.63% 7.341 55.077 44.20% 0.103µ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.093µs; 3.498µs] or [-6.141%; +6.141%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b38db9c7 1764800996 levi/try_add_sample2
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 533.744µs 534.646µs ± 0.781µs 534.530µs ± 0.284µs 534.867µs 535.533µs 536.061µs 543.536µs 1.68% 7.556 82.096 0.15% 0.055µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1839805.136op/s 1870399.066op/s ± 2703.725op/s 1870803.931op/s ± 993.561op/s 1871654.899op/s 1872781.429op/s 1873207.443op/s 1873557.774op/s 0.15% -7.439 80.274 0.14% 191.182op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.269µs 381.171µs ± 0.416µs 381.094µs ± 0.253µs 381.381µs 381.888µs 382.183µs 383.887µs 0.73% 1.746 8.375 0.11% 0.029µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2604932.042op/s 2623500.027op/s ± 2855.238op/s 2624021.975op/s ± 1739.782op/s 2625410.060op/s 2627318.768op/s 2628234.511op/s 2629718.888op/s 0.22% -1.722 8.196 0.11% 201.896op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 194.496µs 194.923µs ± 0.392µs 194.884µs ± 0.108µs 195.001µs 195.264µs 195.373µs 199.828µs 2.54% 9.865 120.568 0.20% 0.028µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5004304.343op/s 5130255.068op/s ± 10126.603op/s 5131259.932op/s ± 2849.591op/s 5134053.764op/s 5137198.671op/s 5140334.879op/s 5141482.390op/s 0.20% -9.713 118.023 0.20% 716.059op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.865µs 37.015µs ± 0.065µs 37.007µs ± 0.044µs 37.056µs 37.115µs 37.229µs 37.259µs 0.68% 0.681 0.982 0.18% 0.005µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26839148.768op/s 27016201.183op/s ± 47672.901op/s 27021889.302op/s ± 32208.553op/s 27051907.859op/s 27081861.840op/s 27104567.564op/s 27125812.040op/s 0.38% -0.668 0.946 0.18% 3370.983op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 44.989µs 45.120µs ± 0.067µs 45.115µs ± 0.048µs 45.165µs 45.232µs 45.277µs 45.355µs 0.53% 0.422 0.001 0.15% 0.005µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 22048296.089op/s 22163182.617op/s ± 33048.589op/s 22165420.060op/s ± 23668.031op/s 22188848.464op/s 22213424.289op/s 22225385.058op/s 22227818.588op/s 0.28% -0.414 -0.013 0.15% 2336.888op/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 [534.538µs; 534.755µs] or [-0.020%; +0.020%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1870024.356op/s; 1870773.776op/s] or [-0.020%; +0.020%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [381.113µs; 381.228µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2623104.318op/s; 2623895.735op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [194.868µs; 194.977µs] or [-0.028%; +0.028%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5128851.618op/s; 5131658.517op/s] or [-0.027%; +0.027%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.006µs; 37.024µs] or [-0.024%; +0.024%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [27009594.177op/s; 27022808.189op/s] or [-0.024%; +0.024%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.111µs; 45.129µs] or [-0.021%; +0.021%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [22158602.401op/s; 22167762.834op/s] or [-0.021%; +0.021%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b38db9c7 1764800996 levi/try_add_sample2
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.125µs 25.299µs ± 9.259µs 18.336µs ± 0.132µs 32.897µs 41.659µs 43.272µs 85.927µs 368.61% 1.811 7.478 36.51% 0.655µ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.016µs; 26.582µs] or [-5.072%; +5.072%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b38db9c7 1764800996 levi/try_add_sample2
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 205.824µs 206.282µs ± 0.353µs 206.227µs ± 0.125µs 206.377µs 206.645µs 207.649µs 209.144µs 1.41% 4.510 29.429 0.17% 0.025µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4781391.548op/s 4847742.839op/s ± 8241.001op/s 4849022.730op/s ± 2926.876op/s 4851825.098op/s 4855693.259op/s 4857403.452op/s 4858518.625op/s 0.20% -4.453 28.840 0.17% 582.727op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.210µs 18.280µs ± 0.048µs 18.269µs ± 0.015µs 18.288µs 18.362µs 18.467µs 18.567µs 1.63% 2.886 10.733 0.26% 0.003µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 53859679.693op/s 54706369.457op/s ± 142863.061op/s 54739019.079op/s ± 45172.049op/s 54778825.315op/s 54835993.148op/s 54872875.296op/s 54915490.137op/s 0.32% -2.851 10.489 0.26% 10101.944op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.627µs 10.817µs ± 0.069µs 10.813µs ± 0.047µs 10.864µs 10.925µs 10.972µs 11.026µs 1.97% 0.169 0.030 0.64% 0.005µs 1 200
normalization/normalize_name/normalize_name/good throughput 90695923.776op/s 92448622.877op/s ± 590249.890op/s 92481733.677op/s ± 398875.950op/s 92858220.681op/s 93293394.334op/s 93812273.027op/s 94095575.047op/s 1.75% -0.130 0.026 0.64% 41736.970op/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 [206.233µs; 206.331µs] or [-0.024%; +0.024%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4846600.716op/s; 4848884.963op/s] or [-0.024%; +0.024%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.273µs; 18.286µs] or [-0.036%; +0.036%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [54686570.011op/s; 54726168.903op/s] or [-0.036%; +0.036%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.808µs; 10.827µs] or [-0.089%; +0.089%] None None None
normalization/normalize_name/normalize_name/good throughput [92366819.919op/s; 92530425.835op/s] or [-0.088%; +0.088%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b38db9c7 1764800996 levi/try_add_sample2
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 189.387ns 192.300ns ± 2.079ns 192.210ns ± 1.342ns 193.169ns 196.083ns 199.296ns 200.212ns 4.16% 1.193 1.752 1.08% 0.147ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
single_flag_killswitch/rules-based execution_time [192.012ns; 192.588ns] or [-0.150%; +0.150%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b38db9c7 1764800996 levi/try_add_sample2
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.022µs 5.118µs ± 0.046µs 5.142µs ± 0.025µs 5.155µs 5.171µs 5.176µs 5.180µs 0.75% -0.571 -1.167 0.89% 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.112µs; 5.125µs] or [-0.124%; +0.124%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b38db9c7 1764800996 levi/try_add_sample2
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 6.174ms 6.423ms ± 0.045ms 6.425ms ± 0.017ms 6.444ms 6.473ms 6.549ms 6.559ms 2.08% -2.121 11.016 0.70% 0.003ms 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 [6.416ms; 6.429ms] or [-0.098%; +0.098%] None None None

Baseline

Omitted due to size.

pr-commenter[bot] avatar Nov 17 '25 23:11 pr-commenter[bot]

Codecov Report

:x: Patch coverage is 92.09184% with 31 lines in your changes missing coverage. Please review. :white_check_mark: Project coverage is 71.33%. Comparing base (7ce9a60) to head (b38db9c).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1351      +/-   ##
==========================================
+ Coverage   71.17%   71.33%   +0.15%     
==========================================
  Files         399      402       +3     
  Lines       63559    63951     +392     
==========================================
+ Hits        45239    45618     +379     
- Misses      18320    18333      +13     
Components Coverage Δ
libdd-crashtracker 59.95% <ø> (ø)
libdd-crashtracker-ffi 15.43% <ø> (ø)
libdd-alloc 98.73% <ø> (ø)
libdd-data-pipeline 86.00% <ø> (ø)
libdd-data-pipeline-ffi 77.63% <ø> (ø)
libdd-common 81.15% <ø> (ø)
libdd-common-ffi 74.96% <ø> (ø)
libdd-telemetry 59.98% <ø> (-0.04%) :arrow_down:
libdd-telemetry-ffi 21.24% <ø> (ø)
libdd-dogstatsd-client 83.75% <ø> (ø)
datadog-ipc 82.61% <ø> (-0.11%) :arrow_down:
libdd-profiling 80.32% <92.09%> (+0.65%) :arrow_up:
libdd-profiling-ffi 62.13% <ø> (ø)
datadog-sidecar 36.37% <ø> (ø)
datdog-sidecar-ffi 13.32% <ø> (ø)
spawn-worker 55.18% <ø> (ø)
libdd-tinybytes 92.44% <ø> (ø)
libdd-trace-normalization 98.24% <ø> (ø)
datadog-trace-obfuscation 94.17% <ø> (ø)
libdd-trace-protobuf 59.65% <ø> (ø)
libdd-trace-utils 90.06% <ø> (ø)
datadog-tracer-flare 61.06% <ø> (ø)
libdd-log 75.57% <ø> (ø)
:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

codecov-commenter avatar Nov 17 '25 23:11 codecov-commenter

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: b38db9c | Docs | Datadog PR Page | Was this helpful? Give us feedback!

datadog-official[bot] avatar Nov 18 '25 05:11 datadog-official[bot]

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 7.44 MB 7.44 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 86.25 MB 86.30 MB +.05% (+51.13 KB) 🔍
aarch64-apple-darwin
Artifact Baseline Commit Change
/aarch64-apple-darwin/lib/libdatadog_profiling.a 58.31 MB 58.37 MB +.09% (+56.82 KB) 🔍
/aarch64-apple-darwin/lib/libdatadog_profiling.dylib 8.43 MB 8.45 MB +.21% (+18.48 KB) 🔍
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 100.03 MB 100.09 MB +.05% (+55.67 KB) 🔍
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 9.54 MB 9.60 MB +.68% (+67.10 KB) 🔍
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 19.69 MB 19.71 MB +.14% (+28.50 KB) 🔍
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 69.82 KB 69.82 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 139.75 MB 140.12 MB +.26% (+384.00 KB) 🔍
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 742.48 MB 744.60 MB +.28% (+2.12 MB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 6.37 MB 6.37 MB +.06% (+4.00 KB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 69.82 KB 69.82 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 19.73 MB 19.74 MB +.07% (+16.00 KB) 🔍
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 38.75 MB 38.78 MB +.07% (+30.08 KB) 🔍
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 16.80 MB 16.82 MB +.13% (+24.00 KB) 🔍
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 70.90 KB 70.90 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 142.34 MB 142.73 MB +.26% (+392.00 KB) 🔍
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 730.73 MB 733.11 MB +.32% (+2.38 MB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 4.88 MB 4.89 MB +.05% (+3.00 KB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 70.90 KB 70.90 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 20.97 MB 20.98 MB +.07% (+16.00 KB) 🔍
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 36.51 MB 36.54 MB +.07% (+28.47 KB) 🔍
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 74.59 MB 74.64 MB +.06% (+51.24 KB) 🔍
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 8.86 MB 8.86 MB 0% (0 B) 👌
x86_64-apple-darwin
Artifact Baseline Commit Change
/x86_64-apple-darwin/lib/libdatadog_profiling.a 59.67 MB 59.73 MB +.09% (+56.77 KB) 🔍
/x86_64-apple-darwin/lib/libdatadog_profiling.dylib 9.49 MB 9.49 MB +.06% (+6.32 KB) 🔍
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 94.25 MB 94.31 MB +.05% (+53.90 KB) 🔍
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.30 MB 10.30 MB +.02% (+2.43 KB) 🔍

dd-octo-sts[bot] avatar Nov 18 '25 05:11 dd-octo-sts[bot]