Skip to content

fix(trace-stats): read OTel HTTP names for the status and method dimensions - #2323

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 6 commits into
mainfrom
maximo/otel-semantics-tags
Sep 2, 2026
Merged

gh-worker-dd-mergequeue-cf854d[bot] merged 6 commits into
mainfrom
maximo/otel-semantics-tags

Conversation

@link04

@link04 link04 commented Aug 5, 2026 •

Copy link
Copy Markdown
Contributor

What does this PR do?

Preserves OpenTelemetry HTTP semantics in libdatadog's in-process consumers and OTLP output.

Trace stats and OTLP trace metrics

  • reads canonical Datadog HTTP method/status keys first, then falls back to http.request.method and http.response.status_code
  • accepts valid numeric or string status values without allowing empty, malformed, non-finite, or non-integral values to shadow a valid fallback
  • emits OTel trace-metric dimensions for method, status, route, span name, and kind
  • leaves successful status.code unset and prevents additional tags from overriding the computed status

HTTP tag handling

libdatadog does not rename tracer span tags in this PR. It accepts the Datadog and OpenTelemetry names below as equivalent inputs to trace-stat aggregation and emits the canonical OpenTelemetry name in OTLP trace metrics.

Concept Datadog span input OpenTelemetry span input OTLP trace-metric output
HTTP method http.method http.request.method http.request.method
HTTP response status http.status_code http.response.status_code http.response.status_code as an integer
Span error status Span error flag Span error flag status.code=STATUS_CODE_ERROR for errors; omitted for successful spans

When both naming variants are present, the Datadog name wins. Empty or malformed values fall through to the alternate name instead of hiding a valid value.

OTLP sampled flags

Sampling priority is a trace-level decision, but v0.4/v0.5 inputs may attach _sampling_priority_v1 to only one span. The mapper now uses the same first-priority policy as drop_chunks, treats a missing priority as sampled, and applies one decision to every span in the chunk.

This prevents sampled traces from exporting child spans with flags=0 and keeps OTLP flags consistent with the existing chunk-retention policy.

No public signature, wire-format, setting, or environment-variable change is introduced.

Motivation

Under DD_TRACE_OTEL_SEMANTICS_ENABLED, spans use OTel HTTP names before client-side stats are computed. Stats and OTLP metrics must preserve those dimensions, and all spans in an exported trace must carry the same sampled decision.

Companion changes:

Testing

  • cargo fmt --check -p libdd-trace-utils
  • mapper unit tests: 31 passed
  • OTLP trace-exporter integration tests: 3 passed
  • trace-stats tests: 43 passed

End-to-end re-run from libdatadog head 0ed7fd9bd with the final Python server layer and companion system tests:

Scenario Result
OTEL_SEMANTICS_OTLP_TRACE_METRICS 4 passed
OTEL_SEMANTICS_OTLP_SAMPLING_RULES 2 passed

@pr-commenter

pr-commenter Bot commented Aug 5, 2026 •

Copy link
Copy Markdown

Benchmarks

Comparison

Benchmark execution time: 2026-09-02 15:32:52

Comparing candidate commit 6a1814e in PR branch maximo/otel-semantics-tags with baseline commit edde9da in branch main.

Found 1 performance improvements and 2 performance regressions! Performance is the same for 138 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:otlp/e2e_protobuf/1x1000

  • 🟩 execution_time [-156.023µs; -154.769µs] or [-4.397%; -4.361%]

scenario:otlp/encode_json/1x1000

  • 🟥 execution_time [+105.108µs; +105.727µs] or [+6.410%; +6.448%]

scenario:vec_map/as_deduped_map/needs_dedup_1_in_10/8

  • 🟥 execution_time [+15.032ns; +15.269ns] or [+4.261%; +4.328%]

Benchmark execution time: 2026-09-02 15:31:12

Comparing candidate commit 6a1814e in PR branch maximo/otel-semantics-tags with baseline commit edde9da in branch main.

Found 0 performance improvements and 4 performance regressions! Performance is the same for 71 metrics, 10 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:glob_matcher/ascii_wildcard_backtrack_match/wall_time

  • 🟥 execution_time [+20.261ns; +20.278ns] or [+55.012%; +55.060%]

scenario:glob_matcher/ascii_wildcard_heavy_backtrack/wall_time

  • 🟥 execution_time [+14.717ns; +14.742ns] or [+35.982%; +36.043%]

scenario:glob_matcher/ascii_wildcard_question_match/wall_time

  • 🟥 execution_time [+17.395ns; +17.415ns] or [+47.262%; +47.317%]

scenario:glob_matcher/ascii_wildcard_star_match/wall_time

  • 🟥 execution_time [+19.833ns; +19.852ns] or [+53.820%; +53.874%]

Candidate

Omitted due to size.

Baseline

Omitted due to size.

@dd-octo-sts

dd-octo-sts Bot commented Aug 5, 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 91.28 MB 91.30 MB +.02% (+21.17 KB) 🔍
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.45 MB 8.45 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.38 MB 11.38 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 102.59 MB 102.61 MB +.01% (+20.86 KB) 🔍
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 27.32 MB 27.33 MB +.03% (+9.00 KB) 🔍
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 96.08 KB 96.08 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 185.36 MB 185.41 MB +.02% (+56.00 KB) 🔍
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 803.66 MB 805.24 MB +.19% (+1.57 MB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.01 MB 9.01 MB +.01% (+1.00 KB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 96.08 KB 96.08 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 26.20 MB 26.21 MB +.02% (+8.00 KB) 🔍
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 52.21 MB 52.22 MB +.01% (+7.74 KB) 🔍
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 23.81 MB 23.82 MB +.03% (+8.50 KB) 🔍
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 97.58 KB 97.58 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 190.39 MB 190.43 MB +.02% (+40.00 KB) 🔍
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 788.17 MB 788.61 MB +.05% (+448.29 KB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 6.96 MB 6.96 MB +.02% (+2.00 KB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 97.58 KB 97.58 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 28.18 MB 28.18 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 49.69 MB 49.70 MB +.01% (+8.72 KB) 🔍
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 81.43 MB 81.45 MB +.02% (+18.46 KB) 🔍
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 9.41 MB 9.41 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 97.20 MB 97.22 MB +.01% (+18.76 KB) 🔍
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.46 MB 11.46 MB 0% (0 B) 👌

@link04
link04 force-pushed the maximo/otel-semantics-tags branch from a142769 to a8e29fd Compare August 6, 2026 15:07
@datadog-datadog-prod-us1

datadog-datadog-prod-us1 Bot commented Aug 6, 2026 •

Copy link
Copy Markdown
Contributor

Tests

✅ All CI checks and tests passed.

🎉 All green!

🧪 All tests passed
❄️ No new flaky tests detected

🎯 Code Coverage (details)
• Patch Coverage: 99.81%
• Overall Coverage: 77.01% (+0.11%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 6a1814e | Docs | View more details | Give us feedback!

@ichinaski ichinaski 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.

Changes regarding the OTel tags for method and status_code extraction look good.

Comment thread libdd-data-pipeline/src/otlp/metrics.rs Outdated
Read the OTel HTTP names when computing trace-metric dimensions, so stats keep
working once the Datadog names are replaced, and fall through to the OTel name
rather than dropping the dimension when a value cannot be parsed.

Emit status.code on every trace-metric data point, STATUS_CODE_OK on success and
STATUS_CODE_ERROR otherwise. It is a dimension of the metric rather than a span
status, so omitting it on success gives successful and error cells different
attribute sets and loses the OK series for anything grouping by it. Spans are
untouched, so a successful span still exports with status UNSET.

Propagate the chunk's sampling decision to the OTLP sampled flag, matching the
policy the Datadog path already applies, so a child without its own sampling
priority still carries the chunk-level decision.

Use Agent-compatible HTTP aliases and reject malformed status values so OTLP
trace metrics keep valid dimensions.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@link04
link04 force-pushed the maximo/otel-semantics-tags branch from 9758e56 to 6219f24 Compare August 25, 2026 02:02
@link04
link04 marked this pull request as ready for review August 27, 2026 04:55

@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: 6219f24678

ℹ️ 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-trace-stats/src/span_concentrator/aggregation.rs
Comment thread libdd-trace-stats/src/span_concentrator/aggregation.rs
Comment thread libdd-trace-utils/src/otlp_encoder/mapper.rs Outdated
Validate aliased HTTP status codes and carry rejected trace decisions into OTLP single-span exports after filtering.

Co-authored-by: Cursor <cursoragent@cursor.com>
@link04
link04 requested review from a team as code owners August 27, 2026 20:54
@link04 link04 added the AI Generated PR largely written by AI tools label Aug 28, 2026
link04 and others added 2 commits August 31, 2026 15:39
Resolve the data pipeline conflict while preserving main's agentless exporter refactor and the PR's OTLP sampling decisions.

Co-authored-by: Cursor <cursoragent@cursor.com>
Comment thread libdd-data-pipeline/src/trace_exporter/mod.rs Outdated
Comment thread libdd-data-pipeline/src/trace_exporter/mod.rs Outdated
Resolve the trace exporter conflict while preserving OTLP sampling decisions and the new agentless stats flow, and apply reviewer-requested iterator cleanup.

Co-authored-by: Cursor <cursoragent@cursor.com>

@bm1549 bm1549 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Left a few small comments about cross-repo consistency that I think should be considered. Otherwise LGTM

Comment thread libdd-trace-stats/src/span_concentrator/aggregation.rs
Comment thread libdd-trace-stats/src/span_concentrator/aggregation.rs
Comment thread libdd-trace-utils/src/span/trace_utils.rs Outdated
Scope chunk-wide sampled flags to OTel semantics and keep existing Datadog status handling while applying canonical route precedence.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gh-worker-ownership-write-b05516
gh-worker-ownership-write-b05516 Bot removed the request for review from a team September 2, 2026 15:00
@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351 Bot commented Sep 2, 2026 •

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2026-09-02 16:55:48 UTC ℹ️ Start processing command devflow:merge


2026-09-02 16:55:54 UTC ℹ️ MergeQueue: pull request added to the queue

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


2026-09-02 17:31:47 UTC ℹ️ MergeQueue: This merge request was merged

@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854d Bot merged commit c172290 into main Sep 2, 2026
112 checks passed
@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854d Bot deleted the maximo/otel-semantics-tags branch September 2, 2026 17:31
hoolioh added a commit that referenced this pull request Sep 8, 2026
…ker, libdd-data-pipeline, li... (#2482)

# Release proposal for libdd-capabilities-impl, libdd-crashtracker,
libdd-data-pipeline, libdd-ddsketch, libdd-ffe, libdd-http-client,
libdd-ipc, libdd-library-config, libdd-live-debugger,
libdd-otel-thread-ctx, libdd-remote-config, libdd-shared-runtime,
libdd-telemetry, libdd-trace-utils, libdd-tracer-flare and their
dependencies

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


### ⚠️ Crates left out of this proposal affected by its major
bumps

These publishable workspace crates are not part of this release but
their dependency requirement was rewritten on this branch while their
published version still requires the old major. If they are a dependency
on your deployment not including them in the release could result in
duplicate packages or symbol incompatibility.

- `libdd-common` `5.2.0` → `6.0.0` affects: `libdd-profiling`,
`libdd-sampling`
- `libdd-trace-utils` `11.0.0` → `12.0.0` affects: `libdd-sampling`

## libdd-capabilities
**Next version:** `3.0.1`
**Semver bump:** `patch`
**Tag:** `libdd-capabilities-v3.0.1`

### Commits

- refactor: migrate HTTP & networking deps to workspace level (phase
4bis) (#2350)
- feat: do not entirely disable connection pooling for periodic
connections (#2440)

## libdd-common
**Next version:** `6.0.0`
**Semver bump:** `major`
**Tag:** `libdd-common-v6.0.0`

### Commits

- refactor: migrate HTTP & networking deps to workspace level (phase
4bis) (#2350)
- feat: do not entirely disable connection pooling for periodic
connections (#2440)
- feat(data-pipeline)!: add agentless stats export (#2309)
- feat(data-pipeline): add runtime-independent agentless sending (#2389)
- feat(common)!: add HTTPS_PROXY support for hyper_backend (#2421)

## libdd-ipc-macros
**Next version:** `1.0.1`
**Semver bump:** `patch`
**Tag:** `libdd-ipc-macros-v1.0.1`

### Commits

- feat(sidecar)!: support appsec helper-rust integration with sidecar
(#2310)

## libdd-otel-thread-ctx
**Next version:** `1.1.0`
**Semver bump:** `minor`
**Tag:** `libdd-otel-thread-ctx-v1.1.0`

### Commits

- feat(otel-thread-ctx): add update-and-attach operation (#2443)

## libdd-tinybytes
**Next version:** `1.1.3`
**Semver bump:** `patch`
**Tag:** `libdd-tinybytes-v1.1.3`

### Commits

- refactor: migrate HTTP & networking deps to workspace level (phase
4bis) (#2350)

## libdd-capabilities-impl
**Next version:** `5.0.0`
**Semver bump:** `major`
**Tag:** `libdd-capabilities-impl-v5.0.0`

### ⚠️ major bump forced due to:

- `libdd-common`: ^5.1.1 → ^6.0.0

### Commits

- refactor: migrate HTTP & networking deps to workspace level (phase
4bis) (#2350)
- feat: do not entirely disable connection pooling for periodic
connections (#2440)
- feat(data-pipeline): add runtime-independent agentless sending (#2389)

## libdd-http-client
**Next version:** `2.0.0`
**Semver bump:** `major`
**Tag:** `libdd-http-client-v2.0.0`

### ⚠️ major bump forced due to:

- `libdd-common`: ^5.1.1 → ^6.0.0

### Commits

- refactor: migrate HTTP & networking deps to workspace level (phase
4bis) (#2350)
- feat(data-pipeline): add runtime-independent agentless sending (#2389)
- feat(common)!: add HTTPS_PROXY support for hyper_backend (#2421)

## libdd-remote-config
**Next version:** `5.0.0`
**Semver bump:** `major`
**Tag:** `libdd-remote-config-v5.0.0`

### ⚠️ major bump forced due to:

- `libdd-common`: ^5.2.0 → ^6.0.0

### Commits

- fix(remote-config): refresh fetcher identity (#2469)
- refactor: migrate HTTP & networking deps to workspace level (phase
4bis) (#2350)
- fix(remote-config): reuse injected sleep capability (#2429)

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

### ⚠️ major bump forced due to:

- `libdd-common`: ^5.2.0 → ^6.0.0

### Commits

- fix(shared-runtime): allow disabling worker fork restart (#2464)

## libdd-trace-utils
**Next version:** `12.0.0`
**Semver bump:** `major`
**Tag:** `libdd-trace-utils-v12.0.0`

### ⚠️ major bump forced due to:

- `libdd-common`: ^5.2.0 → ^6.0.0

### Commits

- feat(trace-utils): add v1-native JSON log encoder brick (#2371)
- feat(trace-utils): add v1-native agentless JSON encoder brick (#2370)
- refactor: migrate HTTP & networking deps to workspace level (phase
4bis) (#2350)
- fix(trace-stats): read OTel HTTP names for the status and method
dimensions (#2323)
- feat(data-pipeline): emit native trace export telemetry (#2338)
- feat(data-pipeline)!: add agentless stats export (#2309)
- fix(trace-utils): use vec map dedup when serializing (#2422)
- feat(data-pipeline): add runtime-independent agentless sending (#2389)
- fix(compression): align zstd behavior across targets (#2400)
- feat(trace-utils)!: add from owned to SpanText (#2403)

## libdd-ffe
**Next version:** `2.0.0`
**Semver bump:** `major`
**Tag:** `libdd-ffe-v2.0.0`

### ⚠️ major bump forced due to:

- `libdd-common`: ^5.1.1 → ^6.0.0
- `libdd-remote-config`: ^3.0.0 → ^4.1.0
- `libdd-trace-protobuf`: ^4.0.1 → ^5.0.0

### Commits

- refactor: migrate HTTP & networking deps to workspace level (phase
4bis) (#2350)
- feat(ffe): support arbitrary semver core parts (#2413)
- feat(ffe)!: send the split serial id on exposure events [EX-3425]
(#2402)
- feat(ffe): expose observeFullEvaluationData config-level FFI getter
(#2373)
- fix(ffe): report rejected flags as parse errors (#2339)
- test: skip/shorten slow miri jobs (#2331)

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

### ⚠️ major bump forced due to:

- `libdd-common`: ^5.2.0 → ^6.0.0

### Commits

- refactor: migrate HTTP & networking deps to workspace level (phase
4bis) (#2350)

## libdd-telemetry
**Next version:** `8.0.0`
**Semver bump:** `major`
**Tag:** `libdd-telemetry-v8.0.0`

### ⚠️ major bump forced due to:

- `libdd-common`: ^5.2.0 → ^6.0.0

### Commits

- refactor: migrate HTTP & networking deps to workspace level (phase
4bis) (#2350)
- refactor(telemetry): avoid doing two separate http requests in stop
telemetry (#2435)

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

### ⚠️ major bump forced due to:

- `libdd-common`: ^5.2.0 → ^6.0.0
- `libdd-trace-utils`: ^11.0.0 → ^12.0.0

### Commits

- fix(trace-obfuscation): scan all span meta for credit-card obfuscation
(#2472)
- refactor: migrate HTTP & networking deps to workspace level (phase
4bis) (#2350)
- feat(data-pipeline)!: Obfuscate v04 spans in agentless context (#2418)

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

### ⚠️ major bump forced due to:

- `libdd-common`: ^5.2.0 → ^6.0.0
- `libdd-trace-utils`: ^11.0.0 → ^12.0.0

### Commits

- refactor: migrate HTTP & networking deps to workspace level (phase
4bis) (#2350)

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

### ⚠️ major bump forced due to:

- `libdd-common`: ^5.2.0 → ^6.0.0

### Commits

- refactor: migrate HTTP & networking deps to workspace level (phase
4bis) (#2350)
- fix(crashtracking): filter out frames above faulting frame (#2428)
- feat(sidecar)!: support appsec helper-rust integration with sidecar
(#2310)
- chore(crashtracking): use RAII remote ptrace API (#2416)
- chore(crashtracking): bump libdd-libunwind-sys to v1.0.3 (#2414)

## libdd-data-pipeline-core
**Next version:** `1.0.0`
**Semver bump:** `major`
**Tag:** `libdd-data-pipeline-core-v1.0.0`

**Warning:** this is an initial release. Please verify that the version
and commits included are correct.


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

### ⚠️ major bump forced due to:

- `libdd-common`: ^5.2.0 → ^6.0.0
- `libdd-trace-obfuscation`: ^7.0.0 → ^8.0.0
- `libdd-trace-utils`: ^11.0.0 → ^12.0.0

### Commits

- refactor: migrate HTTP & networking deps to workspace level (phase
4bis) (#2350)
- fix(trace-stats): read OTel HTTP names for the status and method
dimensions (#2323)
- feat(data-pipeline)!: add agentless stats export (#2309)
- feat(trace-utils)!: add from owned to SpanText (#2403)

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

### ⚠️ major bump forced due to:

- `libdd-common`: ^5.2.0 → ^6.0.0
- `libdd-trace-obfuscation`: ^7.0.0 → ^8.0.0
- `libdd-trace-stats`: ^8.0.0 → ^9.0.0
- `libdd-trace-utils`: ^11.0.0 → ^12.0.0

### Commits

- feat(trace-utils): add v1-native JSON log encoder brick (#2371)
- chore: prepare crate for publishing (#2466)
- refactor: migrate HTTP & networking deps to workspace level (phase
4bis) (#2350)
- fix(trace-stats): read OTel HTTP names for the status and method
dimensions (#2323)
- fix(data-pipeline): pass obfuscation config to OTLP stats (#2444)
- feat(data-pipeline): emit native trace export telemetry (#2338)
- feat(data-pipeline): add fork-safe OTLP gRPC trace transport (#2273)
- feat(data-pipeline)!: add agentless stats export (#2309)
- feat(data-pipeline)!: Obfuscate v04 spans in agentless context (#2418)
- feat(data-pipeline): add runtime-independent agentless sending (#2389)
- feat(trace-utils)!: add from owned to SpanText (#2403)

## libdd-ipc
**Next version:** `2.0.0`
**Semver bump:** `major`
**Tag:** `libdd-ipc-v2.0.0`

### ⚠️ major bump forced due to:

- `libdd-common`: ^5.2.0 → ^6.0.0
- `libdd-trace-stats`: ^8.0.0 → ^9.0.0

### Commits

- fix(ipc): drop the signal feature from libdd-ipc (#2431)

## libdd-live-debugger
**Next version:** `1.0.0`
**Semver bump:** `major`
**Tag:** `libdd-live-debugger-v1.0.0`

**Warning:** this is an initial release. Please verify that the version
and commits included are correct.


[EX-3425]:
https://datadoghq.atlassian.net/browse/EX-3425?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

---------

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

5 participants