fix(data-pipeline): make OTLP trace metrics mode-independent - #2316
fix(data-pipeline): make OTLP trace metrics mode-independent#2316mabdinur wants to merge 13 commits into
Conversation
Fixes several OTLP Span Metrics Connector attribute conventions on the
`traces.span.sdk.metrics.duration` histogram export:
- process_tags/peer_tags: emit as a single `datadog.{process,peer}_tags`
arrayValue instead of fanning out per-key attributes.
- is_trace_root: rename `_datadog.is_trace_root` to `datadog.is_trace_root`
and always emit true/false rather than only when true.
- span.kind: canonicalize to the OTel SMC uppercase convention
(e.g. `SPAN_KIND_SERVER`) instead of the raw Datadog tag value.
- status.code: emit the SMC string convention (`STATUS_CODE_OK`/
`STATUS_CODE_ERROR`) unconditionally on every data point, replacing the
int enum that was only set on error.
Companion system-tests spec: DataDog/system-tests#7363
📚 Documentation Check Results📦
|
🔒 Cargo Deny Results📦
|
🎉 All green!🧪 All tests passed 🎯 Code Coverage (details) 🔗 Commit SHA: 81bf31c | Docs | Datadog PR Page | Give us feedback! |
BenchmarksComparisonBenchmark execution time: 2026-08-07 18:21:48 Comparing candidate commit 81bf31c in PR branch Found 0 performance improvements and 2 performance regressions! Performance is the same for 22 metrics, 0 unstable metrics.
|
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 81bf31c | 1786125657 | munir/otlp-trace-metrics-fixes |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| trace_buffer/1_senders/10us_delay | execution_time | 56.286ms | 56.635ms ± 0.171ms | 56.609ms ± 0.095ms | 56.720ms | 56.946ms | 57.265ms | 57.413ms | 1.42% | 1.261 | 3.128 | 0.30% | 0.012ms | 1 | 200 |
| trace_buffer/1_senders/10us_delay | throughput | 15675.759op/s | 15891.406op/s ± 47.920op/s | 15898.524op/s ± 26.677op/s | 15923.406op/s | 15953.634op/s | 15971.554op/s | 15989.670op/s | 0.57% | -1.229 | 2.992 | 0.30% | 3.388op/s | 1 | 200 |
| trace_buffer/1_senders/1us_delay | execution_time | 50.007ms | 50.091ms ± 0.036ms | 50.084ms ± 0.012ms | 50.097ms | 50.152ms | 50.200ms | 50.217ms | 0.26% | 0.968 | 1.675 | 0.07% | 0.003ms | 1 | 200 |
| trace_buffer/1_senders/1us_delay | throughput | 17922.241op/s | 17967.329op/s ± 12.858op/s | 17969.633op/s ± 4.178op/s | 17973.762op/s | 17987.913op/s | 17993.758op/s | 17997.637op/s | 0.16% | -0.962 | 1.664 | 0.07% | 0.909op/s | 1 | 200 |
| trace_buffer/1_senders/no_delay | execution_time | 329.686µs | 338.463µs ± 4.533µs | 338.100µs ± 2.433µs | 340.556µs | 344.232µs | 352.777µs | 370.039µs | 9.45% | 2.764 | 14.958 | 1.34% | 0.321µs | 1 | 200 |
| trace_buffer/1_senders/no_delay | throughput | 2432173.473op/s | 2659537.398op/s ± 34427.219op/s | 2661937.211op/s ± 19039.572op/s | 2680912.135op/s | 2698190.653op/s | 2718593.829op/s | 2729869.586op/s | 2.55% | -2.415 | 12.253 | 1.29% | 2434.372op/s | 1 | 200 |
| trace_buffer/2_senders/10us_delay | execution_time | 56.766ms | 57.160ms ± 0.202ms | 57.145ms ± 0.146ms | 57.302ms | 57.497ms | 57.632ms | 57.659ms | 0.90% | 0.322 | -0.500 | 0.35% | 0.014ms | 1 | 200 |
| trace_buffer/2_senders/10us_delay | throughput | 31218.201op/s | 31491.139op/s ± 111.188op/s | 31498.945op/s ± 80.001op/s | 31566.300op/s | 31665.710op/s | 31694.152op/s | 31709.153op/s | 0.67% | -0.307 | -0.513 | 0.35% | 7.862op/s | 1 | 200 |
| trace_buffer/2_senders/1us_delay | execution_time | 50.009ms | 50.113ms ± 0.037ms | 50.107ms ± 0.020ms | 50.127ms | 50.185ms | 50.215ms | 50.228ms | 0.24% | 0.741 | 0.892 | 0.07% | 0.003ms | 1 | 200 |
| trace_buffer/2_senders/1us_delay | throughput | 35836.843op/s | 35919.076op/s ± 26.301op/s | 35923.015op/s ± 14.545op/s | 35937.688op/s | 35952.533op/s | 35978.014op/s | 35993.685op/s | 0.20% | -0.736 | 0.887 | 0.07% | 1.860op/s | 1 | 200 |
| trace_buffer/2_senders/no_delay | execution_time | 826.040µs | 878.608µs ± 19.343µs | 879.044µs ± 11.050µs | 888.668µs | 908.847µs | 917.126µs | 1000.805µs | 13.85% | 1.123 | 7.050 | 2.20% | 1.368µs | 1 | 200 |
| trace_buffer/2_senders/no_delay | throughput | 1798552.260op/s | 2049662.856op/s ± 44260.472op/s | 2047680.245op/s ± 25969.274op/s | 2077191.156op/s | 2120171.515op/s | 2153823.272op/s | 2179072.342op/s | 6.42% | -0.676 | 4.496 | 2.15% | 3129.688op/s | 1 | 200 |
| trace_buffer/4_senders/10us_delay | execution_time | 57.167ms | 57.480ms ± 0.146ms | 57.471ms ± 0.090ms | 57.565ms | 57.754ms | 57.899ms | 57.926ms | 0.79% | 0.479 | 0.340 | 0.25% | 0.010ms | 1 | 200 |
| trace_buffer/4_senders/10us_delay | throughput | 62148.375op/s | 62630.820op/s ± 158.368op/s | 62639.919op/s ± 97.755op/s | 62731.692op/s | 62871.431op/s | 62926.942op/s | 62972.961op/s | 0.53% | -0.463 | 0.316 | 0.25% | 11.198op/s | 1 | 200 |
| trace_buffer/4_senders/1us_delay | execution_time | 50.082ms | 50.168ms ± 0.037ms | 50.162ms ± 0.017ms | 50.180ms | 50.238ms | 50.288ms | 50.370ms | 0.41% | 1.780 | 5.459 | 0.07% | 0.003ms | 1 | 200 |
| trace_buffer/4_senders/1us_delay | throughput | 71470.423op/s | 71758.649op/s ± 53.075op/s | 71766.829op/s ± 24.193op/s | 71789.420op/s | 71821.394op/s | 71838.214op/s | 71882.191op/s | 0.16% | -1.770 | 5.409 | 0.07% | 3.753op/s | 1 | 200 |
| trace_buffer/4_senders/no_delay | execution_time | 1.999ms | 2.286ms ± 0.084ms | 2.282ms ± 0.062ms | 2.347ms | 2.425ms | 2.452ms | 2.496ms | 9.35% | -0.157 | 0.201 | 3.67% | 0.006ms | 1 | 200 |
| trace_buffer/4_senders/no_delay | throughput | 1442469.869op/s | 1576938.103op/s ± 58626.053op/s | 1577358.376op/s ± 43124.824op/s | 1619919.087op/s | 1661107.692op/s | 1742714.088op/s | 1801212.441op/s | 14.19% | 0.416 | 0.700 | 3.71% | 4145.488op/s | 1 | 200 |
| trace_buffer/8_senders/10us_delay | execution_time | 57.562ms | 57.878ms ± 0.225ms | 57.808ms ± 0.101ms | 57.964ms | 58.281ms | 58.537ms | 59.176ms | 2.37% | 2.336 | 8.945 | 0.39% | 0.016ms | 1 | 200 |
| trace_buffer/8_senders/10us_delay | throughput | 121671.094op/s | 124401.871op/s ± 478.536op/s | 124551.286op/s ± 217.986op/s | 124723.649op/s | 124846.010op/s | 124962.442op/s | 125083.226op/s | 0.43% | -2.273 | 8.474 | 0.38% | 33.838op/s | 1 | 200 |
| trace_buffer/8_senders/1us_delay | execution_time | 50.211ms | 50.294ms ± 0.063ms | 50.272ms ± 0.030ms | 50.318ms | 50.425ms | 50.500ms | 50.506ms | 0.46% | 1.432 | 1.852 | 0.12% | 0.004ms | 1 | 200 |
| trace_buffer/8_senders/1us_delay | throughput | 142558.074op/s | 143158.299op/s ± 178.418op/s | 143220.381op/s ± 85.309op/s | 143281.350op/s | 143348.011op/s | 143381.545op/s | 143395.570op/s | 0.12% | -1.425 | 1.828 | 0.12% | 12.616op/s | 1 | 200 |
| trace_buffer/8_senders/no_delay | execution_time | 6.107ms | 6.590ms ± 0.104ms | 6.609ms ± 0.066ms | 6.658ms | 6.730ms | 6.798ms | 6.832ms | 3.39% | -0.974 | 2.574 | 1.57% | 0.007ms | 1 | 200 |
| trace_buffer/8_senders/no_delay | throughput | 1053809.411op/s | 1092919.244op/s ± 17539.621op/s | 1089482.009op/s ± 10894.419op/s | 1104529.617op/s | 1120312.347op/s | 1135940.250op/s | 1179057.451op/s | 8.22% | 1.156 | 3.368 | 1.60% | 1240.239op/s | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| trace_buffer/1_senders/10us_delay | execution_time | [56.611ms; 56.659ms] or [-0.042%; +0.042%] | None | None | None |
| trace_buffer/1_senders/10us_delay | throughput | [15884.765op/s; 15898.048op/s] or [-0.042%; +0.042%] | None | None | None |
| trace_buffer/1_senders/1us_delay | execution_time | [50.086ms; 50.096ms] or [-0.010%; +0.010%] | None | None | None |
| trace_buffer/1_senders/1us_delay | throughput | [17965.547op/s; 17969.111op/s] or [-0.010%; +0.010%] | None | None | None |
| trace_buffer/1_senders/no_delay | execution_time | [337.835µs; 339.091µs] or [-0.186%; +0.186%] | None | None | None |
| trace_buffer/1_senders/no_delay | throughput | [2654766.116op/s; 2664308.679op/s] or [-0.179%; +0.179%] | None | None | None |
| trace_buffer/2_senders/10us_delay | execution_time | [57.132ms; 57.188ms] or [-0.049%; +0.049%] | None | None | None |
| trace_buffer/2_senders/10us_delay | throughput | [31475.730op/s; 31506.549op/s] or [-0.049%; +0.049%] | None | None | None |
| trace_buffer/2_senders/1us_delay | execution_time | [50.108ms; 50.118ms] or [-0.010%; +0.010%] | None | None | None |
| trace_buffer/2_senders/1us_delay | throughput | [35915.431op/s; 35922.721op/s] or [-0.010%; +0.010%] | None | None | None |
| trace_buffer/2_senders/no_delay | execution_time | [875.927µs; 881.289µs] or [-0.305%; +0.305%] | None | None | None |
| trace_buffer/2_senders/no_delay | throughput | [2043528.781op/s; 2055796.932op/s] or [-0.299%; +0.299%] | None | None | None |
| trace_buffer/4_senders/10us_delay | execution_time | [57.460ms; 57.500ms] or [-0.035%; +0.035%] | None | None | None |
| trace_buffer/4_senders/10us_delay | throughput | [62608.872op/s; 62652.769op/s] or [-0.035%; +0.035%] | None | None | None |
| trace_buffer/4_senders/1us_delay | execution_time | [50.163ms; 50.173ms] or [-0.010%; +0.010%] | None | None | None |
| trace_buffer/4_senders/1us_delay | throughput | [71751.294op/s; 71766.005op/s] or [-0.010%; +0.010%] | None | None | None |
| trace_buffer/4_senders/no_delay | execution_time | [2.274ms; 2.298ms] or [-0.510%; +0.510%] | None | None | None |
| trace_buffer/4_senders/no_delay | throughput | [1568813.095op/s; 1585063.110op/s] or [-0.515%; +0.515%] | None | None | None |
| trace_buffer/8_senders/10us_delay | execution_time | [57.847ms; 57.909ms] or [-0.054%; +0.054%] | None | None | None |
| trace_buffer/8_senders/10us_delay | throughput | [124335.550op/s; 124468.192op/s] or [-0.053%; +0.053%] | None | None | None |
| trace_buffer/8_senders/1us_delay | execution_time | [50.285ms; 50.303ms] or [-0.017%; +0.017%] | None | None | None |
| trace_buffer/8_senders/1us_delay | throughput | [143133.572op/s; 143183.026op/s] or [-0.017%; +0.017%] | None | None | None |
| trace_buffer/8_senders/no_delay | execution_time | [6.575ms; 6.604ms] or [-0.219%; +0.219%] | None | None | None |
| trace_buffer/8_senders/no_delay | throughput | [1090488.421op/s; 1095350.067op/s] or [-0.222%; +0.222%] | None | None | None |
Baseline
Baseline benchmark details
Group 1
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | fbdace3 | 1786121056 | main |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| trace_buffer/1_senders/10us_delay | execution_time | 56.341ms | 56.594ms ± 0.150ms | 56.580ms ± 0.094ms | 56.672ms | 56.847ms | 57.053ms | 57.272ms | 1.22% | 1.133 | 2.244 | 0.26% | 0.011ms | 1 | 200 |
| trace_buffer/1_senders/10us_delay | throughput | 15714.462op/s | 15902.722op/s ± 42.052op/s | 15906.674op/s ± 26.362op/s | 15933.993op/s | 15958.039op/s | 15972.063op/s | 15974.218op/s | 0.42% | -1.109 | 2.151 | 0.26% | 2.973op/s | 1 | 200 |
| trace_buffer/1_senders/1us_delay | execution_time | 50.025ms | 50.079ms ± 0.027ms | 50.079ms ± 0.010ms | 50.087ms | 50.139ms | 50.171ms | 50.194ms | 0.23% | 0.987 | 2.857 | 0.05% | 0.002ms | 1 | 200 |
| trace_buffer/1_senders/1us_delay | throughput | 17930.265op/s | 17971.750op/s ± 9.748op/s | 17971.658op/s ± 3.705op/s | 17975.686op/s | 17988.541op/s | 17990.702op/s | 17990.928op/s | 0.11% | -0.981 | 2.839 | 0.05% | 0.689op/s | 1 | 200 |
| trace_buffer/1_senders/no_delay | execution_time | 330.548µs | 338.233µs ± 4.859µs | 337.653µs ± 1.535µs | 339.255µs | 343.322µs | 348.191µs | 390.716µs | 15.72% | 6.576 | 66.798 | 1.43% | 0.344µs | 1 | 200 |
| trace_buffer/1_senders/no_delay | throughput | 2303463.234op/s | 2661392.014op/s ± 35178.660op/s | 2665456.810op/s ± 12063.357op/s | 2676015.277op/s | 2698719.661op/s | 2709112.536op/s | 2722751.310op/s | 2.15% | -5.563 | 52.445 | 1.32% | 2487.507op/s | 1 | 200 |
| trace_buffer/2_senders/10us_delay | execution_time | 56.630ms | 57.111ms ± 0.229ms | 57.095ms ± 0.146ms | 57.256ms | 57.537ms | 57.671ms | 57.732ms | 1.11% | 0.426 | -0.317 | 0.40% | 0.016ms | 1 | 200 |
| trace_buffer/2_senders/10us_delay | throughput | 31178.758op/s | 31518.234op/s ± 125.935op/s | 31526.162op/s ± 80.865op/s | 31604.599op/s | 31706.768op/s | 31740.789op/s | 31785.469op/s | 0.82% | -0.408 | -0.337 | 0.40% | 8.905op/s | 1 | 200 |
| trace_buffer/2_senders/1us_delay | execution_time | 50.021ms | 50.116ms ± 0.039ms | 50.108ms ± 0.020ms | 50.131ms | 50.205ms | 50.222ms | 50.237ms | 0.26% | 1.087 | 1.043 | 0.08% | 0.003ms | 1 | 200 |
| trace_buffer/2_senders/1us_delay | throughput | 35830.228op/s | 35916.759op/s ± 27.582op/s | 35922.336op/s ± 14.304op/s | 35936.137op/s | 35947.704op/s | 35960.483op/s | 35984.777op/s | 0.17% | -1.082 | 1.035 | 0.08% | 1.950op/s | 1 | 200 |
| trace_buffer/2_senders/no_delay | execution_time | 849.664µs | 895.921µs ± 18.833µs | 894.451µs ± 12.895µs | 907.824µs | 923.917µs | 941.554µs | 1001.429µs | 11.96% | 0.924 | 3.911 | 2.10% | 1.332µs | 1 | 200 |
| trace_buffer/2_senders/no_delay | throughput | 1797431.848op/s | 2009973.624op/s ± 41573.460op/s | 2012406.789op/s ± 29265.544op/s | 2039589.269op/s | 2072387.288op/s | 2093493.603op/s | 2118485.271op/s | 5.27% | -0.641 | 2.493 | 2.06% | 2939.688op/s | 1 | 200 |
| trace_buffer/4_senders/10us_delay | execution_time | 57.136ms | 57.485ms ± 0.154ms | 57.469ms ± 0.100ms | 57.574ms | 57.753ms | 57.888ms | 57.955ms | 0.85% | 0.474 | 0.180 | 0.27% | 0.011ms | 1 | 200 |
| trace_buffer/4_senders/10us_delay | throughput | 62116.773op/s | 62625.930op/s ± 167.307op/s | 62642.660op/s ± 108.590op/s | 62747.414op/s | 62857.073op/s | 62976.874op/s | 63007.090op/s | 0.58% | -0.459 | 0.160 | 0.27% | 11.830op/s | 1 | 200 |
| trace_buffer/4_senders/1us_delay | execution_time | 50.107ms | 50.166ms ± 0.034ms | 50.161ms ± 0.015ms | 50.177ms | 50.232ms | 50.261ms | 50.330ms | 0.34% | 1.342 | 2.839 | 0.07% | 0.002ms | 1 | 200 |
| trace_buffer/4_senders/1us_delay | throughput | 71527.656op/s | 71761.075op/s ± 48.245op/s | 71769.002op/s ± 20.936op/s | 71788.661op/s | 71825.101op/s | 71834.089op/s | 71846.229op/s | 0.11% | -1.336 | 2.811 | 0.07% | 3.411op/s | 1 | 200 |
| trace_buffer/4_senders/no_delay | execution_time | 2.062ms | 2.312ms ± 0.085ms | 2.319ms ± 0.060ms | 2.374ms | 2.440ms | 2.476ms | 2.560ms | 10.39% | -0.328 | 0.112 | 3.67% | 0.006ms | 1 | 200 |
| trace_buffer/4_senders/no_delay | throughput | 1406226.929op/s | 1559355.265op/s ± 58269.533op/s | 1552311.730op/s ± 39751.679op/s | 1593537.299op/s | 1656087.001op/s | 1716610.513op/s | 1745575.995op/s | 12.45% | 0.551 | 0.347 | 3.73% | 4120.278op/s | 1 | 200 |
| trace_buffer/8_senders/10us_delay | execution_time | 57.665ms | 57.917ms ± 0.172ms | 57.866ms ± 0.103ms | 58.010ms | 58.236ms | 58.366ms | 58.498ms | 1.09% | 0.944 | 0.202 | 0.30% | 0.012ms | 1 | 200 |
| trace_buffer/8_senders/10us_delay | throughput | 123080.462op/s | 124316.910op/s ± 368.194op/s | 124424.712op/s ± 221.263op/s | 124595.370op/s | 124747.925op/s | 124845.401op/s | 124859.167op/s | 0.35% | -0.933 | 0.171 | 0.30% | 26.035op/s | 1 | 200 |
| trace_buffer/8_senders/1us_delay | execution_time | 50.211ms | 50.303ms ± 0.060ms | 50.285ms ± 0.035ms | 50.334ms | 50.416ms | 50.476ms | 50.548ms | 0.52% | 1.149 | 1.576 | 0.12% | 0.004ms | 1 | 200 |
| trace_buffer/8_senders/1us_delay | throughput | 142439.589op/s | 143133.358op/s ± 169.863op/s | 143185.151op/s ± 99.261op/s | 143258.277op/s | 143336.289op/s | 143385.662op/s | 143393.734op/s | 0.15% | -1.141 | 1.545 | 0.12% | 12.011op/s | 1 | 200 |
| trace_buffer/8_senders/no_delay | execution_time | 5.465ms | 6.292ms ± 0.186ms | 6.310ms ± 0.121ms | 6.432ms | 6.514ms | 6.558ms | 6.626ms | 5.01% | -1.312 | 3.093 | 2.95% | 0.013ms | 1 | 200 |
| trace_buffer/8_senders/no_delay | throughput | 1086658.555op/s | 1145311.537op/s ± 35462.543op/s | 1141115.510op/s ± 22071.978op/s | 1163115.362op/s | 1205349.499op/s | 1292494.019op/s | 1317392.317op/s | 15.45% | 1.646 | 4.730 | 3.09% | 2507.580op/s | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| trace_buffer/1_senders/10us_delay | execution_time | [56.574ms; 56.615ms] or [-0.037%; +0.037%] | None | None | None |
| trace_buffer/1_senders/10us_delay | throughput | [15896.894op/s; 15908.550op/s] or [-0.037%; +0.037%] | None | None | None |
| trace_buffer/1_senders/1us_delay | execution_time | [50.075ms; 50.082ms] or [-0.008%; +0.008%] | None | None | None |
| trace_buffer/1_senders/1us_delay | throughput | [17970.399op/s; 17973.101op/s] or [-0.008%; +0.008%] | None | None | None |
| trace_buffer/1_senders/no_delay | execution_time | [337.559µs; 338.906µs] or [-0.199%; +0.199%] | None | None | None |
| trace_buffer/1_senders/no_delay | throughput | [2656516.590op/s; 2666267.438op/s] or [-0.183%; +0.183%] | None | None | None |
| trace_buffer/2_senders/10us_delay | execution_time | [57.079ms; 57.142ms] or [-0.055%; +0.055%] | None | None | None |
| trace_buffer/2_senders/10us_delay | throughput | [31500.781op/s; 31535.687op/s] or [-0.055%; +0.055%] | None | None | None |
| trace_buffer/2_senders/1us_delay | execution_time | [50.111ms; 50.121ms] or [-0.011%; +0.011%] | None | None | None |
| trace_buffer/2_senders/1us_delay | throughput | [35912.936op/s; 35920.581op/s] or [-0.011%; +0.011%] | None | None | None |
| trace_buffer/2_senders/no_delay | execution_time | [893.311µs; 898.531µs] or [-0.291%; +0.291%] | None | None | None |
| trace_buffer/2_senders/no_delay | throughput | [2004211.942op/s; 2015735.305op/s] or [-0.287%; +0.287%] | None | None | None |
| trace_buffer/4_senders/10us_delay | execution_time | [57.463ms; 57.506ms] or [-0.037%; +0.037%] | None | None | None |
| trace_buffer/4_senders/10us_delay | throughput | [62602.743op/s; 62649.117op/s] or [-0.037%; +0.037%] | None | None | None |
| trace_buffer/4_senders/1us_delay | execution_time | [50.162ms; 50.171ms] or [-0.009%; +0.009%] | None | None | None |
| trace_buffer/4_senders/1us_delay | throughput | [71754.389op/s; 71767.762op/s] or [-0.009%; +0.009%] | None | None | None |
| trace_buffer/4_senders/no_delay | execution_time | [2.300ms; 2.324ms] or [-0.510%; +0.510%] | None | None | None |
| trace_buffer/4_senders/no_delay | throughput | [1551279.668op/s; 1567430.861op/s] or [-0.518%; +0.518%] | None | None | None |
| trace_buffer/8_senders/10us_delay | execution_time | [57.893ms; 57.941ms] or [-0.041%; +0.041%] | None | None | None |
| trace_buffer/8_senders/10us_delay | throughput | [124265.882op/s; 124367.938op/s] or [-0.041%; +0.041%] | None | None | None |
| trace_buffer/8_senders/1us_delay | execution_time | [50.295ms; 50.311ms] or [-0.016%; +0.016%] | None | None | None |
| trace_buffer/8_senders/1us_delay | throughput | [143109.817op/s; 143156.900op/s] or [-0.016%; +0.016%] | None | None | None |
| trace_buffer/8_senders/no_delay | execution_time | [6.266ms; 6.318ms] or [-0.410%; +0.410%] | None | None | None |
| trace_buffer/8_senders/no_delay | throughput | [1140396.770op/s; 1150226.305op/s] or [-0.429%; +0.429%] | None | None | None |
Artifact Size Benchmark Reportaarch64-alpine-linux-musl
aarch64-unknown-linux-gnu
libdatadog-x64-windows
libdatadog-x86-windows
x86_64-alpine-linux-musl
x86_64-unknown-linux-gnu
|
Always emit available Datadog attributes for OTLP trace metrics and map non-empty service_source values to datadog.svc_src. BREAKING CHANGE: OtlpMetricsConfig and map_stats_to_otlp_metrics no longer accept the OTel trace-semantics setting.
Retain the OTel semantics field and mapper argument for downstream callers while keeping OTLP trace-metrics output unconditional.
Summary
Aligns libdatadog OTLP trace metrics with the shared cross-tracer contract in system-tests#7466.
datadog.*metric attributes, independent ofDD_TRACE_OTEL_SEMANTICS_ENABLED; the configuration remains available for OTLP trace export and downstream compatibility.SPAN_KIND_INTERNALas the fallback span kind.datadog.is_trace_rootonly when known, booleandatadog.span.top_level, array-valued process/peer tags, additional metric tags, and non-emptydatadog.svc_src.Validation
cargo nextest run -p libdd-data-pipeline(159 passed)cargo check -p libdd-data-pipelinecargo +stable clippy -p libdd-data-pipeline --all-targets -- -D warningscargo +nightly-2026-07-26 fmt --all -- --checkcargo test -p libdd-data-pipeline --doc(2 passed)