Repository navigation
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
Security findingsAdvisory findings (1)ℹ️ 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.
More details
The semantics-mode OTLP default is consistent across exporter selection, sampling, and span-metrics detection, while explicit exporter settings retain precedence. The completed static review identified no reportable defects.
🤖 Bits Code Review · Commit 07b9481
There was a problem hiding this comment.
🛡️ Codex Security Review · Automatically triggered
Here are some automated security review suggestions for this pull request.
Reviewed commit: 07b9481d11
ℹ️ About Codex security reviews in GitHub
This is an experimental Codex feature. Security reviews are triggered when:
- You comment "@codex security review"
- A regular code review gets triggered (for example, "@codex review" or when a PR is opened), and you’re opted in so security review runs alongside code review
Once complete, Codex will leave suggestions, or a comment if no findings are found.
| var otelSemanticsEnabled = config.WithKeys(ConfigurationKeys.OpenTelemetry.OtelSemanticsEnabled).AsBool(defaultValue: false); | ||
| var tracesExporterConfig = config.WithKeys(ConfigurationKeys.OpenTelemetry.TracesExporter); | ||
| OtelTracesExporter = otelSemanticsEnabled | ||
| ? tracesExporterConfig.AsString(defaultValue: "otlp").Trim() |
There was a problem hiding this comment.
🛡️ Codex Security Review · Automatically triggered
Security: Keep trace export opt-in when enabling semantics mode
When DD_TRACE_OTEL_SEMANTICS_ENABLED=true, OTEL_TRACES_EXPORTER is unset, and no OTLP endpoint is configured, this default switches an existing installation from the trusted Agent to unauthenticated http://localhost:4318/v1/traces. A lower-privileged process in the same network namespace can bind that otherwise-free port before startup and receive trace payloads plus configured OTLP headers. Semantics mode is default-off and OTEL_TRACES_EXPORTER=none blocks the path, so this is conditional, but this flag previously did not select OTLP export. Require explicit export opt-in or preserve the Agent destination.
Useful? React with 👍 / 👎.
BenchmarksBenchmark execution time: 2026-10-28 18:46:08 Comparing candidate commit 40d307d in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 71 metrics, 1 unstable metrics, 9 known flaky benchmarks, 117 flaky benchmarks without significant changes.
|
0d7d794 to
ac8a80b
Compare
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (9544) and master. ✅ No regressions detected |
ac8a80b to
65222b7
Compare
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
65222b7 to
40d307d
Compare
Summary of changes
With
DD_TRACE_OTEL_SEMANTICS_ENABLED=trueandOTEL_TRACES_EXPORTERunset, the tracer now behaves as ifOTEL_TRACES_EXPORTER=otlpwere set:OtlpDefaultSamplingRule(mechanismDefault), as in OTLP mode since [Tracer] Use the Default sampling mechanism in OTLP mode when no rule is configured #9531DD_METRICS_OTEL_ENABLED=trueAn explicit
OTEL_TRACES_EXPORTERstill takes precedence. For example,nonekeeps tracing disabled.Reason for change
APMAPI-2654: the OTel semantics RFC states that semantics mode sets
OTEL_TRACES_EXPORTERtootlp. The .NET tracer kept exporting traces in Datadog format.On top of #9520, where the trace signal for
OTEL_ENABLEDneeds semantics mode, the OpenTelemetry tracing API (DD_TRACE_OTEL_ENABLED) and OTLP trace export, semantics mode with the tracing API now reportsOTEL_ENABLED=truein the startup log. Semantics mode alone still reportsfalse. These aretest_otel_enabled_tracing_api_with_semanticsandtest_otel_enabled_semantics_alonein system-tests.Implementation details
OTEL_TRACES_EXPORTERdrives two settings, and both now fall back tootlpin semantics mode:ExporterSettings.Raw(trace encoding) readsDD_TRACE_OTEL_SEMANTICS_ENABLEDitself, so anExporterSettingsbuilt directly from a source stays consistent. Theotlpdefault is recorded in telemetry with theDefaultorigin.TracerSettings.Sampling needs no change:
ManagedTraceSamplerpicksOtlpDefaultSamplingRulefrom the trace encoding.The docs for both keys are updated in
supported-configurations.yaml, and the generatedConfigurationKeysfiles are regenerated.Test coverage
ExporterSettingsTests.TracesEncoding_DefaultsToOtlpWhenOtelSemanticsEnabledManagedTraceSamplerTests.NoSamplingRules_UsesDefaultMechanism: new semantics-mode caseTracerSettingsTests.OtelTracesSpanMetricsEnabled_AutoEnabledWithOtelSemanticsEnabledTest_OTEL_Startup_Logsfrom test(otel): check that OTEL_ENABLED requires semantics mode and a signal system-tests#8158, includingtest_otel_enabled_tracing_api_with_semanticsandtest_otel_enabled_semantics_alone.Other details
OTEL_TRACES_EXPORTER, traces go to the OTLP endpoint (localhost:4318by default, orDD_AGENT_HOST:4318) instead of the trace agent intake.OTEL_TRACES_EXPORTERexplicitly.🤖 Generated with Claude Code