diff --git a/pkg/cmd/grafana/apiserver/cmd.go b/pkg/cmd/grafana/apiserver/cmd.go index 585e00ebb5a..1d18265d8e6 100644 --- a/pkg/cmd/grafana/apiserver/cmd.go +++ b/pkg/cmd/grafana/apiserver/cmd.go @@ -74,15 +74,17 @@ func newCommandStartExampleAPIServer(o *APIServerOptions, stopCh <-chan struct{} return err } - if o.Options.TracingOptions.TracingService != nil { - tracer.InitTracer(o.Options.TracingOptions.TracingService) - } - + // o.Config(tracer) definitely needs to happen before we override the tracer below + // using tracer.InitTracer with the real tracer config, err := o.Config(tracer) if err != nil { return err } + if o.Options.TracingOptions.TracingService != nil { + tracer.InitTracer(o.Options.TracingOptions.TracingService) + } + defer o.factory.Shutdown() if err := o.RunAPIServer(config, stopCh); err != nil {