Skip to content

[PROTO] Ruby trace exporter (vibed)#1661

Draft
lloeki wants to merge 3 commits intomainfrom
lloeki/ruby-trace-exporter
Draft

[PROTO] Ruby trace exporter (vibed)#1661
lloeki wants to merge 3 commits intomainfrom
lloeki/ruby-trace-exporter

Conversation

@lloeki
Copy link
Copy Markdown
Member

@lloeki lloeki commented Mar 5, 2026

What does this PR do?

add necessary bits to build and expose the trace API for Ruby's trace exporter

Motivation

Getting the ball rolling on discussion with actual code

Additional Notes

DO NOT MERGE

How to test the change?

See DataDog/dd-trace-rb#5422

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 5, 2026

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/lloeki/ruby-trace-exporter

Summary by Rule

Rule Base Branch PR Branch Change

Annotation Counts by File

File Base Branch PR Branch Change

Annotation Stats by Crate

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

About This Report

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

@pr-commenter
Copy link
Copy Markdown

pr-commenter bot commented Mar 5, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-03-25 12:02:06

Comparing candidate commit 5338503 in PR branch lloeki/ruby-trace-exporter with baseline commit f10d348 in branch main.

Found 5 performance improvements and 13 performance regressions! Performance is the same for 43 metrics, 0 unstable metrics.

Explanation

This is an A/B test comparing a candidate commit's performance against that of a baseline commit. Performance changes are noted in the tables below as:

  • 🟩 = significantly better candidate vs. baseline
  • 🟥 = significantly worse candidate vs. baseline

We compute a confidence interval (CI) over the relative difference of means between metrics from the candidate and baseline commits, considering the baseline as the reference.

If the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD), the change is considered significant.

Feel free to reach out to #apm-benchmarking-platform on Slack if you have any questions.

More details about the CI and significant changes

You can imagine this CI as a range of values that is likely to contain the true difference of means between the candidate and baseline commits.

CIs of the difference of means are often centered around 0%, because often changes are not that big:

---------------------------------(------|---^--------)-------------------------------->
                              -0.6%    0%  0.3%     +1.2%
                                 |          |        |
         lower bound of the CI --'          |        |
sample mean (center of the CI) -------------'        |
         upper bound of the CI ----------------------'

As described above, a change is considered significant if the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD).

For instance, for an execution time metric, this confidence interval indicates a significantly worse performance:

----------------------------------------|---------|---(---------^---------)---------->
                                       0%        1%  1.3%      2.2%      3.1%
                                                  |   |         |         |
       significant impact threshold --------------'   |         |         |
                      lower bound of CI --------------'         |         |
       sample mean (center of the CI) --------------------------'         |
                      upper bound of CI ----------------------------------'

scenario:credit_card/is_card_number/ 378282246310005

  • 🟥 execution_time [+5.529µs; +5.614µs] or [+8.138%; +8.263%]
  • 🟥 throughput [-1123128.524op/s; -1107230.668op/s] or [-7.631%; -7.523%]

scenario:credit_card/is_card_number/378282246310005

  • 🟥 execution_time [+5.638µs; +5.708µs] or [+8.687%; +8.796%]
  • 🟥 throughput [-1245568.234op/s; -1231276.357op/s] or [-8.084%; -7.991%]

scenario:credit_card/is_card_number/37828224631000521389798

  • 🟥 execution_time [+7.471µs; +7.491µs] or [+16.363%; +16.408%]
  • 🟥 throughput [-3088364.202op/s; -3078984.025op/s] or [-14.100%; -14.057%]

scenario:credit_card/is_card_number/x371413321323331

  • 🟩 execution_time [-389.698ns; -387.913ns] or [-5.700%; -5.674%]
  • 🟩 throughput [+8798817.083op/s; +8840205.290op/s] or [+6.016%; +6.044%]

scenario:credit_card/is_card_number_no_luhn/ 378282246310005

  • 🟥 execution_time [+4.969µs; +5.013µs] or [+9.303%; +9.385%]
  • 🟥 throughput [-1606038.899op/s; -1593126.198op/s] or [-8.579%; -8.510%]

scenario:credit_card/is_card_number_no_luhn/378282246310005

  • 🟥 execution_time [+5.341µs; +5.396µs] or [+10.638%; +10.747%]
  • 🟥 throughput [-1932634.632op/s; -1914878.574op/s] or [-9.703%; -9.614%]

scenario:credit_card/is_card_number_no_luhn/37828224631000521389798

  • 🟥 execution_time [+7.490µs; +7.515µs] or [+16.415%; +16.470%]
  • 🟥 throughput [-3100550.214op/s; -3088879.453op/s] or [-14.148%; -14.094%]

scenario:credit_card/is_card_number_no_luhn/x371413321323331

  • 🟩 execution_time [-393.393ns; -391.076ns] or [-5.755%; -5.721%]
  • 🟩 throughput [+8878023.901op/s; +8932446.900op/s] or [+6.069%; +6.106%]

scenario:sql/obfuscate_sql_string

  • 🟩 execution_time [-197.263µs; -197.066µs] or [-68.628%; -68.559%]

scenario:two way interface

  • 🟥 execution_time [+754.544ns; +872.650ns] or [+5.387%; +6.230%]

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 5338503 1774439045 lloeki/ruby-trace-exporter
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 250.051ns 262.096ns ± 13.897ns 256.369ns ± 3.400ns 262.538ns 297.001ns 301.933ns 302.197ns 17.88% 1.702 1.644 5.29% 0.983ns 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 [260.170ns; 264.022ns] or [-0.735%; +0.735%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5338503 1774439045 lloeki/ruby-trace-exporter
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 13.050ms 13.082ms ± 0.014ms 13.080ms ± 0.010ms 13.092ms 13.106ms 13.113ms 13.119ms 0.29% 0.214 -0.436 0.11% 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 [13.080ms; 13.084ms] or [-0.015%; +0.015%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5338503 1774439045 lloeki/ruby-trace-exporter
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.328µs 2.388µs ± 0.019µs 2.388µs ± 0.007µs 2.396µs 2.422µs 2.432µs 2.436µs 2.00% -0.765 2.893 0.77% 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.385µs; 2.390µs] or [-0.108%; +0.108%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5338503 1774439045 lloeki/ruby-trace-exporter
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 14.295µs 14.821µs ± 0.417µs 14.739µs ± 0.144µs 14.896µs 15.344µs 17.159µs 17.618µs 19.54% 4.218 23.364 2.81% 0.030µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [14.764µs; 14.879µs] or [-0.390%; +0.390%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5338503 1774439045 lloeki/ruby-trace-exporter
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 495.314µs 496.466µs ± 1.119µs 496.216µs ± 0.288µs 496.516µs 498.502µs 500.082µs 505.269µs 1.82% 4.525 27.512 0.22% 0.079µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1979144.000op/s 2014247.489op/s ± 4495.097op/s 2015252.100op/s ± 1172.237op/s 2016395.028op/s 2017497.543op/s 2017953.610op/s 2018923.142op/s 0.18% -4.464 26.842 0.22% 317.851op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 371.847µs 372.508µs ± 0.305µs 372.512µs ± 0.215µs 372.714µs 373.018µs 373.143µs 373.583µs 0.29% 0.161 0.044 0.08% 0.022µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2676779.462op/s 2684508.470op/s ± 2194.612op/s 2684478.845op/s ± 1552.658op/s 2686096.881op/s 2688065.649op/s 2688968.454op/s 2689276.230op/s 0.18% -0.156 0.037 0.08% 155.182op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 167.895µs 168.318µs ± 0.180µs 168.326µs ± 0.109µs 168.430µs 168.616µs 168.729µs 168.788µs 0.27% 0.005 -0.176 0.11% 0.013µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5924574.653op/s 5941127.713op/s ± 6339.603op/s 5940845.482op/s ± 3854.794op/s 5945284.924op/s 5952134.801op/s 5954325.538op/s 5956108.467op/s 0.26% 0.001 -0.178 0.11% 448.278op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.853µs 37.054µs ± 0.115µs 37.059µs ± 0.103µs 37.148µs 37.235µs 37.300µs 37.351µs 0.79% 0.203 -1.036 0.31% 0.008µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26772903.257op/s 26987541.136op/s ± 83874.862op/s 26984020.325op/s ± 74708.539op/s 27064601.671op/s 27101454.710op/s 27122865.084op/s 27134608.129op/s 0.56% -0.194 -1.046 0.31% 5930.848op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 46.272µs 46.407µs ± 0.064µs 46.396µs ± 0.035µs 46.438µs 46.508µs 46.579µs 46.890µs 1.06% 2.519 14.868 0.14% 0.005µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21326478.529op/s 21548596.880op/s ± 29761.486op/s 21553512.525op/s ± 16437.084op/s 21568746.457op/s 21582295.963op/s 21591425.653op/s 21611445.421op/s 0.27% -2.476 14.454 0.14% 2104.455op/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 [496.311µs; 496.621µs] or [-0.031%; +0.031%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [2013624.511op/s; 2014870.466op/s] or [-0.031%; +0.031%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [372.466µs; 372.550µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2684204.318op/s; 2684812.622op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [168.294µs; 168.343µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5940249.105op/s; 5942006.321op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.039µs; 37.070µs] or [-0.043%; +0.043%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26975916.887op/s; 26999165.385op/s] or [-0.043%; +0.043%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [46.398µs; 46.416µs] or [-0.019%; +0.019%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21544472.224op/s; 21552721.535op/s] or [-0.019%; +0.019%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5338503 1774439045 lloeki/ruby-trace-exporter
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/2598 execution_time 3.408ms 3.440ms ± 0.019ms 3.435ms ± 0.009ms 3.449ms 3.476ms 3.497ms 3.511ms 2.20% 1.155 1.332 0.55% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
receiver_entry_point/report/2598 execution_time [3.438ms; 3.443ms] or [-0.076%; +0.076%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5338503 1774439045 lloeki/ruby-trace-exporter
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 5.424µs 5.513µs ± 0.031µs 5.512µs ± 0.021µs 5.533µs 5.560µs 5.607µs 5.618µs 1.94% 0.423 0.720 0.56% 0.002µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [5.509µs; 5.517µs] or [-0.078%; +0.078%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5338503 1774439045 lloeki/ruby-trace-exporter
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 190.004ns 192.251ns ± 1.949ns 192.131ns ± 1.433ns 192.976ns 195.781ns 198.158ns 200.209ns 4.20% 1.184 1.565 1.01% 0.138ns 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 [191.981ns; 192.521ns] or [-0.141%; +0.141%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5338503 1774439045 lloeki/ruby-trace-exporter
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_timestamped_x1000 execution_time 4.163ms 4.168ms ± 0.009ms 4.166ms ± 0.001ms 4.167ms 4.173ms 4.201ms 4.261ms 2.29% 7.842 74.889 0.20% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample_timestamped_x1000 execution_time [4.166ms; 4.169ms] or [-0.028%; +0.028%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5338503 1774439045 lloeki/ruby-trace-exporter
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 13.958ms 14.016ms ± 0.034ms 14.011ms ± 0.014ms 14.025ms 14.070ms 14.147ms 14.216ms 1.46% 2.452 8.886 0.24% 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.012ms; 14.021ms] or [-0.033%; +0.033%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5338503 1774439045 lloeki/ruby-trace-exporter
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching string interning on wordpress profile execution_time 160.647µs 161.345µs ± 0.351µs 161.291µs ± 0.117µs 161.417µs 161.870µs 162.035µs 164.834µs 2.20% 5.180 47.673 0.22% 0.025µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching string interning on wordpress profile execution_time [161.297µs; 161.394µs] or [-0.030%; +0.030%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5338503 1774439045 lloeki/ruby-trace-exporter
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 144.769µs 146.473µs ± 1.629µs 146.182µs ± 0.460µs 146.669µs 148.069µs 153.127µs 161.056µs 10.17% 5.362 38.819 1.11% 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 [146.247µs; 146.698µs] or [-0.154%; +0.154%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5338503 1774439045 lloeki/ruby-trace-exporter
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 49.720ms 50.031ms ± 0.922ms 49.906ms ± 0.063ms 49.966ms 50.198ms 54.253ms 59.820ms 19.87% 8.469 77.122 1.84% 0.065ms 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 [49.904ms; 50.159ms] or [-0.255%; +0.255%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5338503 1774439045 lloeki/ruby-trace-exporter
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample_frames_x1000 execution_time 4.189ms 4.193ms ± 0.002ms 4.193ms ± 0.001ms 4.195ms 4.197ms 4.200ms 4.205ms 0.28% 1.160 3.699 0.05% 0.000ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample_frames_x1000 execution_time [4.193ms; 4.194ms] or [-0.007%; +0.007%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5338503 1774439045 lloeki/ruby-trace-exporter
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.989µs 34.476µs ± 0.793µs 34.119µs ± 0.040µs 34.177µs 36.142µs 36.164µs 37.675µs 10.42% 1.801 1.630 2.29% 0.056µ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.366µs; 34.586µs] or [-0.319%; +0.319%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5338503 1774439045 lloeki/ruby-trace-exporter
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
credit_card/is_card_number/ execution_time 3.892µs 3.911µs ± 0.002µs 3.911µs ± 0.001µs 3.911µs 3.913µs 3.915µs 3.921µs 0.27% -2.989 41.997 0.05% 0.000µs 1 200
credit_card/is_card_number/ throughput 255022690.838op/s 255710906.807op/s ± 129848.203op/s 255720279.203op/s ± 43829.579op/s 255763093.386op/s 255815511.374op/s 255832188.634op/s 256936145.944op/s 0.48% 3.043 42.424 0.05% 9181.654op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 80.167µs 80.749µs ± 0.257µs 80.697µs ± 0.171µs 80.936µs 81.213µs 81.381µs 81.725µs 1.27% 0.707 0.607 0.32% 0.018µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12236086.607op/s 12384186.650op/s ± 39367.922op/s 12392002.205op/s ± 26163.447op/s 12412302.164op/s 12436612.645op/s 12453556.896op/s 12473978.175op/s 0.66% -0.687 0.554 0.32% 2783.732op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 73.013µs 73.520µs ± 0.297µs 73.497µs ± 0.220µs 73.714µs 74.029µs 74.292µs 74.553µs 1.44% 0.612 0.303 0.40% 0.021µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13413247.357op/s 13602020.410op/s ± 54903.286op/s 13605979.153op/s ± 40897.185op/s 13646833.545op/s 13681210.300op/s 13689334.778op/s 13696272.469op/s 0.66% -0.589 0.244 0.40% 3882.249op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.892µs 3.913µs ± 0.003µs 3.912µs ± 0.001µs 3.914µs 3.919µs 3.922µs 3.923µs 0.28% -0.422 9.707 0.08% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254905001.513op/s 255571171.937op/s ± 202079.000op/s 255612167.140op/s ± 73845.636op/s 255678563.631op/s 255784901.791op/s 255866344.191op/s 256909570.846op/s 0.51% 0.450 9.866 0.08% 14289.143op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 70.075µs 70.573µs ± 0.249µs 70.573µs ± 0.167µs 70.703µs 70.957µs 71.308µs 71.580µs 1.43% 0.805 1.559 0.35% 0.018µs 1 200
credit_card/is_card_number/378282246310005 throughput 13970452.886op/s 14169906.456op/s ± 49924.437op/s 14169636.594op/s ± 33535.325op/s 14206316.131op/s 14242156.815op/s 14256505.289op/s 14270342.801op/s 0.71% -0.775 1.458 0.35% 3530.191op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 53.065µs 53.137µs ± 0.035µs 53.135µs ± 0.024µs 53.161µs 53.192µs 53.224µs 53.257µs 0.23% 0.336 -0.075 0.07% 0.002µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 18776852.016op/s 18819348.651op/s ± 12489.850op/s 18819828.472op/s ± 8593.219op/s 18828103.475op/s 18838954.722op/s 18842333.566op/s 18844739.685op/s 0.13% -0.332 -0.081 0.07% 883.166op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.437µs 6.448µs ± 0.005µs 6.448µs ± 0.004µs 6.451µs 6.457µs 6.462µs 6.464µs 0.25% 0.494 -0.079 0.08% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 154699020.140op/s 155084635.165op/s ± 126479.812op/s 155093082.849op/s ± 90114.706op/s 155185351.948op/s 155260521.535op/s 155316753.694op/s 155360664.122op/s 0.17% -0.490 -0.085 0.08% 8943.473op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.894µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.913µs 3.917µs 3.920µs 3.921µs 0.22% -1.115 13.222 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255036980.362op/s 255596839.118op/s ± 168737.523op/s 255610441.703op/s ± 70276.432op/s 255675123.743op/s 255787382.163op/s 255890130.550op/s 256809805.312op/s 0.47% 1.143 13.407 0.07% 11931.545op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.695µs 65.165µs ± 0.132µs 65.138µs ± 0.075µs 65.226µs 65.427µs 65.547µs 65.689µs 0.85% 0.875 2.056 0.20% 0.009µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15223148.121op/s 15345729.971op/s ± 31007.748op/s 15351959.880op/s ± 17650.558op/s 15366275.253op/s 15381182.508op/s 15390541.848op/s 15457138.860op/s 0.69% -0.856 2.035 0.20% 2192.579op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 58.196µs 58.410µs ± 0.156µs 58.385µs ± 0.083µs 58.467µs 58.711µs 58.873µs 59.368µs 1.68% 1.931 6.916 0.27% 0.011µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 16843983.872op/s 17120415.325op/s ± 45542.763op/s 17127567.535op/s ± 24344.524op/s 17151642.244op/s 17173020.412op/s 17178885.846op/s 17183172.519op/s 0.32% -1.891 6.616 0.27% 3220.360op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.894µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.915µs 3.917µs 3.919µs 3.921µs 0.21% -1.022 8.120 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255036446.174op/s 255571186.830op/s ± 192150.166op/s 255571575.289op/s ± 119756.775op/s 255691268.143op/s 255801769.456op/s 255875141.425op/s 256837507.638op/s 0.50% 1.043 8.262 0.07% 13587.069op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 55.186µs 55.577µs ± 0.194µs 55.560µs ± 0.119µs 55.680µs 55.930µs 56.155µs 56.329µs 1.38% 0.923 1.647 0.35% 0.014µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17752836.187op/s 17993215.150op/s ± 62557.597op/s 17998515.401op/s ± 38466.366op/s 18036291.320op/s 18079142.125op/s 18108915.258op/s 18120401.760op/s 0.68% -0.894 1.560 0.35% 4423.490op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 53.073µs 53.132µs ± 0.034µs 53.126µs ± 0.019µs 53.146µs 53.197µs 53.256µs 53.281µs 0.29% 1.454 3.204 0.06% 0.002µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 18768517.153op/s 18821112.593op/s ± 11923.282op/s 18823024.184op/s ± 6721.096op/s 18828951.776op/s 18836655.060op/s 18839191.930op/s 18842056.907op/s 0.10% -1.448 3.180 0.06% 843.103op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.428µs 6.444µs ± 0.007µs 6.443µs ± 0.005µs 6.448µs 6.456µs 6.465µs 6.469µs 0.41% 0.717 0.566 0.11% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 154574043.007op/s 155195168.071op/s ± 176784.649op/s 155205068.820op/s ± 121220.160op/s 155325803.504op/s 155435309.547op/s 155475595.191op/s 155568386.581op/s 0.23% -0.710 0.548 0.11% 12500.562op/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.910µs; 3.911µs] or [-0.007%; +0.007%] None None None
credit_card/is_card_number/ throughput [255692911.095op/s; 255728902.519op/s] or [-0.007%; +0.007%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [80.713µs; 80.785µs] or [-0.044%; +0.044%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12378730.634op/s; 12389642.665op/s] or [-0.044%; +0.044%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [73.478µs; 73.561µs] or [-0.056%; +0.056%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13594411.342op/s; 13609629.477op/s] or [-0.056%; +0.056%] None None None
credit_card/is_card_number/37828224631 execution_time [3.912µs; 3.913µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/37828224631 throughput [255543165.731op/s; 255599178.143op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/378282246310005 execution_time [70.538µs; 70.608µs] or [-0.049%; +0.049%] None None None
credit_card/is_card_number/378282246310005 throughput [14162987.409op/s; 14176825.503op/s] or [-0.049%; +0.049%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [53.132µs; 53.142µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [18817617.678op/s; 18821079.624op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.447µs; 6.449µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/x371413321323331 throughput [155067106.280op/s; 155102164.051op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.912µs; 3.913µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ throughput [255573453.720op/s; 255620224.516op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.147µs; 65.183µs] or [-0.028%; +0.028%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15341432.595op/s; 15350027.346op/s] or [-0.028%; +0.028%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [58.389µs; 58.432µs] or [-0.037%; +0.037%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17114103.536op/s; 17126727.113op/s] or [-0.037%; +0.037%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.912µs; 3.913µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255544556.665op/s; 255597816.995op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [55.550µs; 55.604µs] or [-0.048%; +0.048%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [17984545.269op/s; 18001885.031op/s] or [-0.048%; +0.048%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [53.127µs; 53.137µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [18819460.141op/s; 18822765.045op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.442µs; 6.445µs] or [-0.016%; +0.016%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [155170667.419op/s; 155219668.723op/s] or [-0.016%; +0.016%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5338503 1774439045 lloeki/ruby-trace-exporter
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.942µs 5.021µs ± 0.043µs 5.012µs ± 0.035µs 5.061µs 5.090µs 5.100µs 5.103µs 1.81% 0.297 -1.246 0.86% 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.015µs; 5.027µs] or [-0.119%; +0.119%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5338503 1774439045 lloeki/ruby-trace-exporter
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time 185.569µs 185.937µs ± 0.231µs 185.899µs ± 0.144µs 186.068µs 186.274µs 186.481µs 187.688µs 0.96% 2.406 15.214 0.12% 0.016µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5327977.650op/s 5378177.716op/s ± 6662.759op/s 5379252.787op/s ± 4168.979op/s 5382794.396op/s 5386352.675op/s 5388331.167op/s 5388834.013op/s 0.18% -2.364 14.811 0.12% 471.128op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.793µs 17.883µs ± 0.104µs 17.874µs ± 0.020µs 17.895µs 17.935µs 17.962µs 19.278µs 7.85% 11.995 157.772 0.58% 0.007µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 51871899.946op/s 55921068.225op/s ± 305571.244op/s 55946357.335op/s ± 62982.311op/s 56003024.263op/s 56108410.696op/s 56153439.506op/s 56202540.733op/s 0.46% -11.712 152.764 0.55% 21607.150op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.549µs 10.593µs ± 0.021µs 10.586µs ± 0.012µs 10.610µs 10.631µs 10.646µs 10.656µs 0.66% 0.634 -0.165 0.19% 0.001µs 1 200
normalization/normalize_name/normalize_name/good throughput 93844381.659op/s 94402687.206op/s ± 184008.594op/s 94463705.746op/s ± 103515.675op/s 94529041.523op/s 94651558.388op/s 94724115.093op/s 94793794.552op/s 0.35% -0.626 -0.177 0.19% 13011.372op/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 [185.905µs; 185.969µs] or [-0.017%; +0.017%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5377254.322op/s; 5379101.111op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [17.868µs; 17.897µs] or [-0.081%; +0.081%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [55878718.989op/s; 55963417.460op/s] or [-0.076%; +0.076%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.590µs; 10.596µs] or [-0.027%; +0.027%] None None None
normalization/normalize_name/normalize_name/good throughput [94377185.385op/s; 94428189.028op/s] or [-0.027%; +0.027%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5338503 1774439045 lloeki/ruby-trace-exporter
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 724.043µs 725.205µs ± 0.542µs 725.115µs ± 0.313µs 725.450µs 726.321µs 726.932µs 727.283µs 0.30% 1.021 1.655 0.07% 0.038µ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 [725.130µs; 725.280µs] or [-0.010%; +0.010%] None None None

Group 20

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 5338503 1774439045 lloeki/ruby-trace-exporter
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 90.024µs 90.274µs ± 0.244µs 90.244µs ± 0.051µs 90.307µs 90.438µs 90.529µs 93.445µs 3.55% 11.121 142.091 0.27% 0.017µ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 [90.240µs; 90.308µs] or [-0.037%; +0.037%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Mar 5, 2026

Codecov Report

❌ Patch coverage is 60.85106% with 184 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.22%. Comparing base (959c0cd) to head (682eca3).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1661      +/-   ##
==========================================
- Coverage   71.24%   71.22%   -0.03%     
==========================================
  Files         427      428       +1     
  Lines       62805    63275     +470     
==========================================
+ Hits        44748    45065     +317     
- Misses      18057    18210     +153     
Components Coverage Δ
libdd-crashtracker 62.90% <ø> (ø)
libdd-crashtracker-ffi 15.63% <ø> (ø)
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 85.34% <60.85%> (-2.04%) ⬇️
libdd-data-pipeline-ffi 69.96% <60.85%> (-2.87%) ⬇️
libdd-common 79.73% <ø> (ø)
libdd-common-ffi 73.40% <ø> (ø)
libdd-telemetry 62.48% <ø> (ø)
libdd-telemetry-ffi 16.75% <ø> (ø)
libdd-dogstatsd-client 82.64% <ø> (ø)
datadog-ipc 80.74% <ø> (ø)
libdd-profiling 81.60% <ø> (ø)
libdd-profiling-ffi 63.65% <ø> (ø)
datadog-sidecar 33.36% <ø> (ø)
datdog-sidecar-ffi 12.41% <ø> (ø)
spawn-worker 54.69% <ø> (ø)
libdd-tinybytes 93.80% <ø> (+0.64%) ⬆️
libdd-trace-normalization 81.71% <ø> (ø)
libdd-trace-obfuscation 94.67% <ø> (ø)
libdd-trace-protobuf 68.00% <ø> (ø)
libdd-trace-utils 88.97% <ø> (ø)
datadog-tracer-flare 90.45% <ø> (ø)
libdd-log 74.69% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@dd-octo-sts
Copy link
Copy Markdown
Contributor

dd-octo-sts bot commented Mar 5, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 97.32 MB 98.06 MB +.76% (+761.17 KB) 🔍
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.51 MB 8.57 MB +.73% (+64.00 KB) 🔍
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 112.92 MB 113.72 MB +.70% (+815.97 KB) 🔍
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.12 MB 11.21 MB +.76% (+86.96 KB) 🔍
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 27.16 MB 27.36 MB +.70% (+197.50 KB) 🔍
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 76.26 KB 81.97 KB +7.48% (+5.71 KB) 🚨
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 185.99 MB 187.19 MB +.64% (+1.19 MB) 🔍
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 916.65 MB 932.56 MB +1.73% (+15.91 MB) ⚠️
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.93 MB 10.04 MB +1.08% (+110.00 KB) ⚠️
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 76.26 KB 81.97 KB +7.48% (+5.71 KB) 🚨
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 24.76 MB 24.98 MB +.88% (+224.00 KB) 🔍
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 51.43 MB 51.88 MB +.87% (+460.38 KB) 🔍
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 22.97 MB 23.14 MB +.75% (+176.50 KB) 🔍
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 77.44 KB 83.26 KB +7.50% (+5.81 KB) 🚨
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 190.17 MB 191.44 MB +.66% (+1.27 MB) 🔍
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 900.31 MB 916.34 MB +1.78% (+16.03 MB) ⚠️
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.53 MB 7.60 MB +.97% (+75.00 KB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 77.44 KB 83.26 KB +7.50% (+5.81 KB) 🚨
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 26.52 MB 26.76 MB +.91% (+248.00 KB) 🔍
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 47.06 MB 47.47 MB +.87% (+424.01 KB) 🔍
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 85.27 MB 85.94 MB +.79% (+692.58 KB) 🔍
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 10.04 MB 10.12 MB +.73% (+76.00 KB) 🔍
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 105.90 MB 106.62 MB +.67% (+735.66 KB) 🔍
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.79 MB 11.88 MB +.77% (+94.01 KB) 🔍

@lloeki lloeki force-pushed the lloeki/ruby-trace-exporter branch from 81de782 to 682eca3 Compare March 5, 2026 15:17
Copy link
Copy Markdown
Contributor

@paullegranddc paullegranddc left a comment

Choose a reason for hiding this comment

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

The code is a bit verbose but LGTM overall

Ok(bs) => Ok(bs),
Err(_) => Err(Box::new(ExporterError::new(
ErrorCode::InvalidInput,
&ErrorCode::InvalidInput.to_string(),
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

should we include the span key that has the invalid input in the error? It would make debugging easier, but we'd also have to pass the &str of the key into this function, which feels kinda weird.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Yeah it feels weird. Maybe a job for the caller instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants