Skip to content

Commit 57c84d6

Browse files
authored
chore: add option for specifically disabling Coder tracing (coder#4153)
1 parent b77d6bd commit 57c84d6

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

cli/server.go

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ func Server(newAPI func(context.Context, *coderd.Options) (*coderd.API, error))
103103
oidcScopes []string
104104
tailscaleEnable bool
105105
telemetryEnable bool
106+
telemetryTraceEnable bool
106107
telemetryURL string
107108
tlsCertFile string
108109
tlsClientCAFile string
@@ -160,10 +161,19 @@ func Server(newAPI func(context.Context, *coderd.Options) (*coderd.API, error))
160161
sqlDriver = "postgres"
161162
)
162163

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 {
164174
sdkTracerProvider, closeTracing, err := tracing.TracerProvider(ctx, "coderd", tracing.TracerOpts{
165175
Default: traceEnable,
166-
Coder: telemetryEnable && !isTest(),
176+
Coder: shouldCoderTrace,
167177
})
168178
if err != nil {
169179
logger.Warn(ctx, "start telemetry exporter", slog.Error(err))
@@ -812,6 +822,8 @@ func Server(newAPI func(context.Context, *coderd.Options) (*coderd.API, error))
812822
enableTelemetryByDefault := !isTest()
813823
cliflag.BoolVarP(root.Flags(), &telemetryEnable, "telemetry", "", "CODER_TELEMETRY", enableTelemetryByDefault,
814824
"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.")
815827
cliflag.StringVarP(root.Flags(), &telemetryURL, "telemetry-url", "", "CODER_TELEMETRY_URL", "https://telemetry.coder.com",
816828
"URL to send telemetry.")
817829
_ = root.Flags().MarkHidden("telemetry-url")

0 commit comments

Comments
 (0)