Repository navigation
[OTLP] Default OTLP protocols to http/protobuf - #9506
Conversation
Codex Review SummaryThis 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. |
There was a problem hiding this comment.
The new gRPC metrics default exposes two incompatible paths: span metrics still send HTTP protobuf, and regular metrics bypass configured request timeouts. These can cause lost span metrics and prolonged exports when a collector stalls.
🤖 Bits Code Review · Commit f2d560a
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f2d560a1f2
ℹ️ 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".
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (9506) and master. ✅ No regressions detected |
BenchmarksBenchmark execution time: 2026-10-30 16:37:13 Comparing candidate commit 9d49b53 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 71 metrics, 1 unstable metrics, 7 known flaky benchmarks, 119 flaky benchmarks without significant changes.
|
ffea4f3 to
e37b182
Compare
anna-git
left a comment
There was a problem hiding this comment.
LGTM, approving so this isn't blocked. Please merge only once it's rebased on the latest #9505, CI is green, and the system-tests PR is linked.
For system-tests: the logs failures come from default_protocol() in tests/parametric/otel_env_vars/utils.py, which hardcodes dotnet + logs → grpc. So it needs a code change there (version-gated, since older .NET releases keep gRPC), not only a manifest update. The traces default tests also XPASS now (APMAPI-2531). Could you link the system-tests PR here before merging?
There was a problem hiding this comment.
Configuring only the general OTLP protocol omits the inherited signal-protocol telemetry entries, causing the corresponding new telemetry assertions to fail.
🤖 Bits Code Review · Commit e37b182
|
@anna-git system-tests should be fixed once DataDog/system-tests#8256 is merged |
Default OTEL_EXPORTER_OTLP_PROTOCOL and its traces, metrics and logs variants to http/protobuf, through a single DefaultOtlpProtocol constant instead of a default per signal. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ral endpoint Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
e37b182 to
9d49b53
Compare
…fault (#9604) ## Summary of changes Updates `ExporterSettingsTests.TracesEncoding_DefaultsToOtlpWhenOtelSemanticsEnabled` to expect `TracesEncoding.OtlpProtobuf` instead of `TracesEncoding.OtlpJson` when traces are exported over OTLP. ## Reason for change The test fails on master. #9544 added it while the default OTLP traces protocol was still `http/json`. #9506, which was merged right after, changed that default to `http/protobuf`. The two PRs had no textual conflict, but together they break the test's expectations. ## Implementation details Test-only change: three `InlineData` rows now expect `OtlpProtobuf`. The product behavior is correct and matches `ManagedApiOtlpTests.ExporterSettings_WithoutValidTracesProtocol_DefaultsToHttpProtobuf`, added in #9506. ## Test coverage Ran `ExporterSettingsTests` and `ManagedApiOtlpTests` locally on net11.0. All pass. ## Other details Related: #9506, #9544 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Summary of changes
Default
OTEL_EXPORTER_OTLP_PROTOCOLand its traces, metrics and logs variants tohttp/protobuf, on every .NET version.Reason for change
Defaults currently differ per signal: traces
http/json, metricshttp/protobuf, logsgrpc.http/protobufis the default recommended by the OTLP exporter specification, and is supported by every signal on every .NET version.Implementation details
DefaultOtlpProtocolconstant replaces the per-signal defaults passed toGetOtlpTransportand the separate general default recorded in telemetry.supported-configurations.yaml: protocol defaults updated, andOTEL_EXPORTER_OTLP_ENDPOINTnow defaults tonull(like the signal endpoints in fix(otel): unify OTLP endpoint and protocol resolution #9505), since it depends on the protocol.OTEL_EXPORTER_OTLP_TRACES_PROTOCOLneeds a new registry implementation (C,http/protobuf).http/protobufinstead ofgrpc, and traces tohttp/protobufinstead ofhttp/json. An app that only setsOTEL_EXPORTER_OTLP_ENDPOINT=http://collector:4317now sends logs over HTTP tohttp://collector:4317/v1/logs, which fails against a receiver that only accepts gRPC. SetOTEL_EXPORTER_OTLP_LOGS_PROTOCOL=grpcto keep sending logs over gRPC, orOTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/jsonto keep the JSON traces encoding.Test coverage
ExporterSettingsTestsandManagedApiOtlpTestscheck the defaults, including logs sent over HTTP when onlyOTEL_EXPORTER_OTLP_ENDPOINTis set.Other details
System-tests manifest updates to follow.
🤖 Generated with Claude Code