Repository navigation
fix(serverboot): honor OTEL_TRACES_EXPORTER=none - #107
Merged
Merged
Conversation
InitTracing always built the OTLP span exporter, so a component told to export no traces still exported them to localhost:4317 and logged an SDK error on every batch. With none it keeps the provider, its sampler and the propagator and adds no exporter, as OTEL_METRICS_EXPORTER=none does for metrics.
This was referenced Oct 1, 2026
…orter-none * origin/giantswarm: docs(fork): name the ledger row of the gVisor worker image patch docs(fork): name the pull request of the gVisor worker image row fix(atecontroller): run gVisor workers on the release's own ateom feat(atenet): tell the actor why a credential was refused fix(ci): move the agentgateway-image parameter to 2.2.2 with the chart chore(chart): pin the egress gateway to agentgateway 2.2.2 # Conflicts: # FORK.md
…orter-none * origin/giantswarm: fix(helm): give the egress ext-proc the chart's otel settings (#106) # Conflicts: # FORK.md
teemow
added a commit
that referenced
this pull request
Oct 2, 2026
…-off * origin/giantswarm: fix(serverboot): honor OTEL_TRACES_EXPORTER=none (#107) # Conflicts: # FORK.md
QuentinBisson
pushed a commit
that referenced
this pull request
Oct 5, 2026
InitTracing always built the OTLP span exporter, so a component told to export no traces still exported them to localhost:4317 and logged an SDK error on every batch. With none it keeps the provider, its sampler and the propagator and adds no exporter, as OTEL_METRICS_EXPORTER=none does for metrics.
1 of 4 tasks
teemow
added a commit
that referenced
this pull request
Oct 12, 2026
InitTracing always built the OTLP span exporter, so a component told to export no traces still exported them to localhost:4317 and logged an SDK error on every batch. With none it keeps the provider, its sampler and the propagator and adds no exporter, as OTEL_METRICS_EXPORTER=none does for metrics.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
From Timo's agent.
Problem
The chart's
otel.traces.enabled: falserendersOTEL_TRACES_EXPORTER=none, butserverboot.InitTracingnever reads it and always builds the OTLP span exporter. On a cluster without a collector, ate-api-server, ate-controller, atelet, the atenet router and ateom export spans to the SDK defaultlocalhost:4317and logOpenTelemetry SDK error … traces export … dial tcp [::1]:4317: connect: connection refusedon every batch (giantswarm/agent-platform#463).OTEL_METRICS_EXPORTER=nonegot the same fix earlier (#82).Proposed solution
serverboot.TracesExportDisabled(), next toMetricsExportDisabled()and sharing its parsing. When it is true,InitTracingadds no span exporter. The provider, its sampler and the TraceContext propagator stay, so trace context still propagates. TheTracing initializedline logsexport.none. Thenonetest fails on the old code.otelcomment and README row now describe the switch; a FORK.md row. Upstream-ready.Acceptance criteria
go test ./internal/serverboot/passes; thenonetest fails without the change.