From 80b2e793abdd609c7a0ad6ab667ca23a3eeaf94d Mon Sep 17 00:00:00 2001 From: Sven Grossmann Date: Wed, 24 Jul 2024 11:00:41 +0200 Subject: [PATCH] Loki: Remove unnecessary `featuremgmt` (#90874) Loki: Remove unnecessary featuremgmt --- .../backendplugin/coreplugin/registry.go | 2 +- .../plugins_integration_test.go | 2 +- pkg/tsdb/loki/healthcheck_test.go | 15 +++++------ pkg/tsdb/loki/loki.go | 26 ++++++++++--------- 4 files changed, 22 insertions(+), 23 deletions(-) diff --git a/pkg/plugins/backendplugin/coreplugin/registry.go b/pkg/plugins/backendplugin/coreplugin/registry.go index 73fb8123cb9..23dc4524f75 100644 --- a/pkg/plugins/backendplugin/coreplugin/registry.go +++ b/pkg/plugins/backendplugin/coreplugin/registry.go @@ -222,7 +222,7 @@ func NewPlugin(pluginID string, cfg *setting.Cfg, httpClientProvider *httpclient case InfluxDB: svc = influxdb.ProvideService(httpClientProvider, features) case Loki: - svc = loki.ProvideService(httpClientProvider, features, tracer) + svc = loki.ProvideService(httpClientProvider, tracer) case OpenTSDB: svc = opentsdb.ProvideService(httpClientProvider) case Prometheus: diff --git a/pkg/services/pluginsintegration/plugins_integration_test.go b/pkg/services/pluginsintegration/plugins_integration_test.go index 9a59ca03183..66d6dda25d5 100644 --- a/pkg/services/pluginsintegration/plugins_integration_test.go +++ b/pkg/services/pluginsintegration/plugins_integration_test.go @@ -81,7 +81,7 @@ func TestIntegrationPluginManager(t *testing.T) { es := elasticsearch.ProvideService(hcp) grap := graphite.ProvideService(hcp, tracer) idb := influxdb.ProvideService(hcp, features) - lk := loki.ProvideService(hcp, features, tracer) + lk := loki.ProvideService(hcp, tracer) otsdb := opentsdb.ProvideService(hcp) pr := prometheus.ProvideService(hcp) tmpo := tempo.ProvideService(hcp) diff --git a/pkg/tsdb/loki/healthcheck_test.go b/pkg/tsdb/loki/healthcheck_test.go index 2d99e042699..93c2326467c 100644 --- a/pkg/tsdb/loki/healthcheck_test.go +++ b/pkg/tsdb/loki/healthcheck_test.go @@ -13,7 +13,6 @@ import ( "github.com/grafana/grafana-plugin-sdk-go/backend/httpclient" "github.com/grafana/grafana/pkg/infra/tracing" - "github.com/grafana/grafana/pkg/services/featuremgmt" "github.com/stretchr/testify/assert" ) @@ -93,10 +92,9 @@ func Test_healthcheck(t *testing.T) { t.Run("should do a successful health check", func(t *testing.T) { httpProvider := getMockProvider[*healthCheckSuccessRoundTripper]() s := &Service{ - im: datasource.NewInstanceManager(newInstanceSettings(httpProvider)), - features: featuremgmt.WithFeatures(featuremgmt.FlagLokiLogsDataplane, featuremgmt.FlagLokiMetricDataplane), - tracer: tracing.InitializeTracerForTest(), - logger: backend.NewLoggerWith("logger", "loki test"), + im: datasource.NewInstanceManager(newInstanceSettings(httpProvider)), + tracer: tracing.InitializeTracerForTest(), + logger: backend.NewLoggerWith("logger", "loki test"), } req := &backend.CheckHealthRequest{ @@ -112,10 +110,9 @@ func Test_healthcheck(t *testing.T) { t.Run("should return an error for an unsuccessful health check", func(t *testing.T) { httpProvider := getMockProvider[*healthCheckFailRoundTripper]() s := &Service{ - im: datasource.NewInstanceManager(newInstanceSettings(httpProvider)), - features: featuremgmt.WithFeatures(featuremgmt.FlagLokiLogsDataplane, featuremgmt.FlagLokiMetricDataplane), - tracer: tracing.InitializeTracerForTest(), - logger: backend.NewLoggerWith("logger", "loki test"), + im: datasource.NewInstanceManager(newInstanceSettings(httpProvider)), + tracer: tracing.InitializeTracerForTest(), + logger: backend.NewLoggerWith("logger", "loki test"), } req := &backend.CheckHealthRequest{ diff --git a/pkg/tsdb/loki/loki.go b/pkg/tsdb/loki/loki.go index 6894003bf78..c89d075ced7 100644 --- a/pkg/tsdb/loki/loki.go +++ b/pkg/tsdb/loki/loki.go @@ -28,10 +28,9 @@ import ( ) type Service struct { - im instancemgmt.InstanceManager - features featuremgmt.FeatureToggles - tracer tracing.Tracer - logger log.Logger + im instancemgmt.InstanceManager + tracer tracing.Tracer + logger log.Logger } var ( @@ -40,12 +39,11 @@ var ( _ backend.CallResourceHandler = (*Service)(nil) ) -func ProvideService(httpClientProvider *httpclient.Provider, features featuremgmt.FeatureToggles, tracer tracing.Tracer) *Service { +func ProvideService(httpClientProvider *httpclient.Provider, tracer tracing.Tracer) *Service { return &Service{ - im: datasource.NewInstanceManager(newInstanceSettings(httpClientProvider)), - features: features, - tracer: tracer, - logger: backend.NewLoggerWith("logger", "tsdb.loki"), + im: datasource.NewInstanceManager(newInstanceSettings(httpClientProvider)), + tracer: tracer, + logger: backend.NewLoggerWith("logger", "tsdb.loki"), } } @@ -160,11 +158,11 @@ func (s *Service) QueryData(ctx context.Context, req *backend.QueryDataRequest) } responseOpts := ResponseOpts{ - metricDataplane: backend.GrafanaConfigFromContext(ctx).FeatureToggles().IsEnabled(featuremgmt.FlagLokiMetricDataplane), - logsDataplane: backend.GrafanaConfigFromContext(ctx).FeatureToggles().IsEnabled(featuremgmt.FlagLokiLogsDataplane), + metricDataplane: isFeatureEnabled(ctx, featuremgmt.FlagLokiMetricDataplane), + logsDataplane: isFeatureEnabled(ctx, featuremgmt.FlagLokiLogsDataplane), } - return queryData(ctx, req, dsInfo, responseOpts, s.tracer, logger, backend.GrafanaConfigFromContext(ctx).FeatureToggles().IsEnabled(featuremgmt.FlagLokiRunQueriesInParallel), backend.GrafanaConfigFromContext(ctx).FeatureToggles().IsEnabled(featuremgmt.FlagLokiStructuredMetadata)) + return queryData(ctx, req, dsInfo, responseOpts, s.tracer, logger, isFeatureEnabled(ctx, featuremgmt.FlagLokiRunQueriesInParallel), isFeatureEnabled(ctx, featuremgmt.FlagLokiStructuredMetadata)) } func queryData(ctx context.Context, req *backend.QueryDataRequest, dsInfo *datasourceInfo, responseOpts ResponseOpts, tracer tracing.Tracer, plog log.Logger, runInParallel bool, requestStructuredMetadata bool) (*backend.QueryDataResponse, error) { @@ -274,3 +272,7 @@ func (s *Service) getDSInfo(ctx context.Context, pluginCtx backend.PluginContext return instance, nil } + +func isFeatureEnabled(ctx context.Context, feature string) bool { + return backend.GrafanaConfigFromContext(ctx).FeatureToggles().IsEnabled(feature) +}