Skip to content

feat(data-pipeline): emit additional_metric_tags on OTLP span duration metric#2264

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 1 commit into
mainfrom
munir/otlp-additional-metric-tags
Jul 24, 2026
Merged

feat(data-pipeline): emit additional_metric_tags on OTLP span duration metric#2264
gh-worker-dd-mergequeue-cf854d[bot] merged 1 commit into
mainfrom
munir/otlp-additional-metric-tags

Conversation

@mabdinur

Copy link
Copy Markdown
Contributor

What does this PR do?

#2170 added additional_metric_tags to ClientGroupedStats in libdd-trace-stats, letting tracers attach extra tracer/customer-configured key/value dimensions (up to 4 keys, values capped at 200 chars) to stats aggregation. That change only wired the tags into the native /v0.6/stats agent payload.

This PR extends the OTLP stats path (libdd-data-pipeline/src/otlp/metrics.rs) so the same additional_metric_tags are also serialized as data-point attributes on the traces.span.sdk.metrics.duration OTLP histogram metric, mirroring the existing peer_tags handling.

Motivation

Consumers of the OTLP metrics export (e.g. via an OTel collector) were silently missing these additional tags/dimensions that are already present in the native stats payload, creating a parity gap between the two export paths.

Additional Notes

  • These tags are user/tracer-defined (not Datadog-internal), so — like peer_tags — they are emitted in both normal and otel_trace_semantics_enabled (OTel-semantics) mode; they're not stripped like datadog.* attributes.
  • additional_metric_tags entries are "key:value" strings; splitting on the first : (not split(':')/last) correctly preserves values containing embedded colons (e.g. URLs), matching how peer_tags are handled.

How to test the change?

  • Added emits_additional_metric_tags_as_attributes unit test in libdd-data-pipeline/src/otlp/metrics.rs covering: normal emission, values containing embedded colons, pass-through under otel_trace_semantics_enabled, and skipping malformed/empty-value entries.
  • cargo nextest run -p libdd-data-pipeline and cargo +stable clippy -p libdd-data-pipeline --all-targets -- -D warnings pass locally.

…n metric

PR #2170 added additional_metric_tags to ClientGroupedStats so tracers can
attach extra key/value dimensions to stats aggregation. The OTLP metrics
mapper (traces.span.sdk.metrics.duration) never surfaced them as data-point
attributes, so consumers of the OTLP stats export lost those tags. Mirror
the existing peer_tags handling to emit each tag as an attribute.
@pr-commenter

pr-commenter Bot commented Jul 22, 2026

Copy link
Copy Markdown

Benchmarks

Comparison

Benchmark execution time: 2026-07-22 17:14:45

Comparing candidate commit 12c32eb in PR branch munir/otlp-additional-metric-tags with baseline commit 0c78ffc in branch main.

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

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 12c32eb 1784735074 munir/otlp-additional-metric-tags
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.291ms 56.571ms ± 0.153ms 56.544ms ± 0.080ms 56.649ms 56.834ms 56.928ms 57.635ms 1.93% 2.061 10.534 0.27% 0.011ms 1 200
trace_buffer/1_senders/10us_delay throughput 15615.588op/s 15909.355op/s ± 42.781op/s 15916.941op/s ± 22.540op/s 15937.609op/s 15959.706op/s 15976.809op/s 15988.443op/s 0.45% -1.995 9.965 0.27% 3.025op/s 1 200
trace_buffer/1_senders/1us_delay execution_time 49.927ms 50.079ms ± 0.036ms 50.080ms ± 0.013ms 50.090ms 50.143ms 50.200ms 50.207ms 0.25% 0.436 3.224 0.07% 0.003ms 1 200
trace_buffer/1_senders/1us_delay throughput 17925.753op/s 17971.521op/s ± 12.966op/s 17971.276op/s ± 4.627op/s 17977.403op/s 17989.821op/s 17991.103op/s 18026.412op/s 0.31% -0.425 3.228 0.07% 0.917op/s 1 200
trace_buffer/1_senders/no_delay execution_time 329.009µs 337.483µs ± 5.447µs 336.660µs ± 1.589µs 338.527µs 342.952µs 352.144µs 395.477µs 17.47% 6.538 63.596 1.61% 0.385µs 1 200
trace_buffer/1_senders/no_delay throughput 2275731.226op/s 2667432.272op/s ± 39247.038op/s 2673323.191op/s ± 12623.010op/s 2684220.603op/s 2704659.483op/s 2719542.032op/s 2735488.971op/s 2.33% -5.535 49.216 1.47% 2775.185op/s 1 200
trace_buffer/2_senders/10us_delay execution_time 56.628ms 56.974ms ± 0.163ms 56.959ms ± 0.093ms 57.079ms 57.296ms 57.379ms 57.485ms 0.92% 0.568 0.313 0.29% 0.012ms 1 200
trace_buffer/2_senders/10us_delay throughput 31312.410op/s 31593.429op/s ± 90.363op/s 31601.443op/s ± 51.606op/s 31648.831op/s 31722.143op/s 31757.295op/s 31786.468op/s 0.59% -0.551 0.285 0.29% 6.390op/s 1 200
trace_buffer/2_senders/1us_delay execution_time 50.059ms 50.118ms ± 0.040ms 50.109ms ± 0.024ms 50.134ms 50.193ms 50.225ms 50.271ms 0.32% 1.014 0.636 0.08% 0.003ms 1 200
trace_buffer/2_senders/1us_delay throughput 35805.891op/s 35915.096op/s ± 28.623op/s 35921.932op/s ± 16.992op/s 35937.573op/s 35948.507op/s 35953.896op/s 35957.906op/s 0.10% -1.010 0.624 0.08% 2.024op/s 1 200
trace_buffer/2_senders/no_delay execution_time 845.936µs 886.746µs ± 18.624µs 884.752µs ± 10.041µs 895.132µs 917.955µs 940.014µs 1001.606µs 13.21% 1.600 6.801 2.09% 1.317µs 1 200
trace_buffer/2_senders/no_delay throughput 1797114.307op/s 2030758.539op/s ± 41419.619op/s 2034467.993op/s ± 23094.824op/s 2056873.154op/s 2086696.205op/s 2109567.471op/s 2127819.485op/s 4.59% -1.251 4.658 2.03% 2928.809op/s 1 200
trace_buffer/4_senders/10us_delay execution_time 57.163ms 57.491ms ± 0.142ms 57.480ms ± 0.081ms 57.565ms 57.765ms 57.918ms 57.961ms 0.84% 0.687 1.027 0.25% 0.010ms 1 200
trace_buffer/4_senders/10us_delay throughput 62110.989op/s 62618.944op/s ± 154.659op/s 62630.341op/s ± 88.541op/s 62716.692op/s 62833.173op/s 62961.094op/s 62977.278op/s 0.55% -0.668 0.995 0.25% 10.936op/s 1 200
trace_buffer/4_senders/1us_delay execution_time 50.098ms 50.171ms ± 0.046ms 50.162ms ± 0.018ms 50.181ms 50.255ms 50.295ms 50.556ms 0.79% 3.558 23.990 0.09% 0.003ms 1 200
trace_buffer/4_senders/1us_delay throughput 71207.950op/s 71754.418op/s ± 65.353op/s 71767.018op/s ± 25.270op/s 71791.483op/s 71819.059op/s 71840.604op/s 71859.251op/s 0.13% -3.521 23.573 0.09% 4.621op/s 1 200
trace_buffer/4_senders/no_delay execution_time 2.075ms 2.295ms ± 0.095ms 2.304ms ± 0.062ms 2.361ms 2.427ms 2.507ms 2.529ms 9.76% -0.142 -0.436 4.13% 0.007ms 1 200
trace_buffer/4_senders/no_delay throughput 1423307.591op/s 1571303.735op/s ± 65670.721op/s 1562278.101op/s ± 42564.650op/s 1614032.476op/s 1685338.149op/s 1720435.275op/s 1734930.353op/s 11.05% 0.329 -0.428 4.17% 4643.621op/s 1 200
trace_buffer/8_senders/10us_delay execution_time 57.616ms 57.891ms ± 0.203ms 57.836ms ± 0.089ms 57.946ms 58.341ms 58.488ms 58.531ms 1.20% 1.370 1.181 0.35% 0.014ms 1 200
trace_buffer/8_senders/10us_delay throughput 123011.466op/s 124372.346op/s ± 433.415op/s 124489.362op/s ± 190.814op/s 124668.549op/s 124836.595op/s 124921.481op/s 124965.919op/s 0.38% -1.356 1.142 0.35% 30.647op/s 1 200
trace_buffer/8_senders/1us_delay execution_time 50.208ms 50.293ms ± 0.058ms 50.276ms ± 0.025ms 50.320ms 50.396ms 50.522ms 50.529ms 0.51% 1.742 3.953 0.12% 0.004ms 1 200
trace_buffer/8_senders/1us_delay throughput 142491.136op/s 143161.698op/s ± 165.109op/s 143210.828op/s ± 71.464op/s 143267.625op/s 143344.471op/s 143390.339op/s 143402.519op/s 0.13% -1.732 3.905 0.12% 11.675op/s 1 200
trace_buffer/8_senders/no_delay execution_time 5.598ms 6.476ms ± 0.165ms 6.523ms ± 0.081ms 6.588ms 6.656ms 6.705ms 6.729ms 3.16% -1.644 4.149 2.54% 0.012ms 1 200
trace_buffer/8_senders/no_delay throughput 1070014.412op/s 1112584.933op/s ± 29735.169op/s 1103851.386op/s ± 13577.759op/s 1123466.060op/s 1168541.447op/s 1205982.932op/s 1286134.040op/s 16.51% 1.945 6.102 2.67% 2102.594op/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.550ms; 56.592ms] or [-0.037%; +0.037%] None None None
trace_buffer/1_senders/10us_delay throughput [15903.426op/s; 15915.284op/s] or [-0.037%; +0.037%] None None None
trace_buffer/1_senders/1us_delay execution_time [50.074ms; 50.084ms] or [-0.010%; +0.010%] None None None
trace_buffer/1_senders/1us_delay throughput [17969.724op/s; 17973.318op/s] or [-0.010%; +0.010%] None None None
trace_buffer/1_senders/no_delay execution_time [336.728µs; 338.238µs] or [-0.224%; +0.224%] None None None
trace_buffer/1_senders/no_delay throughput [2661993.010op/s; 2672871.534op/s] or [-0.204%; +0.204%] None None None
trace_buffer/2_senders/10us_delay execution_time [56.952ms; 56.997ms] or [-0.040%; +0.040%] None None None
trace_buffer/2_senders/10us_delay throughput [31580.906op/s; 31605.953op/s] or [-0.040%; +0.040%] None None None
trace_buffer/2_senders/1us_delay execution_time [50.113ms; 50.124ms] or [-0.011%; +0.011%] None None None
trace_buffer/2_senders/1us_delay throughput [35911.129op/s; 35919.063op/s] or [-0.011%; +0.011%] None None None
trace_buffer/2_senders/no_delay execution_time [884.165µs; 889.327µs] or [-0.291%; +0.291%] None None None
trace_buffer/2_senders/no_delay throughput [2025018.178op/s; 2036498.900op/s] or [-0.283%; +0.283%] None None None
trace_buffer/4_senders/10us_delay execution_time [57.471ms; 57.511ms] or [-0.034%; +0.034%] None None None
trace_buffer/4_senders/10us_delay throughput [62597.510op/s; 62640.378op/s] or [-0.034%; +0.034%] None None None
trace_buffer/4_senders/1us_delay execution_time [50.165ms; 50.178ms] or [-0.013%; +0.013%] None None None
trace_buffer/4_senders/1us_delay throughput [71745.360op/s; 71763.475op/s] or [-0.013%; +0.013%] None None None
trace_buffer/4_senders/no_delay execution_time [2.282ms; 2.308ms] or [-0.574%; +0.574%] None None None
trace_buffer/4_senders/no_delay throughput [1562202.405op/s; 1580405.065op/s] or [-0.579%; +0.579%] None None None
trace_buffer/8_senders/10us_delay execution_time [57.863ms; 57.919ms] or [-0.049%; +0.049%] None None None
trace_buffer/8_senders/10us_delay throughput [124312.279op/s; 124432.414op/s] or [-0.048%; +0.048%] None None None
trace_buffer/8_senders/1us_delay execution_time [50.285ms; 50.301ms] or [-0.016%; +0.016%] None None None
trace_buffer/8_senders/1us_delay throughput [143138.816op/s; 143184.581op/s] or [-0.016%; +0.016%] None None None
trace_buffer/8_senders/no_delay execution_time [6.453ms; 6.499ms] or [-0.354%; +0.354%] None None None
trace_buffer/8_senders/no_delay throughput [1108463.924op/s; 1116705.941op/s] or [-0.370%; +0.370%] 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 0c78ffc 1784729439 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.289ms 56.531ms ± 0.116ms 56.522ms ± 0.068ms 56.593ms 56.734ms 56.870ms 57.006ms 0.86% 0.877 1.642 0.20% 0.008ms 1 200
trace_buffer/1_senders/10us_delay throughput 15787.820op/s 15920.475op/s ± 32.657op/s 15922.943op/s ± 19.187op/s 15941.967op/s 15969.711op/s 15983.827op/s 15988.981op/s 0.41% -0.860 1.591 0.20% 2.309op/s 1 200
trace_buffer/1_senders/1us_delay execution_time 49.994ms 50.074ms ± 0.031ms 50.079ms ± 0.017ms 50.090ms 50.138ms 50.151ms 50.169ms 0.18% 0.326 0.166 0.06% 0.002ms 1 200
trace_buffer/1_senders/1us_delay throughput 17939.297op/s 17973.248op/s ± 10.961op/s 17971.569op/s ± 5.974op/s 17982.668op/s 17989.123op/s 17990.778op/s 18001.992op/s 0.17% -0.322 0.161 0.06% 0.775op/s 1 200
trace_buffer/1_senders/no_delay execution_time 331.039µs 337.591µs ± 3.010µs 337.154µs ± 1.264µs 338.544µs 342.219µs 347.401µs 353.353µs 4.80% 1.542 5.403 0.89% 0.213µs 1 200
trace_buffer/1_senders/no_delay throughput 2547030.815op/s 2666159.906op/s ± 23467.409op/s 2669405.939op/s ± 10046.277op/s 2678625.089op/s 2697077.964op/s 2717701.387op/s 2718709.742op/s 1.85% -1.412 4.786 0.88% 1659.396op/s 1 200
trace_buffer/2_senders/10us_delay execution_time 56.567ms 57.130ms ± 0.188ms 57.119ms ± 0.137ms 57.273ms 57.431ms 57.595ms 57.657ms 0.94% 0.239 -0.094 0.33% 0.013ms 1 200
trace_buffer/2_senders/10us_delay throughput 31219.051op/s 31507.199op/s ± 103.390op/s 31513.001op/s ± 75.815op/s 31586.806op/s 31664.402op/s 31706.408op/s 31820.873op/s 0.98% -0.221 -0.098 0.33% 7.311op/s 1 200
trace_buffer/2_senders/1us_delay execution_time 50.036ms 50.116ms ± 0.039ms 50.108ms ± 0.022ms 50.132ms 50.201ms 50.234ms 50.267ms 0.32% 1.288 1.879 0.08% 0.003ms 1 200
trace_buffer/2_senders/1us_delay throughput 35808.530op/s 35916.889op/s ± 28.143op/s 35922.514op/s ± 15.741op/s 35936.780op/s 35948.171op/s 35955.396op/s 35974.380op/s 0.14% -1.283 1.861 0.08% 1.990op/s 1 200
trace_buffer/2_senders/no_delay execution_time 871.417µs 915.647µs ± 17.564µs 918.653µs ± 11.174µs 927.745µs 942.257µs 946.682µs 951.360µs 3.56% -0.484 -0.203 1.91% 1.242µs 1 200
trace_buffer/2_senders/no_delay throughput 1892027.591op/s 1966549.617op/s ± 38107.629op/s 1959390.134op/s ± 23982.422op/s 1989531.321op/s 2040454.626op/s 2063642.067op/s 2065600.409op/s 5.42% 0.574 -0.095 1.93% 2694.616op/s 1 200
trace_buffer/4_senders/10us_delay execution_time 57.052ms 57.452ms ± 0.164ms 57.428ms ± 0.106ms 57.558ms 57.724ms 57.894ms 58.007ms 1.01% 0.489 0.286 0.29% 0.012ms 1 200
trace_buffer/4_senders/10us_delay throughput 62061.547op/s 62661.887op/s ± 178.862op/s 62686.955op/s ± 115.213op/s 62775.003op/s 62913.536op/s 63020.666op/s 63100.775op/s 0.66% -0.472 0.259 0.28% 12.647op/s 1 200
trace_buffer/4_senders/1us_delay execution_time 50.117ms 50.171ms ± 0.035ms 50.163ms ± 0.018ms 50.185ms 50.251ms 50.276ms 50.287ms 0.25% 1.224 1.236 0.07% 0.002ms 1 200
trace_buffer/4_senders/1us_delay throughput 71588.976op/s 71754.606op/s ± 50.331op/s 71766.226op/s ± 25.293op/s 71788.417op/s 71812.883op/s 71827.145op/s 71831.717op/s 0.09% -1.220 1.226 0.07% 3.559op/s 1 200
trace_buffer/4_senders/no_delay execution_time 2.089ms 2.373ms ± 0.075ms 2.372ms ± 0.044ms 2.415ms 2.497ms 2.525ms 2.548ms 7.42% -0.210 0.390 3.15% 0.005ms 1 200
trace_buffer/4_senders/no_delay throughput 1413123.244op/s 1518414.114op/s ± 48383.416op/s 1517921.996op/s ± 28255.341op/s 1546203.292op/s 1602682.765op/s 1629175.658op/s 1723241.441op/s 13.53% 0.449 0.920 3.18% 3421.224op/s 1 200
trace_buffer/8_senders/10us_delay execution_time 57.637ms 57.943ms ± 0.211ms 57.887ms ± 0.110ms 58.017ms 58.410ms 58.518ms 58.758ms 1.50% 1.199 1.085 0.36% 0.015ms 1 200
trace_buffer/8_senders/10us_delay throughput 122537.461op/s 124262.688op/s ± 449.795op/s 124379.982op/s ± 236.963op/s 124589.441op/s 124783.953op/s 124871.032op/s 124918.985op/s 0.43% -1.182 1.027 0.36% 31.805op/s 1 200
trace_buffer/8_senders/1us_delay execution_time 50.206ms 50.285ms ± 0.055ms 50.270ms ± 0.025ms 50.308ms 50.384ms 50.497ms 50.538ms 0.54% 1.908 4.839 0.11% 0.004ms 1 200
trace_buffer/8_senders/1us_delay throughput 142465.662op/s 143184.690op/s ± 155.116op/s 143227.886op/s ± 70.167op/s 143280.566op/s 143355.298op/s 143388.431op/s 143409.566op/s 0.13% -1.898 4.788 0.11% 10.968op/s 1 200
trace_buffer/8_senders/no_delay execution_time 5.559ms 6.481ms ± 0.145ms 6.504ms ± 0.088ms 6.581ms 6.659ms 6.684ms 6.740ms 3.63% -1.843 7.697 2.23% 0.010ms 1 200
trace_buffer/8_senders/no_delay throughput 1068221.945op/s 1111570.948op/s ± 26042.495op/s 1107022.389op/s ± 15071.672op/s 1123469.672op/s 1157140.414op/s 1184348.443op/s 1295203.113op/s 17.00% 2.339 11.786 2.34% 1841.482op/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.515ms; 56.547ms] or [-0.028%; +0.028%] None None None
trace_buffer/1_senders/10us_delay throughput [15915.949op/s; 15925.001op/s] or [-0.028%; +0.028%] None None None
trace_buffer/1_senders/1us_delay execution_time [50.070ms; 50.079ms] or [-0.008%; +0.008%] None None None
trace_buffer/1_senders/1us_delay throughput [17971.729op/s; 17974.767op/s] or [-0.008%; +0.008%] None None None
trace_buffer/1_senders/no_delay execution_time [337.173µs; 338.008µs] or [-0.124%; +0.124%] None None None
trace_buffer/1_senders/no_delay throughput [2662907.549op/s; 2669412.263op/s] or [-0.122%; +0.122%] None None None
trace_buffer/2_senders/10us_delay execution_time [57.104ms; 57.156ms] or [-0.046%; +0.046%] None None None
trace_buffer/2_senders/10us_delay throughput [31492.870op/s; 31521.528op/s] or [-0.045%; +0.045%] None None None
trace_buffer/2_senders/1us_delay execution_time [50.110ms; 50.121ms] or [-0.011%; +0.011%] None None None
trace_buffer/2_senders/1us_delay throughput [35912.989op/s; 35920.790op/s] or [-0.011%; +0.011%] None None None
trace_buffer/2_senders/no_delay execution_time [913.213µs; 918.081µs] or [-0.266%; +0.266%] None None None
trace_buffer/2_senders/no_delay throughput [1961268.266op/s; 1971830.968op/s] or [-0.269%; +0.269%] None None None
trace_buffer/4_senders/10us_delay execution_time [57.429ms; 57.474ms] or [-0.040%; +0.040%] None None None
trace_buffer/4_senders/10us_delay throughput [62637.099op/s; 62686.676op/s] or [-0.040%; +0.040%] None None None
trace_buffer/4_senders/1us_delay execution_time [50.166ms; 50.176ms] or [-0.010%; +0.010%] None None None
trace_buffer/4_senders/1us_delay throughput [71747.630op/s; 71761.581op/s] or [-0.010%; +0.010%] None None None
trace_buffer/4_senders/no_delay execution_time [2.363ms; 2.384ms] or [-0.437%; +0.437%] None None None
trace_buffer/4_senders/no_delay throughput [1511708.637op/s; 1525119.590op/s] or [-0.442%; +0.442%] None None None
trace_buffer/8_senders/10us_delay execution_time [57.913ms; 57.972ms] or [-0.050%; +0.050%] None None None
trace_buffer/8_senders/10us_delay throughput [124200.351op/s; 124325.026op/s] or [-0.050%; +0.050%] None None None
trace_buffer/8_senders/1us_delay execution_time [50.277ms; 50.292ms] or [-0.015%; +0.015%] None None None
trace_buffer/8_senders/1us_delay throughput [143163.192op/s; 143206.187op/s] or [-0.015%; +0.015%] None None None
trace_buffer/8_senders/no_delay execution_time [6.461ms; 6.501ms] or [-0.310%; +0.310%] None None None
trace_buffer/8_senders/no_delay throughput [1107961.709op/s; 1115180.187op/s] or [-0.325%; +0.325%] None None None

@datadog-official

datadog-official Bot commented Jul 22, 2026

Copy link
Copy Markdown

Tests

🎉 All green!

🧪 All tests passed
❄️ No new flaky tests detected

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 74.62% (-0.04%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 12c32eb | Docs | Datadog PR Page | Give us feedback!

@dd-octo-sts

dd-octo-sts Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 88.18 MB 88.18 MB +0% (+1.85 KB) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.13 MB 8.13 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.93 MB 10.93 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 99.46 MB 99.47 MB +0% (+1.86 KB) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 26.59 MB 26.59 MB +0% (+512 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 89.18 KB 89.18 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 191.42 MB 191.39 MB --.01% (-32.00 KB) 💪
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 1.04 GB 1.04 GB +0% (+690 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 8.66 MB 8.66 MB +0% (+512 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 89.18 KB 89.18 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 25.36 MB 25.36 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 50.56 MB 50.56 MB +0% (+1.60 KB) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 23.16 MB 23.16 MB +0% (+512 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 90.58 KB 90.58 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 196.09 MB 196.08 MB -0% (-16.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 1.03 GB 1.03 GB +0% (+674 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 6.68 MB 6.68 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 90.58 KB 90.58 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 27.26 MB 27.26 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 48.13 MB 48.13 MB +0% (+1.30 KB) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 78.65 MB 78.65 MB +0% (+2.02 KB) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 9.06 MB 9.05 MB --.04% (-4.00 KB) 💪
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 94.14 MB 94.14 MB +0% (+2.06 KB) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.02 MB 11.02 MB --.03% (-4.00 KB) 💪

@mabdinur
mabdinur marked this pull request as ready for review July 22, 2026 18:12
@mabdinur
mabdinur requested a review from a team as a code owner July 22, 2026 18:12
@mabdinur
mabdinur requested review from vpellan and removed request for a team July 22, 2026 18:12

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 12c32eb34a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread libdd-data-pipeline/src/otlp/metrics.rs
Comment thread libdd-data-pipeline/src/otlp/metrics.rs
@mabdinur

Copy link
Copy Markdown
Contributor Author

/merge

@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351 Bot commented Jul 24, 2026

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2026-07-24 17:53:04 UTC ℹ️ Start processing command /merge


2026-07-24 17:53:09 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in main is approximately 1h (p90).


2026-07-24 18:33:55 UTC ℹ️ MergeQueue: This merge request was merged

@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854d Bot merged commit be0b543 into main Jul 24, 2026
92 checks passed
@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854d Bot deleted the munir/otlp-additional-metric-tags branch July 24, 2026 18:33
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.

2 participants