diff --git a/pkg/infra/tracing/tracing.go b/pkg/infra/tracing/tracing.go index 3f09c215a77..f8f1db557f7 100644 --- a/pkg/infra/tracing/tracing.go +++ b/pkg/infra/tracing/tracing.go @@ -272,7 +272,9 @@ func (ots *TracingService) initOpentelemetryTracer() error { } } - tp = NewProfilingTracerProvider(tp) + if ots.cfg.ProfilingIntegration { + tp = NewProfilingTracerProvider(tp) + } // Register our TracerProvider as the global so any imported // instrumentation in the future will default to using it diff --git a/pkg/infra/tracing/tracing_config.go b/pkg/infra/tracing/tracing_config.go index 14c878a2351..36d5ca6f908 100644 --- a/pkg/infra/tracing/tracing_config.go +++ b/pkg/infra/tracing/tracing_config.go @@ -21,6 +21,8 @@ type TracingConfig struct { ServiceName string ServiceVersion string + + ProfilingIntegration bool } func ProvideTracingConfig(cfg *setting.Cfg) (*TracingConfig, error) { diff --git a/pkg/services/apiserver/standalone/options/tracing.go b/pkg/services/apiserver/standalone/options/tracing.go index 1f9f77048a8..2e276a9f85e 100644 --- a/pkg/services/apiserver/standalone/options/tracing.go +++ b/pkg/services/apiserver/standalone/options/tracing.go @@ -109,6 +109,7 @@ func (o *TracingOptions) ApplyTo(config *genericapiserver.RecommendedConfig) err tracingCfg.Sampler = o.SamplerType tracingCfg.SamplerParam = o.SamplerParam tracingCfg.SamplerRemoteURL = o.SamplingServiceURL + tracingCfg.ProfilingIntegration = true ts, err := tracing.ProvideService(tracingCfg) if err != nil {