Skip to content

Conversation

@ivoanjo
Copy link
Member

@ivoanjo ivoanjo commented May 30, 2025

What does this PR do?

This PR includes the changes documented in the "Releasing a new version to rubygems.org" part of the README: https://github.com/datadog/libdatadog/tree/main/ruby#releasing-a-new-version-to-rubygemsorg

It also includes an updated to the gem_packaging.rb test to add the new INTERNED_EMPTY_STRING public symbol added in #917 .

Motivation:

Enable Ruby to use libdatadog v18.1.0. This includes A LOT of changes to profiling, crashtracking, configuration, process discovery etc that have been pending for Ruby for too long.

Additional Notes

The INTERNED_EMPTY_STRING new symbol seems ok to have (e.g. I don't expect it to clash with other libraries), but just in case I will discuss with @danielsn prefixing it with ddog_.

Also it's cool to see our tests working! A new symbol that's not prefixed with the expected strings showed up, and we caught it :)

How to test the change?

I've tested this release locally using the changes in DataDog/dd-trace-rb#4577 .

As a reminder, new libdatadog releases don't get automatically picked up by dd-trace-rb, so the PR that bumps the dependency will also test this release against all supported Ruby versions.

**What does this PR do?**

This PR includes the changes documented in the "Releasing a new version to rubygems.org" part of the README:
https://github.com/datadog/libdatadog/tree/main/ruby#releasing-a-new-version-to-rubygemsorg

It also includes an updated to the `gem_packaging.rb` test to add the
new `INTERNED_EMPTY_STRING` public symbol added in #917 .

**Motivation:**

Enable Ruby to use libdatadog v18.1.0. This includes A LOT of changes
to profiling, crashtracking, configuration, process discovery etc
that have been pending for Ruby for too long.

**Additional Notes:**

The `INTERNED_EMPTY_STRING` new symbol seems ok to have (e.g. I don't
expect it to clash with other libraries), but just in case I will
discuss with @danielsn prefixing it with `ddog_`.

Also it's cool to see our tests working! A new symbol that's not
prefixed with the expected strings showed up, and we caught it :)

**How to test the change?**

I've tested this release locally using the changes in
DataDog/dd-trace-rb#4577 .

As a reminder, new libdatadog releases don't get automatically picked up
by dd-trace-rb, so the PR that bumps the dependency will also test
this release against all supported Ruby versions.
Copy link
Contributor

@gleocadie gleocadie left a comment

Choose a reason for hiding this comment

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

LGTM

@ivoanjo ivoanjo enabled auto-merge (squash) May 30, 2025 11:16
@pr-commenter
Copy link

pr-commenter bot commented May 30, 2025

Benchmarks

Comparison

Benchmark execution time: 2025-05-30 11:19:25

Comparing candidate commit d21000d in PR branch ivoanjo/prof-11524-libdatadog18_1-ruby with baseline commit 5fdc335 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 d21000d 1748602879 ivoanjo/prof-11524-libdatadog18_1-ruby
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 217.762µs 218.492µs ± 0.375µs 218.398µs ± 0.281µs 218.764µs 219.189µs 219.364µs 219.436µs 0.48% 0.487 -0.721 0.17% 0.027µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4557136.795op/s 4576837.814op/s ± 7847.413op/s 4578791.118op/s ± 5896.352op/s 4583300.705op/s 4587133.569op/s 4588366.390op/s 4592159.792op/s 0.29% -0.482 -0.728 0.17% 554.896op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.559µs 17.652µs ± 0.045µs 17.648µs ± 0.029µs 17.674µs 17.741µs 17.767µs 17.804µs 0.88% 0.618 0.353 0.25% 0.003µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 56168399.470op/s 56652754.365op/s ± 142829.661op/s 56664454.058op/s ± 94032.240op/s 56761634.296op/s 56853481.798op/s 56922256.681op/s 56951996.167op/s 0.51% -0.603 0.326 0.25% 10099.582op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.237µs 10.279µs ± 0.022µs 10.275µs ± 0.014µs 10.292µs 10.320µs 10.341µs 10.356µs 0.79% 0.701 0.457 0.22% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 96558108.817op/s 97290319.553op/s ± 212014.564op/s 97325155.544op/s ± 134132.887op/s 97434624.461op/s 97596441.769op/s 97656220.917op/s 97688000.931op/s 0.37% -0.688 0.428 0.22% 14991.694op/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 [218.440µs; 218.544µ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 [4575750.238op/s; 4577925.390op/s] or [-0.024%; +0.024%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [17.645µs; 17.658µs] or [-0.035%; +0.035%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [56632959.548op/s; 56672549.183op/s] or [-0.035%; +0.035%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.275µs; 10.282µs] or [-0.030%; +0.030%] None None None
normalization/normalize_name/normalize_name/good throughput [97260936.373op/s; 97319702.732op/s] or [-0.030%; +0.030%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d21000d 1748602879 ivoanjo/prof-11524-libdatadog18_1-ruby
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.081µs 5.141µs ± 0.041µs 5.129µs ± 0.025µs 5.165µs 5.222µs 5.224µs 5.228µs 1.94% 0.795 -0.661 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.135µs; 5.147µs] or [-0.112%; +0.112%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d21000d 1748602879 ivoanjo/prof-11524-libdatadog18_1-ruby
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 65.538µs 65.784µs ± 0.249µs 65.763µs ± 0.057µs 65.821µs 65.911µs 66.130µs 68.950µs 4.85% 10.450 129.673 0.38% 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 [65.749µs; 65.818µ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 d21000d 1748602879 ivoanjo/prof-11524-libdatadog18_1-ruby
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.385ns 257.529ns ± 12.838ns 252.021ns ± 2.855ns 258.157ns 284.064ns 303.651ns 308.405ns 22.37% 2.192 4.445 4.97% 0.908ns 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.750ns; 259.309ns] or [-0.691%; +0.691%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d21000d 1748602879 ivoanjo/prof-11524-libdatadog18_1-ruby
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.258µs 3.170µs ± 1.432µs 2.981µs ± 0.026µs 3.002µs 3.634µs 13.957µs 15.018µs 403.77% 7.414 55.856 45.05% 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 [2.971µs; 3.368µs] or [-6.260%; +6.260%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d21000d 1748602879 ivoanjo/prof-11524-libdatadog18_1-ruby
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.963ms 73.323ms ± 0.176ms 73.301ms ± 0.079ms 73.398ms 73.658ms 73.936ms 73.945ms 0.88% 1.125 2.500 0.24% 0.012ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching deserializing traces from msgpack to their internal representation execution_time [73.298ms; 73.347ms] or [-0.033%; +0.033%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d21000d 1748602879 ivoanjo/prof-11524-libdatadog18_1-ruby
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
concentrator/add_spans_to_concentrator execution_time 5.910ms 5.926ms ± 0.011ms 5.925ms ± 0.004ms 5.929ms 5.934ms 5.938ms 6.024ms 1.67% 6.346 53.018 0.18% 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 [5.924ms; 5.927ms] or [-0.026%; +0.026%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d21000d 1748602879 ivoanjo/prof-11524-libdatadog18_1-ruby
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 31.811µs 32.776µs ± 1.277µs 32.025µs ± 0.161µs 34.309µs 34.993µs 35.080µs 35.987µs 12.37% 0.951 -0.953 3.89% 0.090µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
redis/obfuscate_redis_string execution_time [32.599µs; 32.953µs] or [-0.540%; +0.540%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d21000d 1748602879 ivoanjo/prof-11524-libdatadog18_1-ruby
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 145.598µs 146.385µs ± 0.266µs 146.369µs ± 0.152µs 146.542µs 146.737µs 147.128µs 147.838µs 1.00% 1.126 6.012 0.18% 0.019µ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 [146.348µs; 146.422µs] or [-0.025%; +0.025%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d21000d 1748602879 ivoanjo/prof-11524-libdatadog18_1-ruby
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.989µs 25.214µs ± 10.071µs 18.179µs ± 0.129µs 34.680µs 43.780µs 50.609µs 71.109µs 291.15% 1.309 1.640 39.84% 0.712µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [23.818µs; 26.609µs] or [-5.536%; +5.536%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d21000d 1748602879 ivoanjo/prof-11524-libdatadog18_1-ruby
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.375µs 2.425µs ± 0.014µs 2.425µs ± 0.005µs 2.431µs 2.448µs 2.457µs 2.469µs 1.81% -0.493 1.774 0.58% 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.423µs; 2.427µs] or [-0.080%; +0.080%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d21000d 1748602879 ivoanjo/prof-11524-libdatadog18_1-ruby
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 437.509µs 438.365µs ± 1.207µs 438.159µs ± 0.267µs 438.453µs 439.080µs 441.454µs 449.236µs 2.53% 7.400 62.748 0.27% 0.085µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 2226001.230op/s 2281222.878op/s ± 6156.721op/s 2282276.655op/s ± 1390.159op/s 2283588.917op/s 2284919.734op/s 2285495.620op/s 2285664.915op/s 0.15% -7.318 61.712 0.27% 435.346op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 452.567µs 453.412µs ± 0.439µs 453.335µs ± 0.245µs 453.669µs 454.039µs 454.484µs 456.791µs 0.76% 2.572 16.214 0.10% 0.031µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2189183.790op/s 2205502.497op/s ± 2129.946op/s 2205872.297op/s ± 1192.296op/s 2206855.519op/s 2208113.055op/s 2208891.679op/s 2209619.779op/s 0.17% -2.539 15.884 0.10% 150.610op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 178.582µs 179.037µs ± 0.337µs 178.922µs ± 0.153µs 179.154µs 179.722µs 180.017µs 180.199µs 0.71% 1.372 1.272 0.19% 0.024µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5549424.119op/s 5585447.910op/s ± 10481.705op/s 5589031.050op/s ± 4769.273op/s 5592993.753op/s 5596096.928op/s 5598242.261op/s 5599670.794op/s 0.19% -1.365 1.246 0.19% 741.168op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 39.053µs 39.139µs ± 0.047µs 39.135µs ± 0.030µs 39.165µs 39.233µs 39.274µs 39.349µs 0.55% 0.998 1.931 0.12% 0.003µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 25413394.875op/s 25549964.057op/s ± 30636.749op/s 25552315.503op/s ± 19811.232op/s 25572398.270op/s 25590830.887op/s 25602617.566op/s 25606054.095op/s 0.21% -0.987 1.892 0.12% 2166.345op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 46.989µs 47.107µs ± 0.073µs 47.089µs ± 0.044µs 47.154µs 47.245µs 47.304µs 47.359µs 0.57% 0.923 0.565 0.15% 0.005µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21115233.172op/s 21228250.816op/s ± 32659.964op/s 21236296.386op/s ± 19750.044op/s 21251919.387op/s 21268678.032op/s 21280042.778op/s 21281463.313op/s 0.21% -0.916 0.544 0.15% 2309.408op/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 [438.197µs; 438.532µs] or [-0.038%; +0.038%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [2280369.616op/s; 2282076.140op/s] or [-0.037%; +0.037%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [453.351µs; 453.473µs] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2205207.307op/s; 2205797.687op/s] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [178.991µs; 179.084µs] or [-0.026%; +0.026%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5583995.246op/s; 5586900.573op/s] or [-0.026%; +0.026%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [39.133µs; 39.146µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [25545718.098op/s; 25554210.016op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [47.097µs; 47.117µs] or [-0.021%; +0.021%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21223724.459op/s; 21232777.173op/s] or [-0.021%; +0.021%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d21000d 1748602879 ivoanjo/prof-11524-libdatadog18_1-ruby
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.893µs 3.911µs ± 0.003µs 3.912µs ± 0.002µs 3.913µs 3.917µs 3.918µs 3.920µs 0.20% -0.655 4.050 0.08% 0.000µs 1 200
credit_card/is_card_number/ throughput 255127509.398op/s 255661629.387op/s ± 207180.718op/s 255648553.817op/s ± 136585.069op/s 255795881.687op/s 255951744.831op/s 256003888.665op/s 256843400.631op/s 0.47% 0.668 4.125 0.08% 14649.889op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 76.638µs 77.504µs ± 0.437µs 77.378µs ± 0.251µs 77.725µs 78.320µs 78.896µs 79.131µs 2.27% 1.075 1.274 0.56% 0.031µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12637311.987op/s 12902960.732op/s ± 72359.455op/s 12923634.096op/s ± 41852.259op/s 12952322.253op/s 12991056.393op/s 13013708.160op/s 13048316.297op/s 0.96% -1.039 1.167 0.56% 5116.586op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 70.836µs 71.340µs ± 0.263µs 71.310µs ± 0.156µs 71.470µs 71.831µs 72.080µs 72.467µs 1.62% 1.060 2.122 0.37% 0.019µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13799449.373op/s 14017667.474op/s ± 51390.809op/s 14023199.162op/s ± 30738.898op/s 14050579.546op/s 14081254.480op/s 14111757.907op/s 14117087.322op/s 0.67% -1.027 2.009 0.37% 3633.879op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.891µs 3.910µs ± 0.003µs 3.910µs ± 0.002µs 3.912µs 3.915µs 3.917µs 3.917µs 0.18% -1.022 7.830 0.08% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 255290131.694op/s 255722461.663op/s ± 196936.983op/s 255760065.255op/s ± 120983.418op/s 255846702.500op/s 255955151.460op/s 256005982.769op/s 257020778.376op/s 0.49% 1.042 7.980 0.08% 13925.548op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 67.078µs 67.814µs ± 0.360µs 67.795µs ± 0.253µs 68.038µs 68.458µs 68.652µs 69.111µs 1.94% 0.578 0.333 0.53% 0.025µs 1 200
credit_card/is_card_number/378282246310005 throughput 14469428.542op/s 14746635.975op/s ± 78149.410op/s 14750253.298op/s ± 55113.200op/s 14805994.954op/s 14861382.717op/s 14880747.924op/s 14908047.566op/s 1.07% -0.546 0.260 0.53% 5525.998op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 51.734µs 51.808µs ± 0.039µs 51.803µs ± 0.028µs 51.835µs 51.877µs 51.903µs 51.935µs 0.25% 0.447 -0.320 0.08% 0.003µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 19254944.799op/s 19301917.200op/s ± 14613.645op/s 19303736.153op/s ± 10502.976op/s 19312722.428op/s 19323073.978op/s 19326839.796op/s 19329790.336op/s 0.13% -0.444 -0.326 0.08% 1033.341op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.077µs 6.234µs ± 0.062µs 6.234µs ± 0.043µs 6.273µs 6.326µs 6.351µs 6.397µs 2.62% -0.112 -0.520 0.99% 0.004µs 1 200
credit_card/is_card_number/x371413321323331 throughput 156320185.816op/s 160431791.972op/s ± 1594998.260op/s 160412479.688op/s ± 1109120.602op/s 161577967.413op/s 162821202.060op/s 164001702.994op/s 164554153.593op/s 2.58% 0.155 -0.507 0.99% 112783.409op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.893µs 3.911µs ± 0.003µs 3.911µs ± 0.002µs 3.913µs 3.917µs 3.919µs 3.923µs 0.28% -0.273 3.695 0.09% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254936389.034op/s 255657448.047op/s ± 225307.352op/s 255658826.146op/s ± 149332.201op/s 255819486.889op/s 255948187.854op/s 255980671.554op/s 256892133.635op/s 0.48% 0.288 3.761 0.09% 15931.636op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 65.903µs 66.263µs ± 0.178µs 66.237µs ± 0.114µs 66.353µs 66.628µs 66.770µs 66.867µs 0.95% 0.842 0.800 0.27% 0.013µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 14955064.488op/s 15091560.494op/s ± 40361.510op/s 15097222.876op/s ± 26089.786op/s 15121046.229op/s 15147301.100op/s 15156044.266op/s 15173861.807op/s 0.51% -0.826 0.759 0.27% 2853.990op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 59.396µs 59.578µs ± 0.077µs 59.576µs ± 0.053µs 59.624µs 59.712µs 59.779µs 59.804µs 0.38% 0.361 0.071 0.13% 0.005µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 16721174.710op/s 16784871.382op/s ± 21680.892op/s 16785312.851op/s ± 14870.510op/s 16802477.947op/s 16817991.978op/s 16826764.955op/s 16836047.662op/s 0.30% -0.353 0.061 0.13% 1533.071op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.889µs 3.911µs ± 0.004µs 3.911µs ± 0.002µs 3.913µs 3.917µs 3.920µs 3.922µs 0.28% -0.482 4.994 0.10% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254983390.195op/s 255683109.923op/s ± 243676.055op/s 255705721.307op/s ± 159820.579op/s 255845374.177op/s 255976248.607op/s 256027739.756op/s 257118141.866op/s 0.55% 0.501 5.100 0.10% 17230.499op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 56.152µs 56.286µs ± 0.103µs 56.262µs ± 0.048µs 56.325µs 56.402µs 56.772µs 56.862µs 1.07% 2.804 11.087 0.18% 0.007µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17586426.914op/s 17766351.718op/s ± 32356.667op/s 17774019.716op/s ± 15135.126op/s 17786576.922op/s 17798357.301op/s 17805265.765op/s 17808868.817op/s 0.20% -2.776 10.902 0.18% 2287.962op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 51.736µs 51.801µs ± 0.044µs 51.800µs ± 0.035µs 51.829µs 51.877µs 51.900µs 51.977µs 0.34% 0.741 0.536 0.09% 0.003µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 19239437.276op/s 19304772.249op/s ± 16533.133op/s 19305141.293op/s ± 13122.947op/s 19319910.759op/s 19325780.981op/s 19327809.126op/s 19328906.350op/s 0.12% -0.736 0.519 0.09% 1169.069op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.080µs 6.234µs ± 0.060µs 6.232µs ± 0.041µs 6.271µs 6.331µs 6.377µs 6.387µs 2.48% -0.038 -0.294 0.96% 0.004µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 156566192.609op/s 160418576.037op/s ± 1552065.093op/s 160455863.354op/s ± 1055079.494op/s 161579452.332op/s 162840368.650op/s 163929472.338op/s 164475187.091op/s 2.50% 0.087 -0.289 0.97% 109747.575op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
credit_card/is_card_number/ execution_time [3.911µs; 3.912µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ throughput [255632916.132op/s; 255690342.641op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [77.443µs; 77.565µs] or [-0.078%; +0.078%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12892932.408op/s; 12912989.057op/s] or [-0.078%; +0.078%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [71.303µs; 71.376µs] or [-0.051%; +0.051%] None None None
credit_card/is_card_number/ 378282246310005 throughput [14010545.202op/s; 14024789.746op/s] or [-0.051%; +0.051%] None None None
credit_card/is_card_number/37828224631 execution_time [3.910µs; 3.911µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/37828224631 throughput [255695168.092op/s; 255749755.235op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/378282246310005 execution_time [67.764µs; 67.864µs] or [-0.074%; +0.074%] None None None
credit_card/is_card_number/378282246310005 throughput [14735805.219op/s; 14757466.732op/s] or [-0.073%; +0.073%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [51.803µs; 51.814µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19299891.890op/s; 19303942.511op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.225µs; 6.242µs] or [-0.138%; +0.138%] None None None
credit_card/is_card_number/x371413321323331 throughput [160210740.553op/s; 160652843.391op/s] or [-0.138%; +0.138%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.911µs; 3.912µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/ throughput [255626222.615op/s; 255688673.479op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [66.238µs; 66.287µs] or [-0.037%; +0.037%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15085966.776op/s; 15097154.211op/s] or [-0.037%; +0.037%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [59.567µs; 59.588µs] or [-0.018%; +0.018%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [16781866.619op/s; 16787876.145op/s] or [-0.018%; +0.018%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.911µs; 3.912µs] or [-0.013%; +0.013%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255649338.765op/s; 255716881.081op/s] or [-0.013%; +0.013%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [56.272µs; 56.301µs] or [-0.025%; +0.025%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [17761867.395op/s; 17770836.041op/s] or [-0.025%; +0.025%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [51.795µs; 51.807µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19302480.916op/s; 19307063.582op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.226µs; 6.243µs] or [-0.134%; +0.134%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [160203474.742op/s; 160633677.332op/s] or [-0.134%; +0.134%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 71.01%. Comparing base (5fdc335) to head (d21000d).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1082      +/-   ##
==========================================
+ Coverage   70.99%   71.01%   +0.02%     
==========================================
  Files         329      329              
  Lines       49895    49895              
==========================================
+ Hits        35421    35433      +12     
+ Misses      14474    14462      -12     
Components Coverage Δ
datadog-crashtracker 42.52% <ø> (-0.06%) ⬇️
datadog-crashtracker-ffi 6.03% <ø> (ø)
datadog-alloc 98.73% <ø> (ø)
data-pipeline 90.76% <ø> (ø)
data-pipeline-ffi 89.26% <ø> (ø)
ddcommon 80.07% <ø> (ø)
ddcommon-ffi 68.64% <ø> (ø)
ddtelemetry 60.56% <ø> (ø)
ddtelemetry-ffi 21.32% <ø> (ø)
dogstatsd-client 83.26% <ø> (ø)
datadog-ipc 82.58% <ø> (ø)
datadog-profiling 77.17% <ø> (ø)
datadog-profiling-ffi 62.12% <ø> (ø)
datadog-sidecar 42.35% <ø> (ø)
datdog-sidecar-ffi 10.65% <ø> (ø)
spawn-worker 55.35% <ø> (ø)
tinybytes 90.96% <ø> (ø)
datadog-trace-normalization 98.24% <ø> (ø)
datadog-trace-obfuscation 94.16% <ø> (ø)
datadog-trace-protobuf 77.10% <ø> (ø)
datadog-trace-utils 89.28% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@r1viollet
Copy link
Contributor

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 65.98 MB 65.98 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 7.97 MB 7.97 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so.debug 20.28 MB 20.28 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 7.94 MB 7.94 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so.debug 22.66 MB 22.66 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 72.53 MB 72.53 MB 0% (0 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 16.69 MB 16.69 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 62.62 KB 62.62 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 112.64 MB 112.66 MB +.02% (+24.00 KB) 🔍
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 632.48 MB 632.48 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 4.98 MB 4.98 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 62.62 KB 62.62 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 15.85 MB 15.85 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 26.38 MB 26.38 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 14.15 MB 14.15 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 63.58 KB 63.58 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 114.55 MB 114.55 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 625.07 MB 625.07 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 3.77 MB 3.77 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 63.58 KB 63.58 KB 0% (0 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.30 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 57.45 MB 57.45 MB 0% (0 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 8.42 MB 8.42 MB 0% (0 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so.debug 18.68 MB 18.68 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 68.54 MB 68.54 MB 0% (0 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 8.42 MB 8.42 MB 0% (0 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so.debug 20.86 MB 20.86 MB 0% (0 B) 👌

@ivoanjo ivoanjo merged commit 35cf8db into main May 30, 2025
44 checks passed
@ivoanjo ivoanjo deleted the ivoanjo/prof-11524-libdatadog18_1-ruby branch May 30, 2025 11:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants