Skip to content

fix(stats): align with css spec#1790

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 8 commits into
mainfrom
vianney/client-side-stats-fixes
Mar 25, 2026
Merged

fix(stats): align with css spec#1790
gh-worker-dd-mergequeue-cf854d[bot] merged 8 commits into
mainfrom
vianney/client-side-stats-fixes

Conversation

@VianneyRuhlmann
Copy link
Copy Markdown
Contributor

The CSS implementation has several discrepancies with the CSS spec this PR fixes some of them:

Related to peer tags section

  • consumer span kind was not using peer tags
  • internal spans were not using base_service for peer tags

Related to payload section

  • the service field on the ClientStatsPayload was left empty
  • empty env was using "" instead of "unknown-env"
  • lang and tracer version were not left empty for the agent to populate

Motivation

Libdatadog should be align with the css spec

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Describe here in detail how the change can be validated.

VianneyRuhlmann and others added 2 commits March 25, 2026 11:52
The CSS spec requires peer tags for client, producer, and consumer spans.
The implementation only included client and producer.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Per the CSS spec, internal spans (not client/server/producer/consumer)
with a _dd.base_service tag should use it as their sole peer tag for
service override scenarios.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/vianney/client-side-stats-fixes

Summary by Rule

Rule Base Branch PR Branch Change
unwrap_used 1 1 No change (0%)
Total 1 1 No change (0%)

Annotation Counts by File

File Base Branch PR Branch Change
libdd-data-pipeline/src/stats_exporter.rs 1 1 No change (0%)

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 25, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-03-25 16:35:45

Comparing candidate commit 879a6e7 in PR branch vianney/client-side-stats-fixes with baseline commit db9b9f4 in branch main.

Found 6 performance improvements and 13 performance regressions! Performance is the same for 42 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.488µs; +5.575µs] or [+8.076%; +8.204%]
  • 🟥 throughput [-1115586.243op/s; -1099329.843op/s] or [-7.581%; -7.470%]

scenario:credit_card/is_card_number/378282246310005

  • 🟥 execution_time [+5.639µs; +5.719µs] or [+8.685%; +8.808%]
  • 🟥 throughput [-1246481.735op/s; -1230410.853op/s] or [-8.094%; -7.989%]

scenario:credit_card/is_card_number/37828224631000521389798

  • 🟥 execution_time [+7.429µs; +7.450µs] or [+16.253%; +16.299%]
  • 🟥 throughput [-3067179.995op/s; -3057854.030op/s] or [-14.019%; -13.977%]

scenario:credit_card/is_card_number/x371413321323331

  • 🟩 execution_time [-403.959ns; -402.098ns] or [-5.904%; -5.877%]
  • 🟩 throughput [+9126082.390op/s; +9169963.636op/s] or [+6.244%; +6.274%]

scenario:credit_card/is_card_number_no_luhn/ 378282246310005

  • 🟥 execution_time [+4.910µs; +4.940µs] or [+9.187%; +9.242%]
  • 🟥 throughput [-1582888.041op/s; -1574131.868op/s] or [-8.460%; -8.413%]

scenario:credit_card/is_card_number_no_luhn/378282246310005

  • 🟥 execution_time [+5.278µs; +5.335µs] or [+10.500%; +10.614%]
  • 🟥 throughput [-1909090.055op/s; -1890248.395op/s] or [-9.596%; -9.501%]

scenario:credit_card/is_card_number_no_luhn/37828224631000521389798

  • 🟥 execution_time [+7.434µs; +7.456µs] or [+16.271%; +16.321%]
  • 🟥 throughput [-3072513.784op/s; -3062136.155op/s] or [-14.037%; -13.989%]

scenario:credit_card/is_card_number_no_luhn/x371413321323331

  • 🟩 execution_time [-400.833ns; -399.212ns] or [-5.862%; -5.838%]
  • 🟩 throughput [+9068203.765op/s; +9105261.652op/s] or [+6.201%; +6.226%]

scenario:sql/obfuscate_sql_string

  • 🟩 execution_time [-197.442µs; -197.263µs] or [-68.935%; -68.873%]

scenario:tags/replace_trace_tags

  • 🟥 execution_time [+138.046ns; +146.332ns] or [+5.811%; +6.160%]

scenario:two way interface

  • 🟩 execution_time [-1.449µs; -1.351µs] or [-9.120%; -8.505%]

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 879a6e7 1774455444 vianney/client-side-stats-fixes
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 50.587ms 50.924ms ± 0.913ms 50.812ms ± 0.064ms 50.877ms 51.017ms 54.009ms 60.524ms 19.11% 8.945 83.432 1.79% 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 [50.797ms; 51.050ms] or [-0.248%; +0.248%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 879a6e7 1774455444 vianney/client-side-stats-fixes
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 35.390µs 36.038µs ± 1.214µs 35.478µs ± 0.036µs 35.532µs 38.656µs 38.729µs 39.438µs 11.16% 1.703 0.949 3.36% 0.086µ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 [35.870µs; 36.206µs] or [-0.467%; +0.467%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 879a6e7 1774455444 vianney/client-side-stats-fixes
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.145µs 14.486µs ± 0.092µs 14.486µs ± 0.068µs 14.552µs 14.631µs 14.733µs 14.849µs 2.51% 0.349 1.368 0.63% 0.006µ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.474µs; 14.499µs] or [-0.088%; +0.088%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 879a6e7 1774455444 vianney/client-side-stats-fixes
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.077µs 160.726µs ± 0.301µs 160.674µs ± 0.135µs 160.836µs 161.072µs 161.790µs 162.768µs 1.30% 2.993 16.016 0.19% 0.021µ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.684µs; 160.768µs] or [-0.026%; +0.026%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 879a6e7 1774455444 vianney/client-side-stats-fixes
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 245.651ns 257.960ns ± 13.515ns 250.730ns ± 3.285ns 263.115ns 289.778ns 292.264ns 294.748ns 17.56% 1.323 0.425 5.23% 0.956ns 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 [256.087ns; 259.833ns] or [-0.726%; +0.726%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 879a6e7 1774455444 vianney/client-side-stats-fixes
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.284µs 496.376µs ± 0.822µs 496.176µs ± 0.298µs 496.555µs 498.036µs 499.917µs 500.152µs 0.80% 2.286 6.597 0.17% 0.058µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1999392.185op/s 2014605.797op/s ± 3324.788op/s 2015414.901op/s ± 1211.928op/s 2016321.959op/s 2018064.955op/s 2018906.019op/s 2019041.808op/s 0.18% -2.270 6.508 0.16% 235.098op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 370.295µs 371.107µs ± 0.328µs 371.089µs ± 0.224µs 371.312µs 371.715µs 371.836µs 371.890µs 0.22% 0.228 -0.393 0.09% 0.023µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2688969.368op/s 2694642.019op/s ± 2378.540op/s 2694774.966op/s ± 1627.399op/s 2696398.643op/s 2698353.107op/s 2699311.499op/s 2700552.416op/s 0.21% -0.224 -0.394 0.09% 168.188op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 167.929µs 168.678µs ± 0.316µs 168.710µs ± 0.182µs 168.872µs 169.137µs 169.456µs 169.700µs 0.59% 0.083 0.339 0.19% 0.022µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5892764.836op/s 5928490.376op/s ± 11106.073op/s 5927347.264op/s ± 6401.253op/s 5936257.572op/s 5947496.990op/s 5952299.400op/s 5954888.534op/s 0.46% -0.070 0.322 0.19% 785.318op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.837µs 37.042µs ± 0.113µs 37.065µs ± 0.092µs 37.130µs 37.187µs 37.254µs 37.323µs 0.70% -0.177 -1.016 0.31% 0.008µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26793095.852op/s 26996640.365op/s ± 82734.525op/s 26979944.218op/s ± 66918.084op/s 27075182.024op/s 27128283.944op/s 27143190.173op/s 27146830.705op/s 0.62% 0.185 -1.021 0.31% 5850.214op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 46.191µs 46.445µs ± 0.202µs 46.426µs ± 0.071µs 46.497µs 46.621µs 46.744µs 48.447µs 4.35% 6.666 58.628 0.43% 0.014µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 20641131.905op/s 21531313.695op/s ± 90916.676op/s 21539837.513op/s ± 32991.941op/s 21572539.883op/s 21608562.271op/s 21623307.913op/s 21649030.725op/s 0.51% -6.459 55.948 0.42% 6428.780op/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.262µs; 496.490µs] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [2014145.013op/s; 2015066.580op/s] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [371.062µs; 371.153µs] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2694312.377op/s; 2694971.662op/s] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [168.634µs; 168.721µs] or [-0.026%; +0.026%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5926951.181op/s; 5930029.571op/s] or [-0.026%; +0.026%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.026µs; 37.058µs] or [-0.042%; +0.042%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26985174.156op/s; 27008106.575op/s] or [-0.042%; +0.042%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [46.417µs; 46.473µs] or [-0.060%; +0.060%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21518713.518op/s; 21543913.872op/s] or [-0.059%; +0.059%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 879a6e7 1774455444 vianney/client-side-stats-fixes
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.789ns 193.028ns ± 1.913ns 192.737ns ± 1.298ns 193.835ns 196.796ns 198.687ns 199.868ns 3.70% 1.111 1.082 0.99% 0.135ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
single_flag_killswitch/rules-based execution_time [192.763ns; 193.293ns] or [-0.137%; +0.137%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 879a6e7 1774455444 vianney/client-side-stats-fixes
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sql/obfuscate_sql_string execution_time 88.707µs 89.063µs ± 0.154µs 89.030µs ± 0.049µs 89.092µs 89.278µs 89.491µs 90.464µs 1.61% 4.761 36.139 0.17% 0.011µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sql/obfuscate_sql_string execution_time [89.042µs; 89.084µs] or [-0.024%; +0.024%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 879a6e7 1774455444 vianney/client-side-stats-fixes
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 145.086µs 147.051µs ± 1.833µs 146.812µs ± 0.615µs 147.437µs 148.750µs 154.213µs 165.509µs 12.74% 6.245 54.293 1.24% 0.130µ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.797µs; 147.305µs] or [-0.173%; +0.173%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 879a6e7 1774455444 vianney/client-side-stats-fixes
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.149ms 4.154ms ± 0.003ms 4.154ms ± 0.002ms 4.155ms 4.158ms 4.160ms 4.169ms 0.37% 1.244 4.561 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.154ms; 4.154ms] or [-0.009%; +0.009%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 879a6e7 1774455444 vianney/client-side-stats-fixes
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.241µs 738.081µs ± 0.411µs 738.019µs ± 0.242µs 738.292µs 738.865µs 739.348µs 739.782µs 0.24% 0.942 1.434 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 [738.024µs; 738.138µs] or [-0.008%; +0.008%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 879a6e7 1774455444 vianney/client-side-stats-fixes
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.276ms 13.302ms ± 0.016ms 13.298ms ± 0.008ms 13.310ms 13.329ms 13.345ms 13.403ms 0.79% 1.963 8.412 0.12% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
concentrator/add_spans_to_concentrator execution_time [13.300ms; 13.304ms] or [-0.016%; +0.016%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 879a6e7 1774455444 vianney/client-side-stats-fixes
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.421µs 185.990µs ± 0.294µs 185.982µs ± 0.177µs 186.135µs 186.399µs 186.939µs 187.961µs 1.06% 2.068 9.991 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 5320256.144op/s 5376655.187op/s ± 8485.996op/s 5376855.757op/s ± 5107.259op/s 5382993.603op/s 5386917.686op/s 5389060.931op/s 5393129.477op/s 0.30% -2.032 9.706 0.16% 600.051op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.787µs 17.866µs ± 0.047µs 17.862µs ± 0.021µs 17.885µs 17.915µs 17.939µs 18.257µs 2.21% 4.092 30.240 0.26% 0.003µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 54774343.513op/s 55973781.257op/s ± 146261.266op/s 55983968.833op/s ± 66424.187op/s 56047369.921op/s 56151599.209op/s 56207202.762op/s 56220862.003op/s 0.42% -3.971 29.051 0.26% 10342.233op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.554µs 10.605µs ± 0.033µs 10.598µs ± 0.015µs 10.618µs 10.648µs 10.683µs 10.922µs 3.05% 4.628 39.371 0.31% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 91559090.560op/s 94298620.323op/s ± 293257.533op/s 94355488.995op/s ± 131586.832op/s 94442679.153op/s 94622434.051op/s 94737546.948op/s 94748132.702op/s 0.42% -4.444 37.050 0.31% 20736.439op/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.949µs; 186.031µ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 [5375479.110op/s; 5377831.264op/s] or [-0.022%; +0.022%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [17.859µs; 17.872µs] or [-0.037%; +0.037%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [55953510.852op/s; 55994051.661op/s] or [-0.036%; +0.036%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.600µs; 10.609µs] or [-0.044%; +0.044%] None None None
normalization/normalize_name/normalize_name/good throughput [94257977.650op/s; 94339262.997op/s] or [-0.043%; +0.043%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 879a6e7 1774455444 vianney/client-side-stats-fixes
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.488µs 2.518µs ± 0.017µs 2.513µs ± 0.009µs 2.524µs 2.564µs 2.567µs 2.570µs 2.26% 1.368 1.747 0.69% 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.515µs; 2.520µs] or [-0.096%; +0.096%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 879a6e7 1774455444 vianney/client-side-stats-fixes
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
credit_card/is_card_number/ execution_time 3.894µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.914µs 3.916µs 3.919µs 3.929µs 0.42% -0.001 12.087 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 254545048.795op/s 255599434.467op/s ± 185275.889op/s 255606370.591op/s ± 86005.618op/s 255694909.853op/s 255835245.230op/s 255871354.033op/s 256779248.538op/s 0.46% 0.032 12.143 0.07% 13100.984op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 80.020µs 80.678µs ± 0.243µs 80.648µs ± 0.165µs 80.831µs 81.096µs 81.323µs 81.504µs 1.06% 0.369 0.520 0.30% 0.017µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12269313.408op/s 12395129.708op/s ± 37340.666op/s 12399598.261op/s ± 25417.608op/s 12418682.977op/s 12446827.343op/s 12484828.980op/s 12496806.512op/s 0.78% -0.348 0.501 0.30% 2640.384op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 73.019µs 73.485µs ± 0.303µs 73.440µs ± 0.207µs 73.656µs 74.014µs 74.291µs 74.626µs 1.62% 0.822 0.521 0.41% 0.021µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13400081.504op/s 13608522.313op/s ± 55931.898op/s 13616501.168op/s ± 38310.455op/s 13653716.797op/s 13681671.782op/s 13690436.629op/s 13695017.400op/s 0.58% -0.800 0.455 0.41% 3954.982op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.908µs 3.913µs ± 0.002µs 3.912µs ± 0.001µs 3.914µs 3.917µs 3.919µs 3.920µs 0.19% 0.710 0.456 0.05% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 255126765.363op/s 255581123.596op/s ± 139297.598op/s 255599552.701op/s ± 87495.955op/s 255679740.119op/s 255780355.846op/s 255834675.613op/s 255853602.090op/s 0.10% -0.707 0.449 0.05% 9849.828op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 69.975µs 70.612µs ± 0.280µs 70.585µs ± 0.187µs 70.787µs 71.098µs 71.310µs 71.596µs 1.43% 0.409 0.213 0.40% 0.020µs 1 200
credit_card/is_card_number/378282246310005 throughput 13967341.797op/s 14162180.454op/s ± 56054.376op/s 14167383.212op/s ± 37521.022op/s 14198701.908op/s 14244873.929op/s 14271759.401op/s 14290823.902op/s 0.87% -0.384 0.177 0.39% 3963.643op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 53.070µs 53.147µs ± 0.037µs 53.142µs ± 0.029µs 53.174µs 53.213µs 53.230µs 53.232µs 0.17% 0.301 -0.709 0.07% 0.003µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 18785838.460op/s 18815878.001op/s ± 12970.370op/s 18817417.880op/s ± 10126.540op/s 18826555.255op/s 18833645.771op/s 18839316.285op/s 18842913.509op/s 0.14% -0.299 -0.711 0.07% 917.144op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.429µs 6.439µs ± 0.006µs 6.438µs ± 0.003µs 6.441µs 6.448µs 6.464µs 6.473µs 0.55% 2.271 8.355 0.09% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 154476216.776op/s 155301817.278op/s ± 145446.412op/s 155330101.455op/s ± 71247.279op/s 155395575.115op/s 155460304.612op/s 155492952.710op/s 155546182.302op/s 0.14% -2.257 8.263 0.09% 10284.614op/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.914µs 3.917µs 3.919µs 3.927µs 0.36% -0.603 11.399 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254670757.341op/s 255571797.346op/s ± 188362.915op/s 255577381.423op/s ± 111306.064op/s 255691818.941op/s 255772364.999op/s 255842512.899op/s 256843533.653op/s 0.50% 0.632 11.534 0.07% 13319.269op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.876µs 65.166µs ± 0.134µs 65.134µs ± 0.070µs 65.232µs 65.413µs 65.563µs 65.808µs 1.03% 1.272 2.861 0.21% 0.010µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15195761.369op/s 15345402.710op/s ± 31579.124op/s 15352851.401op/s ± 16601.813op/s 15365921.463op/s 15383609.072op/s 15399726.411op/s 15414049.906op/s 0.40% -1.253 2.776 0.21% 2232.981op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 58.193µs 58.373µs ± 0.103µs 58.360µs ± 0.067µs 58.432µs 58.565µs 58.654µs 58.720µs 0.62% 0.744 0.287 0.18% 0.007µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 17029903.620op/s 17131310.415op/s ± 30155.157op/s 17135123.854op/s ± 19683.374op/s 17152665.938op/s 17170669.668op/s 17180066.969op/s 17184267.803op/s 0.29% -0.735 0.265 0.18% 2132.292op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.894µs 3.914µs ± 0.003µs 3.914µs ± 0.002µs 3.916µs 3.918µs 3.919µs 3.929µs 0.40% -0.518 9.344 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254510392.972op/s 255521361.213op/s ± 201936.881op/s 255523420.541op/s ± 139292.400op/s 255669920.456op/s 255769837.954op/s 255849371.772op/s 256805676.842op/s 0.50% 0.544 9.434 0.08% 14279.094op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 55.182µs 55.569µs ± 0.198µs 55.535µs ± 0.121µs 55.692µs 55.939µs 56.121µs 56.236µs 1.26% 0.822 0.732 0.36% 0.014µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17782075.332op/s 17995896.413op/s ± 63889.192op/s 18006793.987op/s ± 39263.206op/s 18040029.924op/s 18080465.147op/s 18116615.505op/s 18121920.658op/s 0.64% -0.800 0.682 0.35% 4517.648op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 53.060µs 53.130µs ± 0.036µs 53.127µs ± 0.021µs 53.147µs 53.192µs 53.231µs 53.336µs 0.39% 1.494 5.286 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 18749207.623op/s 18821913.872op/s ± 12735.206op/s 18822877.963op/s ± 7428.121op/s 18830387.353op/s 18838072.945op/s 18843205.768op/s 18846462.853op/s 0.13% -1.484 5.224 0.07% 900.515op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.429µs 6.438µs ± 0.004µs 6.438µs ± 0.003µs 6.440µs 6.445µs 6.450µs 6.453µs 0.24% 0.656 0.652 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 154959662.094op/s 155328485.602op/s ± 102268.341op/s 155338718.185op/s ± 64275.158op/s 155395991.998op/s 155482369.159op/s 155507277.672op/s 155535262.638op/s 0.13% -0.652 0.642 0.07% 7231.464op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
credit_card/is_card_number/ execution_time [3.912µs; 3.913µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ throughput [255573757.010op/s; 255625111.923op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [80.644µs; 80.711µs] or [-0.042%; +0.042%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12389954.651op/s; 12400304.766op/s] or [-0.042%; +0.042%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [73.443µs; 73.527µs] or [-0.057%; +0.057%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13600770.689op/s; 13616273.936op/s] or [-0.057%; +0.057%] None None None
credit_card/is_card_number/37828224631 execution_time [3.912µs; 3.913µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/37828224631 throughput [255561818.289op/s; 255600428.904op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/378282246310005 execution_time [70.573µs; 70.650µs] or [-0.055%; +0.055%] None None None
credit_card/is_card_number/378282246310005 throughput [14154411.857op/s; 14169949.051op/s] or [-0.055%; +0.055%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [53.142µs; 53.152µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [18814080.433op/s; 18817675.570op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.438µs; 6.440µs] or [-0.013%; +0.013%] None None None
credit_card/is_card_number/x371413321323331 throughput [155281659.805op/s; 155321974.752op/s] or [-0.013%; +0.013%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.912µs; 3.913µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255545692.058op/s; 255597902.635op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.148µs; 65.185µs] or [-0.029%; +0.029%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15341026.147op/s; 15349779.273op/s] or [-0.029%; +0.029%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [58.359µs; 58.387µs] or [-0.024%; +0.024%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17127131.200op/s; 17135489.630op/s] or [-0.024%; +0.024%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.913µs; 3.914µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255493374.703op/s; 255549347.722op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [55.542µs; 55.596µs] or [-0.049%; +0.049%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [17987041.985op/s; 18004750.840op/s] or [-0.049%; +0.049%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [53.125µs; 53.135µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [18820148.895op/s; 18823678.849op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.437µs; 6.439µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [155314312.194op/s; 155342659.011op/s] or [-0.009%; +0.009%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 879a6e7 1774455444 vianney/client-side-stats-fixes
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.574µs 5.647µs ± 0.038µs 5.656µs ± 0.029µs 5.674µs 5.697µs 5.710µs 5.812µs 2.76% 0.101 0.459 0.66% 0.003µ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.642µs; 5.652µs] or [-0.092%; +0.092%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 879a6e7 1774455444 vianney/client-side-stats-fixes
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.989ms 14.169ms ± 0.225ms 14.046ms ± 0.019ms 14.235ms 14.573ms 14.649ms 14.713ms 4.75% 1.186 -0.485 1.59% 0.016ms 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.138ms; 14.200ms] or [-0.220%; +0.220%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 879a6e7 1774455444 vianney/client-side-stats-fixes
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.178ms 4.184ms ± 0.008ms 4.183ms ± 0.002ms 4.185ms 4.187ms 4.190ms 4.295ms 2.67% 12.200 160.634 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.183ms; 4.185ms] 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 879a6e7 1774455444 vianney/client-side-stats-fixes
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.954µs 5.008µs ± 0.033µs 5.004µs ± 0.026µs 5.033µs 5.066µs 5.069µs 5.114µs 2.21% 0.584 -0.729 0.66% 0.002µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
ip_address/quantize_peer_ip_address_benchmark execution_time [5.003µs; 5.012µs] or [-0.092%; +0.092%] None None None

Group 20

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 879a6e7 1774455444 vianney/client-side-stats-fixes
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.382ms 3.458ms ± 0.062ms 3.426ms ± 0.018ms 3.524ms 3.575ms 3.593ms 3.609ms 5.36% 0.940 -0.707 1.78% 0.004ms 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.449ms; 3.466ms] or [-0.247%; +0.247%] None None None

Baseline

Omitted due to size.

VianneyRuhlmann and others added 3 commits March 25, 2026 14:17
…ulate

The CSS spec states these fields should be left empty in
ClientStatsPayload for the agent to populate.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The CSS spec requires the tracer to populate the service field with the
main service name. It was previously left empty.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The CSS spec requires the env field to never be empty, defaulting to
"unknown-env" if not configured.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@VianneyRuhlmann VianneyRuhlmann force-pushed the vianney/client-side-stats-fixes branch from ef13720 to 40ab604 Compare March 25, 2026 13:20
@datadog-prod-us1-5
Copy link
Copy Markdown

datadog-prod-us1-5 Bot commented Mar 25, 2026

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 71.10% (+0.13%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 879a6e7 | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback!

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Mar 25, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.09%. Comparing base (d1eb663) to head (879a6e7).
⚠️ Report is 7 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1790      +/-   ##
==========================================
+ Coverage   70.46%   71.09%   +0.63%     
==========================================
  Files         410      411       +1     
  Lines       62138    64927    +2789     
==========================================
+ Hits        43786    46161    +2375     
- Misses      18352    18766     +414     
Components Coverage Δ
libdd-crashtracker 65.27% <ø> (+0.34%) ⬆️
libdd-crashtracker-ffi 34.98% <ø> (ø)
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 87.63% <100.00%> (+0.02%) ⬆️
libdd-data-pipeline-ffi 73.45% <ø> (ø)
libdd-common 79.78% <ø> (ø)
libdd-common-ffi 73.87% <ø> (ø)
libdd-telemetry 62.48% <ø> (ø)
libdd-telemetry-ffi 16.75% <ø> (ø)
libdd-dogstatsd-client 82.64% <ø> (ø)
datadog-ipc 72.56% <ø> (ø)
libdd-profiling 81.60% <ø> (-0.01%) ⬇️
libdd-profiling-ffi 64.94% <ø> (ø)
datadog-sidecar 31.63% <ø> (ø)
datdog-sidecar-ffi 13.34% <ø> (ø)
spawn-worker 54.69% <ø> (ø)
libdd-tinybytes 93.16% <ø> (ø)
libdd-trace-normalization 81.71% <ø> (ø)
libdd-trace-obfuscation 87.37% <ø> (-4.90%) ⬇️
libdd-trace-protobuf 68.25% <ø> (ø)
libdd-trace-utils 88.95% <ø> (ø)
datadog-tracer-flare 86.88% <ø> (ø)
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 25, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 101.42 MB 101.43 MB +0% (+3.10 KB) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.70 MB 8.70 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 118.20 MB 118.21 MB +0% (+6.30 KB) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.29 MB 11.29 MB +0% (+24 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 27.26 MB 27.26 MB +.01% (+5.00 KB) 🔍
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 80.34 KB 80.34 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 186.51 MB 186.49 MB -0% (-16.00 KB) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 921.90 MB 921.90 MB +0% (+1.79 KB) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 8.99 MB 8.99 MB -0% (-512 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 80.34 KB 80.34 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 26.83 MB 26.83 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 60.99 MB 60.99 MB +0% (+1.08 KB) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 23.07 MB 23.07 MB +0% (+512 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 81.59 KB 81.59 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 190.75 MB 190.74 MB -0% (-8.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 905.43 MB 905.43 MB +0% (+1.27 KB) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 6.86 MB 6.86 MB +0% (+512 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 81.59 KB 81.59 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 28.94 MB 28.94 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 57.39 MB 57.39 MB +0% (+1.39 KB) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 88.29 MB 88.29 MB +0% (+3.09 KB) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 10.28 MB 10.28 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 110.95 MB 110.95 MB +0% (+3.35 KB) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 12.02 MB 12.02 MB 0% (0 B) 👌

@VianneyRuhlmann VianneyRuhlmann force-pushed the vianney/client-side-stats-fixes branch from 80d6362 to f3efe3c Compare March 25, 2026 15:27
@VianneyRuhlmann VianneyRuhlmann marked this pull request as ready for review March 25, 2026 15:50
@VianneyRuhlmann VianneyRuhlmann requested review from a team as code owners March 25, 2026 15:50
Comment thread libdd-trace-stats/src/span_concentrator/aggregation.rs Outdated
VianneyRuhlmann and others added 2 commits March 25, 2026 16:58
Co-authored-by: paullegranddc <82819397+paullegranddc@users.noreply.github.com>
@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d Bot merged commit b1d5bcf into main Mar 25, 2026
85 checks passed
@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d Bot deleted the vianney/client-side-stats-fixes branch March 25, 2026 18:07
VianneyRuhlmann added a commit that referenced this pull request Mar 25, 2026
The CSS implementation has several discrepancies with the [CSS spec](https://datadoghq.atlassian.net/wiki/spaces/APM/pages/6378947571/Client-Side+Stats+v1.3.0) this PR fixes some of them:

Related to [peer tags section](https://datadoghq.atlassian.net/wiki/spaces/APM/pages/6378947571/Client-Side+Stats+v1.3.0#Peer-Tags-in-Aggregation)
- consumer span kind was not using peer tags
- internal spans were not using base_service for peer tags

Related to [payload section](https://datadoghq.atlassian.net/wiki/spaces/APM/pages/6378947571/Client-Side+Stats+v1.3.0#Deployment-Level-Characteristics)
- the service field on the ClientStatsPayload was left empty
- empty env was using "" instead of "unknown-env"
- lang and tracer version were not left empty for the agent to populate

# Motivation

Libdatadog should be align with the css spec

# Additional Notes

Anything else we should know when reviewing?

# How to test the change?

Describe here in detail how the change can be validated.


Co-authored-by: vianney.ruhlmann <vianney.ruhlmann@datadoghq.com>
gh-worker-dd-mergequeue-cf854d Bot pushed a commit to DataDog/dd-trace-py that referenced this pull request Apr 1, 2026
…rt 4.6] (#17254)

## Description

Backport of #17133 to 4.6


Libdatadog fix: DataDog/libdatadog#1790

## Testing

<!-- Describe your testing strategy or note what tests are included -->

## Risks

<!-- Note any risks associated with this change, or "None" if no risks -->

## Additional Notes

<!-- Any other information that would be helpful for reviewers -->


Co-authored-by: vianney.ruhlmann <vianney.ruhlmann@datadoghq.com>
iunanua added a commit that referenced this pull request May 18, 2026
# Release proposal for libdd-data-pipeline and its dependencies

This PR contains version bumps based on public API changes and commits
since last release.

## libdd-dogstatsd-client
**Next version:** `3.0.0`
**Semver bump:** `major`
**Tag:** `libdd-dogstatsd-client-v3.0.0`

### ⚠️ major bump forced due to:

- `libdd-common`: ^3.0.2 → ^4.1.0

### Commits

- fix(crypto): gate libdd-common TLS features in remaining internal
crates + add CI guard (#1943)

## libdd-trace-obfuscation
**Next version:** `3.0.0`
**Semver bump:** `major`
**Tag:** `libdd-trace-obfuscation-v3.0.0`

### ⚠️ major bump forced due to:

- `libdd-common`: ^3.0.2 → ^4.1.0
- `libdd-trace-utils`: ^3.0.1 → ^4.0.0

### Commits

- feat!: integrate obfuscation to the stats exporter [APMSP-2764]
(#1819)
- feat!: added regex-lite feature (#1939)
- chore: clippy (#1889)
- fix(crypto): gate libdd-common TLS features in obfuscation and
capabilities-impl (#1872)
- feat(obfuscation)!: feature parity on span obfuscation [APMSP-2671]
(#1788)
- feat(obfuscation/sql): feature parity on sql obfuscation [APMSP-2667]
(#1708)

## libdd-trace-stats
**Next version:** `3.0.0`
**Semver bump:** `major`
**Tag:** `libdd-trace-stats-v3.0.0`

### ⚠️ major bump forced due to:

- `libdd-trace-utils`: ^3.0.1 → ^4.0.0

### Commits

- perf: pre-compute string messagepack encoding (#1948)
- feat!: integrate obfuscation to the stats exporter [APMSP-2764]
(#1819)
- feat(capablities)!: sleep & spawn capabilities (#1873)
- feat: use ip quantization when aggregating peer tags for trace stats
(#1944)
- fix(crypto): gate libdd-common TLS features in remaining internal
crates + add CI guard (#1943)
- feat(shared_runtime)!: allow worker to be stopped after fork (#1893)
- feat(sidecar)!: Add stats computation via SHM (#1821)
- feat(stats): propagate service source from span meta to client stats
payload (#1803)
- fix(stats): align with css spec (#1790)

## libdd-data-pipeline
**Next version:** `4.0.0`
**Semver bump:** `major`
**Tag:** `libdd-data-pipeline-v4.0.0`

### ⚠️ major bump forced due to:

- `libdd-common`: ^3.0.2 → ^4.1.0
- `libdd-telemetry`: ^4.0.0 → ^5.0.0
- `libdd-trace-utils`: ^3.0.1 → ^4.0.0

### Commits

- fix(libdd-telemetry): restore previous Cargo.toml version (#1993)
- fix(data-pipeline): remove default-features from of trace-obfuscation
(#1981)
- fix(trace_exporter: shared_runtime): unwrap_or being eager is not good
(#1983)
- perf: pre-compute string messagepack encoding (#1948)
- feat!: integrate obfuscation to the stats exporter [APMSP-2764]
(#1819)
- feat(capablities)!: sleep & spawn capabilities (#1873)
- fix(telemetry): avoid trigger loop in telemetry worker (#1950)
- feat(telemetry)!: include dependencies and integrations in
app-extended-heartbeat (#1962)
- perf(trace-serializer): pre-allocate serialization buffer (#1949)
- feat!: added regex-lite feature (#1939)
- fix(crypto): gate libdd-common TLS features in remaining internal
crates + add CI guard (#1943)
- feat(telemetry): add session id support to trace export (#1822)
- fix(path): missing bench path in data-pipeline (#1907)
- feat(data-pipeline): port dd-trace-rs trace buffer implementation
(#1826)
- feat(info_fetcher): add timeout to info fetcher (#1890)
- feat(shared_runtime)!: allow worker to be stopped after fork (#1893)
- feat(sidecar)!: Add stats computation via SHM (#1821)
- ci(libdd-shared-runtime): downgrade version so publish workflow
succeeds (#1870)
- feat(runtime)!: add shared runtime (#1602)
- ci: compilation of libdd-data-pipeline to wasm32 (#1830)
- feat(capabilities)!: trait architecture http (#1555)
- feat(otel): add support for OTLP trace export (#1641)
- fix(stats): align with css spec (#1790)

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: iunanua <18325288+iunanua@users.noreply.github.com>
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.

3 participants