Skip to content

fix: Align experimentalObservability on object maps rather than arrays#12089

Merged
anthonyshew merged 1 commit into
mainfrom
bkonkle/otel-collector-concise-config
Mar 2, 2026
Merged

fix: Align experimentalObservability on object maps rather than arrays#12089
anthonyshew merged 1 commit into
mainfrom
bkonkle/otel-collector-concise-config

Conversation

@bkonkle
Copy link
Copy Markdown
Contributor

@bkonkle bkonkle commented Mar 2, 2026

Summary

  • Changes experimentalObservability.otel.headers and experimentalObservability.otel.resource in turbo.json from array-of-key-value format to plain JSON object format
  • Updates documentation to consistently use the new object format

Details

The OTel configuration previously required an awkward array syntax:

"headers": [
  { "key": "Authorization", "value": "Bearer token" },
  { "key": "X-Custom", "value": "value" }
],
"resource": [
  { "key": "service.name", "value": "turborepo" }
]

This PR changes both fields to accept a simpler object format:

"headers": {
  "Authorization": "Bearer token",
  "X-Custom": "value"
},
"resource": {
  "service.name": "turborepo"
}

This is a safe breaking change because:

  • The experimentalObservability config is gated behind futureFlags.experimentalObservability
  • The types are excluded from the JSON schema (#[schemars(skip)]) and TS exports (#[ts(skip)])
  • The downstream ExperimentalOtelOptions struct already uses BTreeMap<String, String>
  • biome_deserialize 0.6.0 has built-in Deserializable support for BTreeMap

Test plan

  • Existing unit tests updated and passing
  • cargo check passes without errors
  • All experimental_observability tests pass

@bkonkle bkonkle requested a review from a team as a code owner March 2, 2026 01:47
@bkonkle bkonkle requested review from tknickman and removed request for a team March 2, 2026 01:47
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented Mar 2, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
examples-basic-web Ready Ready Preview, Comment, Open in v0 Mar 2, 2026 1:47am
examples-designsystem-docs Ready Ready Preview, Comment, Open in v0 Mar 2, 2026 1:47am
examples-gatsby-web Ready Ready Preview, Comment, Open in v0 Mar 2, 2026 1:47am
examples-kitchensink-blog Ready Ready Preview, Comment, Open in v0 Mar 2, 2026 1:47am
examples-nonmonorepo Ready Ready Preview, Comment, Open in v0 Mar 2, 2026 1:47am
examples-svelte-web Ready Ready Preview, Comment, Open in v0 Mar 2, 2026 1:47am
examples-tailwind-web Ready Ready Preview, Comment, Open in v0 Mar 2, 2026 1:47am
examples-vite-web Ready Ready Preview, Comment, Open in v0 Mar 2, 2026 1:47am
turbo-site Building Building Preview, Comment, Open in v0 Mar 2, 2026 1:47am
turborepo-agents Ready Ready Preview, Comment, Open in v0 Mar 2, 2026 1:47am
turborepo-test-coverage Ready Ready Preview, Comment, Open in v0 Mar 2, 2026 1:47am

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 2, 2026

Coverage Report

Metric Coverage
Lines 84.46%
Functions 54.96%
Branches 0.00%

View full report

@anthonyshew anthonyshew merged commit 9b9d1e4 into main Mar 2, 2026
72 checks passed
@anthonyshew anthonyshew deleted the bkonkle/otel-collector-concise-config branch March 2, 2026 02:57
github-actions Bot added a commit that referenced this pull request Mar 2, 2026
## Release v2.8.13-canary.9

Versioned docs: https://v2-8-13-canary-9.turborepo.dev

### Changes

- fix: Treat `npm: alias` dependencies as external, not workspace
references (#12061) (`b179cb8`)
- test: Port 18 more prysk tests to Rust (other/ +
lockfile-aware-caching/) (#12062) (`7887af2`)
- release(turborepo): 2.8.13-canary.8 (#12063) (`2a5522a`)
- fix: Preserve file: protocol entries in pruned yarn v1 lockfile
(#12064) (`ae5c1a1`)
- perf: Use stack-allocated OidHash in FileHashes and skip expanded
hashes on normal runs (#12065) (`677b248`)
- test: Port all 8 find-turbo prysk tests to Rust (#12066) (`f827fca`)
- fix: Support pnpm per-workspace lockfiles in turbo prune (#12067)
(`23d047d`)
- test: Port final 2 prysk tests to Rust (100% complete) (#12068)
(`6d7e057`)
- fix: Resolve Berry prune failure when resolutions contain patch
overrides (#12069) (`6fe3c5e`)
- test: Add lockfile fixture for yarn berry resolution pruning (issue
#2791) (#12071) (`6cc1654`)
- chore: Remove prysk test framework entirely (#12070) (`ed2d05a`)
- refactor: Clean up test infrastructure and eliminate duplication
(#12072) (`338911d`)
- fix: Retain injected workspace package entries during pnpm lockfile
pruning (#12073) (`acbe869`)
- ci: Exclude turborepo-lsp and turborepo-schema-gen from test builds
(#12075) (`4ce12e2`)
- refactor: Clean up test infrastructure + improve test quality (#12074)
(`4571f2b`)
- ci: Remove redundant cargo build from coverage job (#12077)
(`3c9bbe2`)
- perf: Speed up lockfile test suite (#12078) (`20024df`)
- ci: Remove integration test serialization (#12079) (`24d7c02`)
- fix: Preserve `file:` and `link:` protocol entries in pruned bun
lockfile (#12076) (`2635d9a`)
- fix: Stop running unnecessary npm install in engines tests (#12081)
(`24e4905`)
- test: Add lockfile fixture for pnpm v9 injected workspace deps (issue
#8243) (#12082) (`4d4929b`)
- fix: Filter orphaned Yarn packageExtensions entries during lockfile
pruning (#12084) (`68eb223`)
- fix: Align experimentalObservability on object maps rather than arrays
(#12089) (`9b9d1e4`)
- examples: Upgrade with-react-native-web example to use latest versions
(#12085) (`980ca43`)
- fix: duplicate /signup? in Vercel URL (#12088) (`e865b51`)
- ci: Deduplicate Rust test compilation with nextest archive (#12083)
(`962cf39`)
- fix: Prevent yarn integration tests from hanging on corepack prompts
(#12090) (`29b0da7`)
- fix: Prevent turbo dev from hanging when daemon file watching fails
(#12091) (`b0d2f62`)
- ci: Skip pnpm install for Rust test jobs (#12092) (`ebd137f`)
- perf: Optimize npm lockfile parser (#12093) (`e4b4a66`)
- chore: Trim unused dependency features for faster compilation (#12094)
(`03b79e0`)
- fix: Prevent lockfile-aware yarn test from hanging on corepack
downloads (#12095) (`bf516e4`)
- fix: Exclude turborepo-repository from JS smoke test in release
workflow (#12097) (`fecc400`)

---------

Co-authored-by: Turbobot <turbobot@vercel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants