Repository navigation
fix(otel): select the supported entry of OTEL_*_EXPORTER lists - #21596
MilanGarnier wants to merge 6 commits into
Conversation
Codeowners resolved asResolved from the full PR diff against |
Dependency direction analysis
|
|
@codex review |
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e193480f95
ℹ️ 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".
e193480 to
909a7ae
Compare
🎉 All green!🧪 All tests passed 🔗 Commit SHA: 9b466e4 | Docs | View more details | Give us feedback! |
909a7ae to
16edd19
Compare
BenchmarksBenchmark execution time: 2026-11-09 14:19:04 Comparing candidate commit 9b466e4 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 613 metrics, 9 unstable metrics, 1 flaky benchmarks without significant changes.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 16edd1907a
ℹ️ 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".
There was a problem hiding this comment.
More details
Exporter-list selection remains consistent between signal configuration and trace transport. The runtime-metrics guard also preserves disabling via OTEL_METRICS_EXPORTER=none.
🤖 Bits Code Review · Commit 16edd19
Description
The OpenTelemetry spec says
OTEL_TRACES_EXPORTER,OTEL_METRICS_EXPORTERandOTEL_LOGS_EXPORTERcan potentially be comma-separated lists of exporters. Upstream python OTel supports itddtrace only compared the raw value against
otlpandnone, so a list such asotlp,zipkinwas treated as unsupported and ignored.ddtrace still exports each signal to a single exporter. This aimes to have a consistent fall back to the supported entry (otlp) instead of discarding the whole value:
otlpanywhere in the list selects OTLP export, even when combined withnone.nonedisables the signal.otel.env.unsupportedtelemetry metric when the list still selects an exporter.otlpornone, behaves like an unset variable (a list with only unsupported entries still gets the existing "not supported" warning).Parsing lives in
select_exporterin_otel_remapper.pyand is shared by the traces OTLP check in_agent.py, the config remapping and the metrics validation in the telemetry module.OTEL_METRICS_EXPORTERis now validated at most once inConfig, so its warnings and telemetry are not duplicated.Testing
Added tests in
tests/opentelemetry/test_config.py,tests/tracer/test_agent.pyandtests/telemetry/test_writer.pycovering lists, blank values and the ignored-entry telemetry for each signal.scripts/lint checkspasses. I could not run the test suites locally: the Docker test runner ran out of disk space while building the environments, so the new tests have not been run yet and rely on CI.Risks
Low. Values that were previously ignored as unsupported (lists containing
otlpornone) are now honored. Single-value behavior is unchanged.Additional Notes
The commits are split as tests, list parsing, telemetry, release note.