@@ -103,6 +103,7 @@ func Server(newAPI func(context.Context, *coderd.Options) (*coderd.API, error))
103
103
oidcScopes []string
104
104
tailscaleEnable bool
105
105
telemetryEnable bool
106
+ telemetryTraceEnable bool
106
107
telemetryURL string
107
108
tlsCertFile string
108
109
tlsClientCAFile string
@@ -160,10 +161,19 @@ func Server(newAPI func(context.Context, *coderd.Options) (*coderd.API, error))
160
161
sqlDriver = "postgres"
161
162
)
162
163
163
- if traceEnable || telemetryEnable {
164
+ // Coder tracing should be disabled if telemetry is disabled unless
165
+ // --telemetry-trace was explicitly provided.
166
+ shouldCoderTrace := telemetryEnable && ! isTest ()
167
+ // Only override if telemetryTraceEnable was specifically set.
168
+ // By default we want it to be controlled by telemetryEnable.
169
+ if cmd .Flags ().Changed ("telemetry-trace" ) {
170
+ shouldCoderTrace = telemetryTraceEnable
171
+ }
172
+
173
+ if traceEnable || shouldCoderTrace {
164
174
sdkTracerProvider , closeTracing , err := tracing .TracerProvider (ctx , "coderd" , tracing.TracerOpts {
165
175
Default : traceEnable ,
166
- Coder : telemetryEnable && ! isTest () ,
176
+ Coder : shouldCoderTrace ,
167
177
})
168
178
if err != nil {
169
179
logger .Warn (ctx , "start telemetry exporter" , slog .Error (err ))
@@ -812,6 +822,8 @@ func Server(newAPI func(context.Context, *coderd.Options) (*coderd.API, error))
812
822
enableTelemetryByDefault := ! isTest ()
813
823
cliflag .BoolVarP (root .Flags (), & telemetryEnable , "telemetry" , "" , "CODER_TELEMETRY" , enableTelemetryByDefault ,
814
824
"Whether telemetry is enabled or not. Coder collects anonymized usage data to help improve our product." )
825
+ cliflag .BoolVarP (root .Flags (), & telemetryTraceEnable , "telemetry-trace" , "" , "CODER_TELEMETRY_TRACE" , enableTelemetryByDefault ,
826
+ "Whether Opentelemetry traces are sent to Coder. Coder collects anonymized application tracing to help improve our product. Disabling telemetry also disables this option." )
815
827
cliflag .StringVarP (root .Flags (), & telemetryURL , "telemetry-url" , "" , "CODER_TELEMETRY_URL" , "https://telemetry.coder.com" ,
816
828
"URL to send telemetry." )
817
829
_ = root .Flags ().MarkHidden ("telemetry-url" )
0 commit comments