Skip to content

chore(telemetry): use weaker mem ordering for SEQ_ID#1749

Open
yannham wants to merge 1 commit intomainfrom
yannham/mem-ordering-seq-id
Open

chore(telemetry): use weaker mem ordering for SEQ_ID#1749
yannham wants to merge 1 commit intomainfrom
yannham/mem-ordering-seq-id

Conversation

@yannham
Copy link
Contributor

@yannham yannham commented Mar 17, 2026

What does this PR do?

This PR replaces a bunch of sequentially consistent atomic accesses on id generator by weaker relaxed accesses.

Motivation

The motivation to use the weakest memory ordering applicable is two folds:

  1. Performance: relaxed accesses compile to normal, non-atomic loads and stores on standard platforms (x86_64 and arm64 in particular). Whether this particular change has any performance impact is less obvious.
  2. Readability: I think my main motivation is that I find it easier, at least as a reader, to reason about weaker orderings. For example, a relaxed access indicates that there's no other unsynchronized data that this atomic protect or interact with, which enables local reasoning (you don't have to care about what other threads might be doing). A sequentially consistent access is the converse: they lead to a global order which involves all other seqcst accesses to this atomic, which is a strong and far-reaching assumption.

Additional Notes

This atomic is a counter, which is the poster child for Relaxed ordering (you usually only need the atomicity). This counter doesn't protect or interact with unsynchronized memory, so there's no reason to use a stronger ordering. Although this is just in an example, so it's mostly cosmetic.

How to test the change?

Should see no difference in behavior except maybe for performance.

@yannham yannham requested a review from a team as a code owner March 17, 2026 15:18
@yannham yannham force-pushed the yannham/mem-ordering-seq-id branch from bf34339 to c21c8f0 Compare March 17, 2026 15:20
@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (main@e44af12). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1749   +/-   ##
=======================================
  Coverage        ?   71.48%           
=======================================
  Files           ?      430           
  Lines           ?    64042           
  Branches        ?        0           
=======================================
  Hits            ?    45783           
  Misses          ?    18259           
  Partials        ?        0           
Components Coverage Δ
libdd-crashtracker 63.97% <ø> (?)
libdd-crashtracker-ffi 18.19% <ø> (?)
libdd-alloc 98.77% <ø> (?)
libdd-data-pipeline 87.94% <ø> (?)
libdd-data-pipeline-ffi 74.85% <ø> (?)
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.47% <ø> (?)
libdd-profiling 81.60% <ø> (?)
libdd-profiling-ffi 63.65% <ø> (?)
datadog-sidecar 33.10% <ø> (?)
datdog-sidecar-ffi 10.79% <ø> (?)
spawn-worker 54.69% <ø> (?)
libdd-tinybytes 93.16% <ø> (?)
libdd-trace-normalization 81.71% <ø> (?)
libdd-trace-obfuscation 91.80% <ø> (?)
libdd-trace-protobuf 68.25% <ø> (?)
libdd-trace-utils 88.98% <ø> (?)
datadog-tracer-flare 90.46% <ø> (?)
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.

@github-actions
Copy link

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/yannham/mem-ordering-seq-id

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 28 28 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 59 59 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 9 9 No change (0%)
libdd-trace-utils 15 15 No change (0%)
Total 208 208 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

pr-commenter bot commented Mar 17, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-03-17 15:37:29

Comparing candidate commit c21c8f0 in PR branch yannham/mem-ordering-seq-id with baseline commit e44af12 in branch main.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 59 metrics, 2 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 ----------------------------------'

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 c21c8f0 1773760797 yannham/mem-ordering-seq-id
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.984µs 5.063µs ± 0.052µs 5.076µs ± 0.054µs 5.112µs 5.132µs 5.142µs 5.155µs 1.54% -0.028 -1.674 1.03% 0.004µ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.055µs; 5.070µs] or [-0.142%; +0.142%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c21c8f0 1773760797 yannham/mem-ordering-seq-id
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.317µs 146.286µs ± 1.762µs 146.021µs ± 0.526µs 146.551µs 147.703µs 152.645µs 162.929µs 11.58% 5.777 45.472 1.20% 0.125µ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.042µs; 146.530µs] or [-0.167%; +0.167%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c21c8f0 1773760797 yannham/mem-ordering-seq-id
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.246ms 49.590ms ± 1.388ms 49.418ms ± 0.066ms 49.477ms 49.622ms 57.199ms 63.308ms 28.11% 8.450 72.432 2.79% 0.098ms 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.398ms; 49.782ms] or [-0.388%; +0.388%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c21c8f0 1773760797 yannham/mem-ordering-seq-id
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.448µs 2.481µs ± 0.015µs 2.480µs ± 0.009µs 2.491µs 2.512µs 2.519µs 2.521µs 1.66% 0.255 0.162 0.61% 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.479µs; 2.483µs] or [-0.084%; +0.084%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c21c8f0 1773760797 yannham/mem-ordering-seq-id
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.195ms 14.248ms ± 0.026ms 14.244ms ± 0.013ms 14.258ms 14.286ms 14.347ms 14.402ms 1.11% 2.316 8.981 0.18% 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.244ms; 14.252ms] or [-0.025%; +0.025%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c21c8f0 1773760797 yannham/mem-ordering-seq-id
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.698µs 34.095µs ± 0.642µs 33.816µs ± 0.042µs 33.878µs 35.366µs 35.410µs 37.860µs 11.96% 2.219 5.517 1.88% 0.045µ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.006µs; 34.184µs] or [-0.261%; +0.261%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c21c8f0 1773760797 yannham/mem-ordering-seq-id
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.469µs 86.687µs ± 0.168µs 86.661µs ± 0.051µs 86.718µs 86.862µs 87.073µs 88.569µs 2.20% 7.393 78.262 0.19% 0.012µ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 [86.664µs; 86.711µs] or [-0.027%; +0.027%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c21c8f0 1773760797 yannham/mem-ordering-seq-id
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 186.175µs 186.659µs ± 0.302µs 186.612µs ± 0.170µs 186.808µs 187.148µs 187.873µs 188.446µs 0.98% 1.925 7.465 0.16% 0.021µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5306557.857op/s 5357370.917op/s ± 8632.884op/s 5358703.940op/s ± 4892.093op/s 5363222.214op/s 5367842.009op/s 5370711.322op/s 5371299.829op/s 0.24% -1.898 7.286 0.16% 610.437op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.867µs 17.983µs ± 0.045µs 17.982µs ± 0.028µs 18.010µs 18.059µs 18.087µs 18.142µs 0.89% 0.226 0.350 0.25% 0.003µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 55120152.669op/s 55609878.528op/s ± 139419.503op/s 55612648.093op/s ± 87130.752op/s 55698422.544op/s 55817537.197op/s 55944747.920op/s 55968315.349op/s 0.64% -0.209 0.332 0.25% 9858.448op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.424µs 10.619µs ± 0.055µs 10.622µs ± 0.031µs 10.648µs 10.714µs 10.749µs 10.778µs 1.47% -0.018 0.569 0.52% 0.004µs 1 200
normalization/normalize_name/normalize_name/good throughput 92782700.806op/s 94170289.450op/s ± 489622.393op/s 94146948.572op/s ± 278279.074op/s 94459688.831op/s 94918450.851op/s 95305002.695op/s 95934206.577op/s 1.90% 0.059 0.595 0.52% 34621.531op/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 [186.617µs; 186.701µs] or [-0.022%; +0.022%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5356174.482op/s; 5358567.352op/s] or [-0.022%; +0.022%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [17.976µs; 17.989µs] or [-0.035%; +0.035%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [55590556.326op/s; 55629200.730op/s] or [-0.035%; +0.035%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.612µs; 10.627µs] or [-0.072%; +0.072%] None None None
normalization/normalize_name/normalize_name/good throughput [94102432.495op/s; 94238146.404op/s] or [-0.072%; +0.072%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c21c8f0 1773760797 yannham/mem-ordering-seq-id
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.822µs 160.556µs ± 0.333µs 160.492µs ± 0.112µs 160.626µs 161.134µs 161.905µs 163.242µs 1.71% 3.707 23.279 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.509µs; 160.602µs] or [-0.029%; +0.029%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c21c8f0 1773760797 yannham/mem-ordering-seq-id
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.410ms 3.433ms ± 0.017ms 3.430ms ± 0.008ms 3.440ms 3.471ms 3.487ms 3.492ms 1.83% 1.367 1.824 0.49% 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.431ms; 3.436ms] or [-0.068%; +0.068%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c21c8f0 1773760797 yannham/mem-ordering-seq-id
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.200µs 3.237µs ± 1.424µs 3.023µs ± 0.027µs 3.049µs 3.708µs 13.856µs 15.041µs 397.54% 7.305 54.811 43.89% 0.101µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [3.040µs; 3.435µs] or [-6.098%; +6.098%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c21c8f0 1773760797 yannham/mem-ordering-seq-id
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.250ms 4.254ms ± 0.003ms 4.254ms ± 0.001ms 4.256ms 4.259ms 4.261ms 4.272ms 0.43% 1.955 9.716 0.06% 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.254ms; 4.255ms] or [-0.009%; +0.009%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c21c8f0 1773760797 yannham/mem-ordering-seq-id
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.913µs ± 0.003µs 3.913µs ± 0.002µs 3.915µs 3.919µs 3.922µs 3.922µs 0.24% -0.667 8.539 0.08% 0.000µs 1 200
credit_card/is_card_number/ throughput 254943113.574op/s 255541612.031op/s ± 205278.484op/s 255564821.520op/s ± 116342.661op/s 255664798.245op/s 255759473.828op/s 255854989.279op/s 256886255.168op/s 0.52% 0.691 8.690 0.08% 14515.381op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 80.242µs 80.736µs ± 0.213µs 80.722µs ± 0.160µs 80.901µs 81.081µs 81.336µs 81.454µs 0.91% 0.478 0.128 0.26% 0.015µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12276875.218op/s 12386188.382op/s ± 32581.071op/s 12388241.705op/s ± 24611.218op/s 12411361.671op/s 12429959.372op/s 12446840.655op/s 12462355.395op/s 0.60% -0.463 0.100 0.26% 2303.830op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 73.040µs 73.591µs ± 0.296µs 73.559µs ± 0.211µs 73.775µs 74.045µs 74.255µs 74.939µs 1.88% 0.703 1.012 0.40% 0.021µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13344195.770op/s 13588781.595op/s ± 54494.892op/s 13594523.449op/s ± 39038.294op/s 13632492.027op/s 13663435.780op/s 13677796.969op/s 13691213.603op/s 0.71% -0.673 0.891 0.40% 3853.371op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.894µs 3.914µs ± 0.009µs 3.913µs ± 0.002µs 3.915µs 3.918µs 3.923µs 3.999µs 2.21% 8.510 78.996 0.22% 0.001µs 1 200
credit_card/is_card_number/37828224631 throughput 250042700.954op/s 255504037.750op/s ± 552809.373op/s 255564029.363op/s ± 99694.821op/s 255657222.478op/s 255779068.373op/s 255875346.181op/s 256773893.208op/s 0.47% -8.453 78.322 0.22% 39089.526op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 70.083µs 70.657µs ± 0.262µs 70.642µs ± 0.170µs 70.800µs 71.148µs 71.403µs 71.449µs 1.14% 0.602 0.448 0.37% 0.019µs 1 200
credit_card/is_card_number/378282246310005 throughput 13996093.710op/s 14153019.536op/s ± 52414.989op/s 14155803.476op/s ± 34110.340op/s 14190485.649op/s 14226161.812op/s 14251153.797op/s 14268812.776op/s 0.80% -0.579 0.408 0.37% 3706.299op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 52.660µs 52.852µs ± 0.072µs 52.849µs ± 0.055µs 52.907µs 52.957µs 53.008µs 53.036µs 0.35% -0.101 -0.073 0.14% 0.005µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 18855049.562op/s 18920904.881op/s ± 25695.692op/s 18921692.777op/s ± 19707.518op/s 18939662.020op/s 18959918.843op/s 18986435.425op/s 18989756.985op/s 0.36% 0.109 -0.070 0.14% 1816.960op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.430µs 6.441µs ± 0.005µs 6.440µs ± 0.004µs 6.444µs 6.450µs 6.455µs 6.455µs 0.24% 0.391 -0.306 0.08% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 154907603.549op/s 155267007.266op/s ± 131831.394op/s 155277546.867op/s ± 88992.358op/s 155365552.614op/s 155469800.231op/s 155508148.288op/s 155521867.496op/s 0.16% -0.387 -0.310 0.08% 9321.887op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.893µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.915µs 3.918µs 3.921µs 3.928µs 0.40% -0.230 9.764 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254557231.756op/s 255546631.007op/s ± 205191.965op/s 255563773.841op/s ± 105795.704op/s 255663909.586op/s 255776847.962op/s 255892804.833op/s 256846527.568op/s 0.50% 0.259 9.863 0.08% 14509.263op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.949µs 65.172µs ± 0.153µs 65.142µs ± 0.075µs 65.231µs 65.422µs 65.625µs 66.120µs 1.50% 2.204 8.630 0.23% 0.011µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15123945.645op/s 15344192.599op/s ± 35731.371op/s 15351112.082op/s ± 17585.758op/s 15367059.176op/s 15383530.930op/s 15392745.877op/s 15396800.545op/s 0.30% -2.164 8.335 0.23% 2526.590op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 58.187µs 58.408µs ± 0.110µs 58.395µs ± 0.067µs 58.461µs 58.601µs 58.757µs 58.882µs 0.83% 1.048 2.102 0.19% 0.008µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 16983170.764op/s 17121147.344op/s ± 32314.201op/s 17124729.109op/s ± 19640.840op/s 17144307.575op/s 17162952.480op/s 17181696.719op/s 17186020.891op/s 0.36% -1.031 2.042 0.19% 2284.959op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.897µs 3.914µs ± 0.003µs 3.914µs ± 0.002µs 3.915µs 3.918µs 3.921µs 3.925µs 0.30% -0.281 5.055 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254756061.350op/s 255511867.485op/s ± 192213.041op/s 255516174.185op/s ± 112691.161op/s 255630978.939op/s 255759659.995op/s 255865317.852op/s 256597441.598op/s 0.42% 0.297 5.113 0.08% 13591.514op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 55.186µs 55.574µs ± 0.199µs 55.538µs ± 0.113µs 55.678µs 55.932µs 56.234µs 56.302µs 1.37% 0.988 1.380 0.36% 0.014µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17761510.023op/s 17994176.242op/s ± 64291.619op/s 18005653.997op/s ± 36635.562op/s 18033062.175op/s 18080232.163op/s 18110300.201op/s 18120583.170op/s 0.64% -0.962 1.308 0.36% 4546.104op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 52.692µs 52.847µs ± 0.080µs 52.846µs ± 0.048µs 52.890µs 52.965µs 53.061µs 53.281µs 0.82% 0.872 3.387 0.15% 0.006µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 18768548.838op/s 18922767.211op/s ± 28765.067op/s 18922929.869op/s ± 17356.119op/s 18941554.456op/s 18966240.929op/s 18976045.613op/s 18978262.559op/s 0.29% -0.851 3.277 0.15% 2033.997op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.431µs 6.441µs ± 0.006µs 6.440µs ± 0.004µs 6.445µs 6.452µs 6.459µs 6.464µs 0.37% 0.844 0.680 0.10% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 154701430.222op/s 155244173.348op/s ± 148370.372op/s 155279130.727op/s ± 91046.754op/s 155358239.706op/s 155422168.641op/s 155499528.406op/s 155500764.495op/s 0.14% -0.839 0.665 0.10% 10491.370op/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.913µs; 3.914µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ throughput [255513162.407op/s; 255570061.655op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [80.706µs; 80.765µs] or [-0.037%; +0.037%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12381672.959op/s; 12390703.805op/s] or [-0.036%; +0.036%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [73.550µs; 73.632µs] or [-0.056%; +0.056%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13581229.127op/s; 13596334.063op/s] or [-0.056%; +0.056%] None None None
credit_card/is_card_number/37828224631 execution_time [3.913µs; 3.915µs] or [-0.031%; +0.031%] None None None
credit_card/is_card_number/37828224631 throughput [255427423.687op/s; 255580651.812op/s] or [-0.030%; +0.030%] None None None
credit_card/is_card_number/378282246310005 execution_time [70.621µs; 70.694µs] or [-0.051%; +0.051%] None None None
credit_card/is_card_number/378282246310005 throughput [14145755.322op/s; 14160283.749op/s] or [-0.051%; +0.051%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [52.842µs; 52.862µs] or [-0.019%; +0.019%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [18917343.705op/s; 18924466.057op/s] or [-0.019%; +0.019%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.440µs; 6.441µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number/x371413321323331 throughput [155248736.702op/s; 155285277.829op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.913µs; 3.914µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ throughput [255518193.374op/s; 255575068.640op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.150µs; 65.193µs] or [-0.032%; +0.032%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15339240.575op/s; 15349144.624op/s] or [-0.032%; +0.032%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [58.392µs; 58.423µs] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17116668.906op/s; 17125625.781op/s] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.913µs; 3.914µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255485228.606op/s; 255538506.364op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [55.547µs; 55.602µs] or [-0.050%; +0.050%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [17985266.042op/s; 18003086.442op/s] or [-0.050%; +0.050%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [52.835µs; 52.858µs] or [-0.021%; +0.021%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [18918780.649op/s; 18926753.772op/s] or [-0.021%; +0.021%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.441µs; 6.442µs] or [-0.013%; +0.013%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [155223610.641op/s; 155264736.054op/s] or [-0.013%; +0.013%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c21c8f0 1773760797 yannham/mem-ordering-seq-id
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.221ms 4.227ms ± 0.008ms 4.226ms ± 0.001ms 4.228ms 4.231ms 4.234ms 4.329ms 2.44% 11.758 152.682 0.18% 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.226ms; 4.228ms] or [-0.025%; +0.025%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c21c8f0 1773760797 yannham/mem-ordering-seq-id
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.806ns 192.098ns ± 1.777ns 191.877ns ± 1.248ns 193.141ns 195.060ns 197.968ns 198.564ns 3.48% 1.042 1.321 0.92% 0.126ns 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.852ns; 192.345ns] or [-0.128%; +0.128%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c21c8f0 1773760797 yannham/mem-ordering-seq-id
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 236.901ns 250.627ns ± 16.558ns 243.978ns ± 3.969ns 251.179ns 287.343ns 304.993ns 305.760ns 25.32% 1.660 1.800 6.59% 1.171ns 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 [248.332ns; 252.922ns] or [-0.916%; +0.916%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c21c8f0 1773760797 yannham/mem-ordering-seq-id
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 737.168µs 737.996µs ± 0.413µs 737.941µs ± 0.249µs 738.192µs 738.736µs 739.363µs 739.543µs 0.22% 1.166 1.978 0.06% 0.029µ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 [737.939µs; 738.053µs] or [-0.008%; +0.008%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c21c8f0 1773760797 yannham/mem-ordering-seq-id
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 12.979ms 13.016ms ± 0.024ms 13.012ms ± 0.013ms 13.025ms 13.071ms 13.094ms 13.112ms 0.77% 1.425 2.560 0.18% 0.002ms 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.013ms; 13.019ms] or [-0.025%; +0.025%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c21c8f0 1773760797 yannham/mem-ordering-seq-id
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.298µs 496.289µs ± 0.812µs 496.073µs ± 0.328µs 496.510µs 497.374µs 499.738µs 500.334µs 0.86% 2.814 9.445 0.16% 0.057µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1998663.338op/s 2014958.734op/s ± 3280.125op/s 2015834.153op/s ± 1332.269op/s 2016875.816op/s 2017870.406op/s 2018388.190op/s 2018986.776op/s 0.16% -2.797 9.347 0.16% 231.940op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 369.933µs 370.545µs ± 0.272µs 370.524µs ± 0.178µs 370.700µs 371.030µs 371.206µs 371.311µs 0.21% 0.346 -0.153 0.07% 0.019µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2693159.866op/s 2698727.104op/s ± 1981.333op/s 2698881.296op/s ± 1296.555op/s 2700189.163op/s 2701555.241op/s 2702730.128op/s 2703195.059op/s 0.16% -0.342 -0.156 0.07% 140.101op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 168.790µs 169.131µs ± 0.117µs 169.125µs ± 0.068µs 169.193µs 169.365µs 169.441µs 169.482µs 0.21% 0.370 0.283 0.07% 0.008µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5900322.693op/s 5912575.644op/s ± 4098.125op/s 5912783.961op/s ± 2390.364op/s 5915215.158op/s 5918543.947op/s 5920583.869op/s 5924521.595op/s 0.20% -0.366 0.280 0.07% 289.781op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.874µs 37.065µs ± 0.115µs 37.070µs ± 0.105µs 37.165µs 37.238µs 37.260µs 37.303µs 0.63% -0.011 -1.307 0.31% 0.008µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26807207.061op/s 26979820.877op/s ± 83471.650op/s 26976246.311op/s ± 76339.897op/s 27061073.443op/s 27100408.875op/s 27117143.892op/s 27119441.164op/s 0.53% 0.017 -1.310 0.31% 5902.337op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 46.198µs 46.312µs ± 0.107µs 46.299µs ± 0.034µs 46.340µs 46.392µs 46.445µs 47.646µs 2.91% 9.843 120.374 0.23% 0.008µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 20988221.273op/s 21592701.269op/s ± 48656.532op/s 21598774.129op/s ± 16050.634op/s 21613319.163op/s 21627894.474op/s 21636608.751op/s 21645790.635op/s 0.22% -9.667 117.444 0.22% 3440.536op/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.177µs; 496.402µs] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [2014504.140op/s; 2015413.328op/s] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [370.508µs; 370.583µs] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2698452.510op/s; 2699001.698op/s] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [169.115µs; 169.147µs] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5912007.683op/s; 5913143.604op/s] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.049µs; 37.081µs] or [-0.043%; +0.043%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26968252.509op/s; 26991389.245op/s] or [-0.043%; +0.043%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [46.297µs; 46.327µs] or [-0.032%; +0.032%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21585957.942op/s; 21599444.597op/s] or [-0.031%; +0.031%] None None None

Group 20

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz c21c8f0 1773760797 yannham/mem-ordering-seq-id
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.228µs 25.799µs ± 9.243µs 18.680µs ± 0.363µs 32.543µs 42.531µs 46.635µs 72.329µs 287.21% 1.201 2.114 35.74% 0.654µ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.518µs; 27.080µs] or [-4.965%; +4.965%] None None None

Baseline

Omitted due to size.

@yannham yannham requested a review from bwoebi March 17, 2026 15:41
@github-actions
Copy link

github-actions bot commented Mar 17, 2026

📚 Documentation Check Results

⚠️ 476 documentation warning(s) found

📦 libdd-telemetry - 476 warning(s)


Updated: 2026-03-20 11:50:49 UTC | Commit: 39a7bc8 | missing-docs job results

@github-actions
Copy link

github-actions bot commented Mar 17, 2026

🔒 Cargo Deny Results

No issues found!

📦 libdd-telemetry - ✅ No issues


Updated: 2026-03-20 11:54:17 UTC | Commit: 39a7bc8 | dependency-check job results

@dd-octo-sts
Copy link
Contributor

dd-octo-sts bot commented Mar 17, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.70 MB 8.70 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 100.42 MB 100.42 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.28 MB 11.28 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 117.12 MB 117.12 MB 0% (0 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 27.19 MB 27.19 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 76.61 KB 76.61 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 186.19 MB 186.17 MB --.01% (-24.00 KB) 💪
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 917.13 MB 917.13 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.94 MB 9.94 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 76.61 KB 76.61 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 24.80 MB 24.80 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 51.48 MB 51.48 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 22.99 MB 22.99 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 77.80 KB 77.80 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 190.40 MB 190.38 MB -0% (-16.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 900.81 MB 900.81 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.54 MB 7.54 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 77.80 KB 77.80 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 26.54 MB 26.54 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 47.10 MB 47.10 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 87.62 MB 87.62 MB 0% (0 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 10.22 MB 10.22 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 109.99 MB 109.99 MB 0% (0 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.97 MB 11.97 MB 0% (0 B) 👌

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.

4 participants