Skip to content

feat(otel): add support for OTLP trace export#1641

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 38 commits intomainfrom
rachel.yang/OTLP-trace-export
Mar 27, 2026
Merged

feat(otel): add support for OTLP trace export#1641
gh-worker-dd-mergequeue-cf854d[bot] merged 38 commits intomainfrom
rachel.yang/OTLP-trace-export

Conversation

@rachelyangdog
Copy link
Copy Markdown
Contributor

@rachelyangdog rachelyangdog commented Mar 2, 2026

What does this PR do?

Summary

This PR adds an OTLP HTTP/JSON trace export path to TraceExporter. When OTEL_TRACES_EXPORTER=otlp is set, the exporter converts Datadog msgpack trace payloads to OTLP and POSTs them to the configured OTLP endpoint instead of the Datadog agent. The caller (e.g. dd-trace-py) sends traces in the same format as before — no changes are required on the tracer side.

Not in scope

  • http/protobuf and grpc protocols (they are parsed from env but not yet implemented; http/json is the default and only supported format). This is currently a POC so we will add additional support later.

Motivation

We are seeing an increasing number of scenarios where users have applications instrumented with the OTel SDK sending data to OTel collectors, and they would like to get additional features offered by the DD SDK without needing to update their OTel collector deployments. Although there will be follow-up work, this provides the ability for users to write vendor-neutral API instrumentation and emit vendor-neutral telemetry data so DD SDK users don't have to feel locked in when setting up Datadog APM.

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Describe here in detail how the change can be validated.

@rachelyangdog rachelyangdog requested a review from a team as a code owner March 2, 2026 21:42
@rachelyangdog rachelyangdog marked this pull request as draft March 2, 2026 21:42
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 2, 2026

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/rachel.yang/OTLP-trace-export

Summary by Rule

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

Annotation Counts by File

File Base Branch PR Branch Change
libdd-data-pipeline/src/trace_exporter/mod.rs 2 2 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 2, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-03-26 23:22:58

Comparing candidate commit 3b26275 in PR branch rachel.yang/OTLP-trace-export with baseline commit 8c88979 in branch main.

Found 6 performance improvements and 2 performance regressions! Performance is the same for 54 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:benching deserializing traces from msgpack to their internal representation

  • 🟥 execution_time [+2.747ms; +3.085ms] or [+5.628%; +6.320%]

scenario:benching serializing traces from their internal representation to msgpack

  • 🟩 execution_time [-986.457µs; -974.879µs] or [-6.669%; -6.591%]

scenario:credit_card/is_card_number/x371413321323331

  • 🟩 execution_time [-597.599ns; -579.810ns] or [-9.284%; -9.008%]
  • 🟩 throughput [+15400381.688op/s; +15918302.391op/s] or [+9.913%; +10.246%]

scenario:credit_card/is_card_number_no_luhn/x371413321323331

  • 🟩 execution_time [-614.160ns; -598.114ns] or [-9.543%; -9.293%]
  • 🟩 throughput [+15935376.640op/s; +16406821.224op/s] or [+10.256%; +10.559%]

scenario:profile_add_sample_frames_x1000

  • 🟥 execution_time [+197.157µs; +198.260µs] or [+4.796%; +4.823%]

scenario:sql/obfuscate_sql_string

  • 🟩 execution_time [-21.969µs; -21.665µs] or [-7.042%; -6.945%]

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 3b26275 1774566236 rachel.yang/OTLP-trace-export
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.808µs 34.428µs ± 1.117µs 33.921µs ± 0.046µs 33.987µs 36.845µs 36.904µs 37.330µs 10.05% 1.707 0.939 3.24% 0.079µ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.274µs; 34.583µs] or [-0.450%; +0.450%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3b26275 1774566236 rachel.yang/OTLP-trace-export
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.409ns 192.861ns ± 1.745ns 192.763ns ± 1.312ns 193.751ns 196.134ns 198.226ns 199.584ns 3.54% 0.950 1.011 0.90% 0.123ns 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.620ns; 193.103ns] or [-0.125%; +0.125%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3b26275 1774566236 rachel.yang/OTLP-trace-export
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 13.947µs 14.161µs ± 0.071µs 14.150µs ± 0.035µs 14.194µs 14.274µs 14.393µs 14.613µs 3.27% 1.803 8.640 0.50% 0.005µ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.151µs; 14.171µs] or [-0.070%; +0.070%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3b26275 1774566236 rachel.yang/OTLP-trace-export
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 289.564µs 290.135µs ± 0.702µs 290.047µs ± 0.157µs 290.209µs 290.502µs 291.839µs 298.439µs 2.89% 8.817 97.397 0.24% 0.050µ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 [290.037µs; 290.232µs] or [-0.034%; +0.034%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3b26275 1774566236 rachel.yang/OTLP-trace-export
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 14.825ms 14.856ms ± 0.019ms 14.853ms ± 0.011ms 14.865ms 14.884ms 14.904ms 14.974ms 0.81% 2.043 9.306 0.13% 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 [14.854ms; 14.859ms] or [-0.017%; +0.017%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3b26275 1774566236 rachel.yang/OTLP-trace-export
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 161.863µs 162.521µs ± 0.360µs 162.470µs ± 0.134µs 162.606µs 162.932µs 163.769µs 166.008µs 2.18% 5.209 44.261 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 [162.471µs; 162.570µs] or [-0.031%; +0.031%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3b26275 1774566236 rachel.yang/OTLP-trace-export
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.770ms 13.810ms ± 0.029ms 13.806ms ± 0.015ms 13.823ms 13.843ms 13.932ms 13.992ms 1.35% 2.673 11.638 0.21% 0.002ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching serializing traces from their internal representation to msgpack execution_time [13.807ms; 13.814ms] or [-0.029%; +0.029%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3b26275 1774566236 rachel.yang/OTLP-trace-export
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 242.973ns 254.048ns ± 11.762ns 250.721ns ± 4.591ns 256.279ns 286.642ns 293.412ns 294.695ns 17.54% 2.016 3.592 4.62% 0.832ns 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 [252.418ns; 255.678ns] or [-0.642%; +0.642%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3b26275 1774566236 rachel.yang/OTLP-trace-export
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.304ms 4.309ms ± 0.003ms 4.308ms ± 0.001ms 4.309ms 4.312ms 4.314ms 4.339ms 0.71% 5.752 55.796 0.07% 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.308ms; 4.309ms] or [-0.009%; +0.009%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3b26275 1774566236 rachel.yang/OTLP-trace-export
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 51.499ms 51.721ms ± 0.661ms 51.614ms ± 0.058ms 51.668ms 51.800ms 56.363ms 57.247ms 10.91% 6.762 47.319 1.27% 0.047ms 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 [51.629ms; 51.812ms] or [-0.177%; +0.177%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3b26275 1774566236 rachel.yang/OTLP-trace-export
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.912µs ± 0.002µs 3.911µs ± 0.001µs 3.913µs 3.915µs 3.917µs 3.919µs 0.19% -2.283 21.163 0.06% 0.000µs 1 200
credit_card/is_card_number/ throughput 255177804.142op/s 255643568.212op/s ± 158179.835op/s 255662864.969op/s ± 76864.199op/s 255729543.156op/s 255815173.110op/s 255844072.666op/s 256943064.853op/s 0.50% 2.316 21.477 0.06% 11185.003op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 78.976µs 79.655µs ± 0.379µs 79.627µs ± 0.234µs 79.832µs 80.336µs 80.727µs 80.930µs 1.64% 0.691 0.286 0.48% 0.027µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12356407.028op/s 12554419.191op/s ± 59611.876op/s 12558633.133op/s ± 36888.811op/s 12601682.325op/s 12635338.772op/s 12654608.737op/s 12662044.016op/s 0.82% -0.666 0.230 0.47% 4215.196op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 72.323µs 72.983µs ± 0.356µs 72.943µs ± 0.239µs 73.196µs 73.534µs 74.068µs 74.229µs 1.76% 0.667 0.713 0.49% 0.025µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13471794.748op/s 13702086.749op/s ± 66534.118op/s 13709359.235op/s ± 45090.841op/s 13751251.127op/s 13801817.147op/s 13812990.744op/s 13826952.879op/s 0.86% -0.634 0.630 0.48% 4704.673op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.895µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.913µs 3.916µs 3.918µs 3.919µs 0.18% -1.041 8.956 0.06% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 255198738.638op/s 255643170.068op/s ± 165975.192op/s 255648244.013op/s ± 87533.430op/s 255735086.860op/s 255861918.379op/s 255961872.801op/s 256747452.582op/s 0.43% 1.061 9.082 0.06% 11736.218op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 69.048µs 69.633µs ± 0.288µs 69.546µs ± 0.182µs 69.821µs 70.167µs 70.354µs 70.948µs 2.02% 1.015 1.434 0.41% 0.020µs 1 200
credit_card/is_card_number/378282246310005 throughput 14094852.090op/s 14361155.795op/s ± 59232.133op/s 14379073.416op/s ± 37751.020op/s 14406930.479op/s 14431064.822op/s 14451144.441op/s 14482712.218op/s 0.72% -0.985 1.311 0.41% 4188.344op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 52.232µs 52.308µs ± 0.034µs 52.307µs ± 0.019µs 52.322µs 52.373µs 52.407µs 52.447µs 0.27% 0.901 1.631 0.07% 0.002µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 19066947.030op/s 19117434.121op/s ± 12489.939op/s 19118038.105op/s ± 7076.077op/s 19125741.917op/s 19134861.773op/s 19140754.257op/s 19145452.691op/s 0.14% -0.896 1.617 0.07% 883.172op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 5.708µs 5.848µs ± 0.064µs 5.849µs ± 0.043µs 5.887µs 5.967µs 6.008µs 6.041µs 3.28% 0.342 -0.099 1.09% 0.005µs 1 200
credit_card/is_card_number/x371413321323331 throughput 165528745.277op/s 171016153.316op/s ± 1864564.061op/s 170956527.861op/s ± 1272646.628op/s 172314535.904op/s 173522714.867op/s 174413795.159op/s 175205402.720op/s 2.49% -0.284 -0.164 1.09% 131844.589op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.895µs 3.912µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.916µs 3.918µs 3.921µs 0.23% -1.011 7.624 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255050183.143op/s 255628176.180op/s ± 174528.073op/s 255633944.190op/s ± 111632.127op/s 255742542.778op/s 255847753.360op/s 255919346.269op/s 256753588.350op/s 0.44% 1.029 7.736 0.07% 12340.998op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 63.769µs 64.383µs ± 0.183µs 64.382µs ± 0.105µs 64.485µs 64.676µs 64.840µs 64.992µs 0.95% 0.101 0.668 0.28% 0.013µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15386521.250op/s 15532234.737op/s ± 44214.078op/s 15532208.129op/s ± 25368.957op/s 15558245.559op/s 15599711.892op/s 15641045.536op/s 15681564.522op/s 0.96% -0.079 0.667 0.28% 3126.407op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 57.811µs 58.288µs ± 0.240µs 58.313µs ± 0.119µs 58.406µs 58.646µs 58.950µs 59.023µs 1.22% 0.172 0.184 0.41% 0.017µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 16942443.288op/s 17156486.739op/s ± 70675.110op/s 17148918.945op/s ± 35089.088op/s 17192847.986op/s 17273844.490op/s 17284436.878op/s 17297650.979op/s 0.87% -0.145 0.144 0.41% 4997.485op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.894µs 3.911µs ± 0.003µs 3.911µs ± 0.002µs 3.913µs 3.916µs 3.919µs 3.922µs 0.26% -0.464 6.241 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255001347.309op/s 255669042.472op/s ± 190989.656op/s 255676260.460op/s ± 106133.420op/s 255774762.964op/s 255932398.135op/s 256003454.990op/s 256814110.976op/s 0.45% 0.482 6.326 0.07% 13505.008op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 54.516µs 54.826µs ± 0.227µs 54.740µs ± 0.111µs 54.970µs 55.253µs 55.646µs 55.806µs 1.95% 1.471 2.680 0.41% 0.016µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17919220.156op/s 18239740.795op/s ± 74910.736op/s 18268195.984op/s ± 36807.988op/s 18293397.456op/s 18314340.405op/s 18326667.252op/s 18343076.882op/s 0.41% -1.440 2.525 0.41% 5296.989op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 52.153µs 52.290µs ± 0.061µs 52.287µs ± 0.030µs 52.320µs 52.359µs 52.415µs 52.672µs 0.73% 2.103 13.050 0.12% 0.004µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 18985503.678op/s 19124168.033op/s ± 22224.244op/s 19125039.408op/s ± 11104.237op/s 19135931.467op/s 19156266.150op/s 19172488.246op/s 19174476.854op/s 0.26% -2.066 12.797 0.12% 1571.491op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 5.704µs 5.830µs ± 0.058µs 5.832µs ± 0.036µs 5.866µs 5.931µs 5.963µs 5.978µs 2.51% 0.092 -0.235 0.99% 0.004µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 167277127.569op/s 171546383.430op/s ± 1697900.219op/s 171469663.913op/s ± 1067624.087op/s 172575909.920op/s 174310919.286op/s 175261492.536op/s 175300613.001op/s 2.23% -0.040 -0.248 0.99% 120059.676op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
credit_card/is_card_number/ execution_time [3.911µs; 3.912µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ throughput [255621646.008op/s; 255665490.415op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [79.602µs; 79.708µs] or [-0.066%; +0.066%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12546157.558op/s; 12562680.824op/s] or [-0.066%; +0.066%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [72.934µs; 73.033µs] or [-0.068%; +0.068%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13692865.760op/s; 13711307.738op/s] or [-0.067%; +0.067%] None None None
credit_card/is_card_number/37828224631 execution_time [3.911µs; 3.912µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/37828224631 throughput [255620167.503op/s; 255666172.633op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/378282246310005 execution_time [69.593µs; 69.673µs] or [-0.057%; +0.057%] None None None
credit_card/is_card_number/378282246310005 throughput [14352946.791op/s; 14369364.799op/s] or [-0.057%; +0.057%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [52.304µs; 52.313µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19115703.135op/s; 19119165.106op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/x371413321323331 execution_time [5.839µs; 5.857µs] or [-0.152%; +0.152%] None None None
credit_card/is_card_number/x371413321323331 throughput [170757742.670op/s; 171274563.962op/s] or [-0.151%; +0.151%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.912µs; 3.912µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ throughput [255603988.268op/s; 255652364.093op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [64.357µs; 64.408µs] or [-0.039%; +0.039%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15526107.091op/s; 15538362.383op/s] or [-0.039%; +0.039%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [58.255µs; 58.321µs] or [-0.057%; +0.057%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17146691.848op/s; 17166281.630op/s] or [-0.057%; +0.057%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.911µs; 3.912µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255642573.143op/s; 255695511.802op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [54.795µs; 54.858µs] or [-0.057%; +0.057%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18229358.887op/s; 18250122.702op/s] or [-0.057%; +0.057%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [52.281µs; 52.298µs] or [-0.016%; +0.016%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19121087.966op/s; 19127248.099op/s] or [-0.016%; +0.016%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [5.822µs; 5.838µs] or [-0.137%; +0.137%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [171311070.789op/s; 171781696.071op/s] or [-0.137%; +0.137%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3b26275 1774566236 rachel.yang/OTLP-trace-export
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.681µs 146.773µs ± 1.864µs 146.517µs ± 0.529µs 146.981µs 148.496µs 153.597µs 165.959µs 13.27% 6.793 60.569 1.27% 0.132µ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.514µs; 147.031µs] or [-0.176%; +0.176%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3b26275 1774566236 rachel.yang/OTLP-trace-export
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.425ms 3.452ms ± 0.017ms 3.448ms ± 0.010ms 3.461ms 3.485ms 3.504ms 3.511ms 1.83% 0.950 0.585 0.50% 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.450ms; 3.454ms] or [-0.070%; +0.070%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3b26275 1774566236 rachel.yang/OTLP-trace-export
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.462µs 5.522µs ± 0.024µs 5.521µs ± 0.017µs 5.539µs 5.558µs 5.583µs 5.599µs 1.41% 0.342 0.123 0.44% 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.519µs; 5.526µs] or [-0.061%; +0.061%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3b26275 1774566236 rachel.yang/OTLP-trace-export
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
ip_address/quantize_peer_ip_address_benchmark execution_time 5.030µs 5.098µs ± 0.044µs 5.082µs ± 0.024µs 5.152µs 5.165µs 5.167µs 5.169µs 1.71% 0.475 -1.427 0.87% 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.092µs; 5.105µs] or [-0.120%; +0.120%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3b26275 1774566236 rachel.yang/OTLP-trace-export
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.326µs 497.392µs ± 2.229µs 496.402µs ± 0.544µs 498.923µs 502.515µs 504.223µs 506.629µs 2.06% 1.647 2.223 0.45% 0.158µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1973830.516op/s 2010527.626op/s ± 8944.872op/s 2014497.443op/s ± 2209.066op/s 2016255.444op/s 2018073.824op/s 2018601.061op/s 2018871.514op/s 0.22% -1.627 2.126 0.44% 632.498op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 370.427µs 371.291µs ± 0.332µs 371.265µs ± 0.207µs 371.515µs 371.812µs 372.022µs 372.164µs 0.24% 0.153 -0.254 0.09% 0.023µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2686987.143op/s 2693310.086op/s ± 2404.783op/s 2693494.970op/s ± 1499.985op/s 2694794.778op/s 2697325.785op/s 2697808.862op/s 2699588.184op/s 0.23% -0.148 -0.256 0.09% 170.044op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 167.924µs 168.184µs ± 0.138µs 168.170µs ± 0.094µs 168.275µs 168.414µs 168.534µs 168.660µs 0.29% 0.535 0.271 0.08% 0.010µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5929087.289op/s 5945868.301op/s ± 4888.358op/s 5946360.509op/s ± 3311.230op/s 5949522.316op/s 5953095.547op/s 5954231.166op/s 5955077.389op/s 0.15% -0.530 0.260 0.08% 345.659op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.941µs 37.178µs ± 0.088µs 37.179µs ± 0.056µs 37.236µs 37.326µs 37.369µs 37.386µs 0.56% -0.218 0.004 0.24% 0.006µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26747911.981op/s 26897589.888op/s ± 63671.115op/s 26896737.386op/s ± 40131.798op/s 26935155.878op/s 27022954.790op/s 27049697.131op/s 27070122.803op/s 0.64% 0.232 0.012 0.24% 4502.228op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 46.315µs 46.435µs ± 0.114µs 46.420µs ± 0.031µs 46.459µs 46.539µs 46.631µs 47.824µs 3.02% 9.170 108.224 0.25% 0.008µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 20910139.373op/s 21535816.199op/s ± 51767.014op/s 21542482.434op/s ± 14277.293op/s 21556591.922op/s 21573665.372op/s 21589024.142op/s 21591401.440op/s 0.23% -8.979 105.060 0.24% 3660.481op/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 [497.083µs; 497.701µs] or [-0.062%; +0.062%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [2009287.952op/s; 2011767.299op/s] or [-0.062%; +0.062%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [371.245µs; 371.337µs] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2692976.806op/s; 2693643.366op/s] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [168.165µs; 168.203µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5945190.822op/s; 5946545.781op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.166µs; 37.190µs] or [-0.033%; +0.033%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26888765.684op/s; 26906414.092op/s] or [-0.033%; +0.033%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [46.419µs; 46.450µs] or [-0.034%; +0.034%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21528641.788op/s; 21542990.609op/s] or [-0.033%; +0.033%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3b26275 1774566236 rachel.yang/OTLP-trace-export
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 747.485µs 748.396µs ± 0.501µs 748.333µs ± 0.368µs 748.739µs 749.264µs 749.652µs 750.221µs 0.25% 0.700 0.260 0.07% 0.035µ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 [748.327µs; 748.466µs] or [-0.009%; +0.009%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3b26275 1774566236 rachel.yang/OTLP-trace-export
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.404µs 2.442µs ± 0.019µs 2.437µs ± 0.010µs 2.452µs 2.489µs 2.498µs 2.498µs 2.53% 1.090 1.393 0.78% 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.439µs; 2.445µs] or [-0.108%; +0.108%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3b26275 1774566236 rachel.yang/OTLP-trace-export
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.539µs 186.058µs ± 0.466µs 185.966µs ± 0.232µs 186.223µs 186.897µs 187.737µs 189.457µs 1.88% 2.908 14.857 0.25% 0.033µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5278252.307op/s 5374704.861op/s ± 13372.484op/s 5377321.979op/s ± 6721.507op/s 5384017.759op/s 5388528.099op/s 5389377.789op/s 5389705.339op/s 0.23% -2.846 14.267 0.25% 945.577op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.834µs 17.919µs ± 0.033µs 17.920µs ± 0.020µs 17.939µs 17.970µs 17.997µs 18.080µs 0.90% 0.480 2.343 0.18% 0.002µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 55308886.186op/s 55807436.650op/s ± 103299.291op/s 55804238.731op/s ± 61355.225op/s 55865403.813op/s 55975199.704op/s 56034231.459op/s 56073145.769op/s 0.48% -0.458 2.265 0.18% 7304.363op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.546µs 10.593µs ± 0.024µs 10.589µs ± 0.015µs 10.609µs 10.633µs 10.661µs 10.688µs 0.94% 0.817 0.957 0.22% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 93560268.168op/s 94405591.337op/s ± 209786.826op/s 94440925.966op/s ± 131074.369op/s 94557852.715op/s 94693044.034op/s 94754942.859op/s 94819455.794op/s 0.40% -0.802 0.907 0.22% 14834.169op/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.993µs; 186.122µs] or [-0.035%; +0.035%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5372851.564op/s; 5376558.159op/s] or [-0.034%; +0.034%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [17.914µs; 17.923µs] or [-0.026%; +0.026%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [55793120.362op/s; 55821752.938op/s] or [-0.026%; +0.026%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.589µs; 10.596µs] or [-0.031%; +0.031%] None None None
normalization/normalize_name/normalize_name/good throughput [94376516.900op/s; 94434665.773op/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 3b26275 1774566236 rachel.yang/OTLP-trace-export
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.268ms 4.275ms ± 0.011ms 4.272ms ± 0.002ms 4.275ms 4.290ms 4.294ms 4.398ms 2.96% 7.039 71.887 0.26% 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.274ms; 4.277ms] or [-0.036%; +0.036%] None None None

Group 21

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 3b26275 1774566236 rachel.yang/OTLP-trace-export
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_serialize_compressed_pprof_timestamped_x1000 execution_time 924.259µs 926.943µs ± 1.146µs 926.882µs ± 0.779µs 927.639µs 928.786µs 929.475µs 931.902µs 0.54% 0.439 1.050 0.12% 0.081µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_serialize_compressed_pprof_timestamped_x1000 execution_time [926.784µs; 927.102µs] or [-0.017%; +0.017%] None None None

Baseline

Omitted due to size.

@dd-octo-sts
Copy link
Copy Markdown
Contributor

dd-octo-sts bot commented Mar 2, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 101.48 MB 101.90 MB +.40% (+424.02 KB) 🔍
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.70 MB 8.76 MB +.71% (+64.04 KB) 🔍
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 118.29 MB 118.84 MB +.46% (+559.25 KB) 🔍
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.29 MB 11.36 MB +.64% (+74.34 KB) 🔍
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 27.26 MB 27.39 MB +.47% (+133.50 KB) 🔍
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 80.34 KB 80.69 KB +.43% (+360 B) 🔍
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 186.55 MB 187.19 MB +.34% (+656.00 KB) 🔍
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 921.18 MB 924.91 MB +.40% (+3.73 MB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.00 MB 9.06 MB +.68% (+63.50 KB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 80.34 KB 80.69 KB +.43% (+360 B) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 26.84 MB 26.98 MB +.49% (+136.00 KB) 🔍
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 61.03 MB 61.27 MB +.40% (+253.06 KB) 🔍
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 23.08 MB 23.20 MB +.51% (+121.50 KB) 🔍
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 81.59 KB 81.94 KB +.43% (+364 B) 🔍
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 190.77 MB 191.48 MB +.37% (+728.00 KB) 🔍
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 904.47 MB 908.20 MB +.41% (+3.73 MB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 6.86 MB 6.90 MB +.59% (+41.50 KB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 81.59 KB 81.94 KB +.43% (+364 B) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 28.97 MB 29.11 MB +.48% (+144.00 KB) 🔍
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 57.44 MB 57.67 MB +.40% (+236.54 KB) 🔍
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 88.32 MB 88.71 MB +.44% (+404.84 KB) 🔍
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 10.28 MB 10.32 MB +.41% (+44.04 KB) 🔍
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 111.03 MB 111.53 MB +.44% (+507.51 KB) 🔍
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 12.03 MB 12.07 MB +.35% (+43.35 KB) 🔍

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Mar 3, 2026

Codecov Report

❌ Patch coverage is 80.61224% with 133 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.17%. Comparing base (8c88979) to head (3b26275).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1641      +/-   ##
==========================================
+ Coverage   71.00%   71.17%   +0.16%     
==========================================
  Files         411      414       +3     
  Lines       65052    65738     +686     
==========================================
+ Hits        46190    46788     +598     
- Misses      18862    18950      +88     
Components Coverage Δ
libdd-crashtracker 65.31% <ø> (-0.02%) ⬇️
libdd-crashtracker-ffi 35.24% <ø> (ø)
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 87.55% <67.64%> (-0.06%) ⬇️
libdd-data-pipeline-ffi 75.77% <12.50%> (+2.43%) ⬆️
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.62% <ø> (ø)
libdd-profiling-ffi 64.94% <ø> (ø)
datadog-sidecar 30.79% <ø> (+0.46%) ⬆️
datdog-sidecar-ffi 9.37% <ø> (+2.17%) ⬆️
spawn-worker 54.69% <ø> (ø)
libdd-tinybytes 93.16% <ø> (ø)
libdd-trace-normalization 81.71% <ø> (ø)
libdd-trace-obfuscation 87.37% <ø> (ø)
libdd-trace-protobuf 68.25% <ø> (ø)
libdd-trace-utils 88.64% <84.88%> (-0.32%) ⬇️
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.

@rachelyangdog rachelyangdog marked this pull request as ready for review March 6, 2026 19:18
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.

To test the otlp trace export, you can add test agent snapshot tests here

@rachelyangdog rachelyangdog requested a review from a team as a code owner March 10, 2026 14:08
@rachelyangdog
Copy link
Copy Markdown
Contributor Author

/merge

@gh-worker-devflow-routing-ef8351
Copy link
Copy Markdown

gh-worker-devflow-routing-ef8351 bot commented Mar 26, 2026

View all feedbacks in Devflow UI.

2026-03-26 22:22:05 UTC ℹ️ Start processing command /merge


2026-03-26 22:22:09 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in main is approximately 45m (p90).


2026-03-26 23:01:23 UTCMergeQueue: The checks failed on this merge request

Tests failed on this commit 6de8c5d:

What to do next?

  • Investigate the failures and when ready, re-add your pull request to the queue!
  • If your PR checks are green, try to rebase/merge. It might be because the CI run is a bit old.
  • Any question, go check the FAQ.

@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot merged commit ee83a45 into main Mar 27, 2026
116 checks passed
@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot deleted the rachel.yang/OTLP-trace-export branch March 27, 2026 00:12
gh-worker-dd-mergequeue-cf854d bot pushed a commit that referenced this pull request Mar 27, 2026
…ute (#1811)

# What does this PR do?

Adds `resource.name` as a per-span OTLP attribute when mapping Datadog spans to OTLP. The Datadog span resource field now maps to two places:

- OtlpSpan.name (existing — the OTLP span name)                                                                                                                                                                                             
- span.attributes["resource.name"] (new)                                                                                                                                                                                                    
                                                                                                                                                                                                                     This follows the same conditional pattern as operation.name and span.type: the attribute is only emitted when the field is non-empty.    

# Motivation
Spec update to the OTLP trace export RFC: the Datadog resource field should be preserved as a resource.name attribute so downstream consumers can reconstruct the original Datadog resource name independently of the OTLP span name. 

# Additional Notes

This builds on top of feat(otel): add support for OTLP trace export (#1641). The dropped_attributes_count accounting in map_attributes is updated to include the new resource.name slot.

# How to test the change?

Describe here in detail how the change can be validated.


Co-authored-by: rachel.yang <rachel.yang@datadoghq.com>
gh-worker-dd-mergequeue-cf854d bot pushed a commit to DataDog/dd-trace-py that referenced this pull request Apr 1, 2026
## Description

<!-- Provide an overview of the change and motivation for the change -->

Adds native OTLP trace export support to dd-trace-py using libdatadog's TraceExporter. When `OTEL_TRACES_EXPORTER=otlp `, traces are sent directly to an OTLP collector instead of the Datadog agent.

- the [libdatadog PR](DataDog/libdatadog#1641) that adds support for OTLP trace export 
## 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 -->
- libdd-data-pipeline is pinned to an unreleased commit on DataDog/libdatadog@rachel.yang/OTLP-trace-export. This should be updated to a release tag once that branch merges.
- Only http/json protocol is supported for OTLP traces (libdatadog limitation); gRPC is not yet available.

Co-authored-by: rachel.yang <rachel.yang@datadoghq.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.

7 participants