diff --git a/ee/query-service/anomaly/daily.go b/ee/query-service/anomaly/daily.go index 035c406244..abcf63956e 100644 --- a/ee/query-service/anomaly/daily.go +++ b/ee/query-service/anomaly/daily.go @@ -28,11 +28,10 @@ func NewDailyProvider(opts ...GenericProviderOption[*DailyProvider]) *DailyProvi } dp.querierV2 = querierV2.NewQuerier(querierV2.QuerierOptions{ - Reader: dp.reader, - Cache: dp.cache, - KeyGenerator: queryBuilder.NewKeyGenerator(), - FluxInterval: dp.fluxInterval, - FeatureLookup: dp.ff, + Reader: dp.reader, + Cache: dp.cache, + KeyGenerator: queryBuilder.NewKeyGenerator(), + FluxInterval: dp.fluxInterval, }) return dp diff --git a/ee/query-service/anomaly/hourly.go b/ee/query-service/anomaly/hourly.go index ac0739adac..e0ca5ee91f 100644 --- a/ee/query-service/anomaly/hourly.go +++ b/ee/query-service/anomaly/hourly.go @@ -28,11 +28,10 @@ func NewHourlyProvider(opts ...GenericProviderOption[*HourlyProvider]) *HourlyPr } hp.querierV2 = querierV2.NewQuerier(querierV2.QuerierOptions{ - Reader: hp.reader, - Cache: hp.cache, - KeyGenerator: queryBuilder.NewKeyGenerator(), - FluxInterval: hp.fluxInterval, - FeatureLookup: hp.ff, + Reader: hp.reader, + Cache: hp.cache, + KeyGenerator: queryBuilder.NewKeyGenerator(), + FluxInterval: hp.fluxInterval, }) return hp diff --git a/ee/query-service/anomaly/seasonal.go b/ee/query-service/anomaly/seasonal.go index 9fbd52a8b8..fc4b754d9c 100644 --- a/ee/query-service/anomaly/seasonal.go +++ b/ee/query-service/anomaly/seasonal.go @@ -50,7 +50,6 @@ type BaseSeasonalProvider struct { fluxInterval time.Duration cache cache.Cache keyGenerator cache.KeyGenerator - ff interfaces.FeatureLookup } func (p *BaseSeasonalProvider) getQueryParams(req *GetAnomaliesRequest) *anomalyQueryParams { diff --git a/ee/query-service/anomaly/weekly.go b/ee/query-service/anomaly/weekly.go index 35551e4caf..95aefa6db9 100644 --- a/ee/query-service/anomaly/weekly.go +++ b/ee/query-service/anomaly/weekly.go @@ -27,11 +27,10 @@ func NewWeeklyProvider(opts ...GenericProviderOption[*WeeklyProvider]) *WeeklyPr } wp.querierV2 = querierV2.NewQuerier(querierV2.QuerierOptions{ - Reader: wp.reader, - Cache: wp.cache, - KeyGenerator: queryBuilder.NewKeyGenerator(), - FluxInterval: wp.fluxInterval, - FeatureLookup: wp.ff, + Reader: wp.reader, + Cache: wp.cache, + KeyGenerator: queryBuilder.NewKeyGenerator(), + FluxInterval: wp.fluxInterval, }) return wp diff --git a/pkg/query-service/app/http_handler.go b/pkg/query-service/app/http_handler.go index c11be21c77..86b30e9ed7 100644 --- a/pkg/query-service/app/http_handler.go +++ b/pkg/query-service/app/http_handler.go @@ -200,7 +200,6 @@ func NewAPIHandler(opts APIHandlerOpts) (*APIHandler, error) { Cache: opts.Cache, KeyGenerator: queryBuilder.NewKeyGenerator(), FluxInterval: opts.FluxInterval, - FeatureLookup: opts.FeatureFlags, UseLogsNewSchema: opts.UseLogsNewSchema, UseTraceNewSchema: opts.UseTraceNewSchema, } @@ -210,7 +209,6 @@ func NewAPIHandler(opts APIHandlerOpts) (*APIHandler, error) { Cache: opts.Cache, KeyGenerator: queryBuilder.NewKeyGenerator(), FluxInterval: opts.FluxInterval, - FeatureLookup: opts.FeatureFlags, UseLogsNewSchema: opts.UseLogsNewSchema, UseTraceNewSchema: opts.UseTraceNewSchema, } @@ -279,7 +277,7 @@ func NewAPIHandler(opts APIHandlerOpts) (*APIHandler, error) { BuildTraceQuery: tracesQueryBuilder, BuildLogQuery: logsQueryBuilder, } - aH.queryBuilder = queryBuilder.NewQueryBuilder(builderOpts, aH.featureFlags) + aH.queryBuilder = queryBuilder.NewQueryBuilder(builderOpts) // check if at least one user is created hasUsers, err := aH.appDao.GetUsersWithOpts(context.Background(), 1) diff --git a/pkg/query-service/app/querier/querier.go b/pkg/query-service/app/querier/querier.go index a759e668f6..78d5fae534 100644 --- a/pkg/query-service/app/querier/querier.go +++ b/pkg/query-service/app/querier/querier.go @@ -42,8 +42,7 @@ type querier struct { fluxInterval time.Duration - builder *queryBuilder.QueryBuilder - featureLookUp interfaces.FeatureLookup + builder *queryBuilder.QueryBuilder // used for testing // TODO(srikanthccv): remove this once we have a proper mock @@ -59,11 +58,10 @@ type querier struct { } type QuerierOptions struct { - Reader interfaces.Reader - Cache cache.Cache - KeyGenerator cache.KeyGenerator - FluxInterval time.Duration - FeatureLookup interfaces.FeatureLookup + Reader interfaces.Reader + Cache cache.Cache + KeyGenerator cache.KeyGenerator + FluxInterval time.Duration // used for testing TestingMode bool @@ -96,8 +94,7 @@ func NewQuerier(opts QuerierOptions) interfaces.Querier { BuildTraceQuery: tracesQueryBuilder, BuildLogQuery: logsQueryBuilder, BuildMetricQuery: metricsV3.PrepareMetricQuery, - }, opts.FeatureLookup), - featureLookUp: opts.FeatureLookup, + }), testingMode: opts.TestingMode, returnedSeries: opts.ReturnedSeries, diff --git a/pkg/query-service/app/querier/querier_test.go b/pkg/query-service/app/querier/querier_test.go index 57f627837a..989211f0b6 100644 --- a/pkg/query-service/app/querier/querier_test.go +++ b/pkg/query-service/app/querier/querier_test.go @@ -17,7 +17,6 @@ import ( "github.com/SigNoz/signoz/pkg/query-service/app/queryBuilder" tracesV3 "github.com/SigNoz/signoz/pkg/query-service/app/traces/v3" "github.com/SigNoz/signoz/pkg/query-service/cache/inmemory" - "github.com/SigNoz/signoz/pkg/query-service/featureManager" v3 "github.com/SigNoz/signoz/pkg/query-service/model/v3" "github.com/SigNoz/signoz/pkg/query-service/querycache" "github.com/SigNoz/signoz/pkg/query-service/utils" @@ -1383,7 +1382,6 @@ func Test_querier_runWindowBasedListQuery(t *testing.T) { queryBuilder.QueryBuilderOptions{ BuildTraceQuery: tracesV3.PrepareTracesQuery, }, - featureManager.StartManager(), ), } // Update query parameters diff --git a/pkg/query-service/app/querier/v2/querier.go b/pkg/query-service/app/querier/v2/querier.go index c68923cdb4..d5c8e18c75 100644 --- a/pkg/query-service/app/querier/v2/querier.go +++ b/pkg/query-service/app/querier/v2/querier.go @@ -42,8 +42,7 @@ type querier struct { fluxInterval time.Duration - builder *queryBuilder.QueryBuilder - featureLookUp interfaces.FeatureLookup + builder *queryBuilder.QueryBuilder // used for testing // TODO(srikanthccv): remove this once we have a proper mock @@ -58,11 +57,10 @@ type querier struct { } type QuerierOptions struct { - Reader interfaces.Reader - Cache cache.Cache - KeyGenerator cache.KeyGenerator - FluxInterval time.Duration - FeatureLookup interfaces.FeatureLookup + Reader interfaces.Reader + Cache cache.Cache + KeyGenerator cache.KeyGenerator + FluxInterval time.Duration // used for testing TestingMode bool @@ -96,8 +94,7 @@ func NewQuerier(opts QuerierOptions) interfaces.Querier { BuildTraceQuery: tracesQueryBuilder, BuildLogQuery: logsQueryBuilder, BuildMetricQuery: metricsV4.PrepareMetricQuery, - }, opts.FeatureLookup), - featureLookUp: opts.FeatureLookup, + }), testingMode: opts.TestingMode, returnedSeries: opts.ReturnedSeries, diff --git a/pkg/query-service/app/querier/v2/querier_test.go b/pkg/query-service/app/querier/v2/querier_test.go index b5149cca36..94c70b3c50 100644 --- a/pkg/query-service/app/querier/v2/querier_test.go +++ b/pkg/query-service/app/querier/v2/querier_test.go @@ -17,7 +17,6 @@ import ( "github.com/SigNoz/signoz/pkg/query-service/app/queryBuilder" tracesV3 "github.com/SigNoz/signoz/pkg/query-service/app/traces/v3" "github.com/SigNoz/signoz/pkg/query-service/cache/inmemory" - "github.com/SigNoz/signoz/pkg/query-service/featureManager" v3 "github.com/SigNoz/signoz/pkg/query-service/model/v3" "github.com/SigNoz/signoz/pkg/query-service/querycache" "github.com/SigNoz/signoz/pkg/query-service/utils" @@ -1437,7 +1436,6 @@ func Test_querier_runWindowBasedListQuery(t *testing.T) { queryBuilder.QueryBuilderOptions{ BuildTraceQuery: tracesV3.PrepareTracesQuery, }, - featureManager.StartManager(), ), } // Update query parameters diff --git a/pkg/query-service/app/queryBuilder/query_builder.go b/pkg/query-service/app/queryBuilder/query_builder.go index 3495cfdafd..9950becc11 100644 --- a/pkg/query-service/app/queryBuilder/query_builder.go +++ b/pkg/query-service/app/queryBuilder/query_builder.go @@ -56,10 +56,9 @@ type QueryBuilderOptions struct { BuildMetricQuery prepareMetricQueryFunc } -func NewQueryBuilder(options QueryBuilderOptions, featureFlags interfaces.FeatureLookup) *QueryBuilder { +func NewQueryBuilder(options QueryBuilderOptions) *QueryBuilder { return &QueryBuilder{ - options: options, - featureFlags: featureFlags, + options: options, } } diff --git a/pkg/query-service/app/queryBuilder/query_builder_test.go b/pkg/query-service/app/queryBuilder/query_builder_test.go index 72befcf4a2..e089b6c555 100644 --- a/pkg/query-service/app/queryBuilder/query_builder_test.go +++ b/pkg/query-service/app/queryBuilder/query_builder_test.go @@ -8,7 +8,6 @@ import ( logsV4 "github.com/SigNoz/signoz/pkg/query-service/app/logs/v4" metricsv3 "github.com/SigNoz/signoz/pkg/query-service/app/metrics/v3" "github.com/SigNoz/signoz/pkg/query-service/constants" - "github.com/SigNoz/signoz/pkg/query-service/featureManager" v3 "github.com/SigNoz/signoz/pkg/query-service/model/v3" "github.com/stretchr/testify/require" ) @@ -51,8 +50,7 @@ func TestBuildQueryWithMultipleQueriesAndFormula(t *testing.T) { qbOptions := QueryBuilderOptions{ BuildMetricQuery: metricsv3.PrepareMetricQuery, } - fm := featureManager.StartManager() - qb := NewQueryBuilder(qbOptions, fm) + qb := NewQueryBuilder(qbOptions) queries, err := qb.PrepareQueries(q) @@ -93,8 +91,7 @@ func TestBuildQueryWithIncorrectQueryRef(t *testing.T) { qbOptions := QueryBuilderOptions{ BuildMetricQuery: metricsv3.PrepareMetricQuery, } - fm := featureManager.StartManager() - qb := NewQueryBuilder(qbOptions, fm) + qb := NewQueryBuilder(qbOptions) _, err := qb.PrepareQueries(q) @@ -168,8 +165,7 @@ func TestBuildQueryWithThreeOrMoreQueriesRefAndFormula(t *testing.T) { qbOptions := QueryBuilderOptions{ BuildMetricQuery: metricsv3.PrepareMetricQuery, } - fm := featureManager.StartManager() - qb := NewQueryBuilder(qbOptions, fm) + qb := NewQueryBuilder(qbOptions) queries, err := qb.PrepareQueries(q) @@ -338,8 +334,7 @@ func TestBuildQueryWithThreeOrMoreQueriesRefAndFormula(t *testing.T) { qbOptions := QueryBuilderOptions{ BuildMetricQuery: metricsv3.PrepareMetricQuery, } - fm := featureManager.StartManager() - qb := NewQueryBuilder(qbOptions, fm) + qb := NewQueryBuilder(qbOptions) queries, err := qb.PrepareQueries(q) require.Contains(t, queries["F1"], "SELECT A.`os.type` as `os.type`, A.`ts` as `ts`, A.value + B.value as value FROM (SELECT `os.type`, toStartOfInterval(toDateTime(intDiv(unix_milli, 1000)), INTERVAL 60 SECOND) as ts, avg(value) as value FROM signoz_metrics.distributed_samples_v4 INNER JOIN (SELECT DISTINCT JSONExtractString(labels, 'os.type') as `os.type`, fingerprint FROM signoz_metrics.time_series_v4_1day WHERE metric_name IN ['system.memory.usage'] AND temporality = '' AND __normalized = true AND unix_milli >= 1734998400000 AND unix_milli < 1735637880000 AND JSONExtractString(labels, 'os.type') = 'linux') as filtered_time_series USING fingerprint WHERE metric_name IN ['system.memory.usage'] AND unix_milli >= 1735036080000 AND unix_milli < 1735637880000 GROUP BY `os.type`, ts ORDER BY `os.type` ASC, ts) as A INNER JOIN (SELECT * FROM (SELECT `os.type`, toStartOfInterval(toDateTime(intDiv(unix_milli, 1000)), INTERVAL 60 SECOND) as ts, sum(value) as value FROM signoz_metrics.distributed_samples_v4 INNER JOIN (SELECT DISTINCT JSONExtractString(labels, 'os.type') as `os.type`, fingerprint FROM signoz_metrics.time_series_v4_1day WHERE metric_name IN ['system.network.io'] AND temporality = '' AND __normalized = true AND unix_milli >= 1734998400000 AND unix_milli < 1735637880000) as filtered_time_series USING fingerprint WHERE metric_name IN ['system.network.io'] AND unix_milli >= 1735036020000 AND unix_milli < 1735637880000 GROUP BY `os.type`, ts ORDER BY `os.type` ASC, ts) HAVING value > 4) as B ON A.`os.type` = B.`os.type` AND A.`ts` = B.`ts`") @@ -498,8 +493,7 @@ func TestDeltaQueryBuilder(t *testing.T) { qbOptions := QueryBuilderOptions{ BuildMetricQuery: metricsv3.PrepareMetricQuery, } - fm := featureManager.StartManager() - qb := NewQueryBuilder(qbOptions, fm) + qb := NewQueryBuilder(qbOptions) queries, err := qb.PrepareQueries(c.query) require.NoError(t, err) @@ -703,8 +697,7 @@ func TestLogsQueryWithFormula(t *testing.T) { qbOptions := QueryBuilderOptions{ BuildLogQuery: logsV3.PrepareLogsQuery, } - fm := featureManager.StartManager() - qb := NewQueryBuilder(qbOptions, fm) + qb := NewQueryBuilder(qbOptions) for _, test := range testLogsWithFormula { t.Run(test.Name, func(t *testing.T) { @@ -914,8 +907,7 @@ func TestLogsQueryWithFormulaV2(t *testing.T) { qbOptions := QueryBuilderOptions{ BuildLogQuery: logsV4.PrepareLogsQuery, } - fm := featureManager.StartManager() - qb := NewQueryBuilder(qbOptions, fm) + qb := NewQueryBuilder(qbOptions) for _, test := range testLogsWithFormulaV2 { t.Run(test.Name, func(t *testing.T) {