From 62c033ccf8eaccd255dfda0311baef599f3f59e9 Mon Sep 17 00:00:00 2001 From: Shaheer Kochai Date: Sat, 29 Mar 2025 18:33:15 +0430 Subject: [PATCH] chore: trace funnels feature flag changes (#7478) * chore: trace funnels feature flag --- ee/query-service/model/plans.go | 21 +++++++++++++++++++ frontend/src/constants/features.ts | 1 + .../TracesModulePage/TracesModulePage.tsx | 10 +++++++-- pkg/query-service/model/featureSet.go | 8 +++++++ 4 files changed, 38 insertions(+), 2 deletions(-) diff --git a/ee/query-service/model/plans.go b/ee/query-service/model/plans.go index 8c390beef3..7c8db533df 100644 --- a/ee/query-service/model/plans.go +++ b/ee/query-service/model/plans.go @@ -157,6 +157,13 @@ var BasicPlan = basemodel.FeatureSet{ UsageLimit: -1, Route: "", }, + basemodel.Feature{ + Name: basemodel.TraceFunnels, + Active: false, + Usage: 0, + UsageLimit: -1, + Route: "", + }, } var ProPlan = basemodel.FeatureSet{ @@ -279,6 +286,13 @@ var ProPlan = basemodel.FeatureSet{ UsageLimit: -1, Route: "", }, + basemodel.Feature{ + Name: basemodel.TraceFunnels, + Active: false, + Usage: 0, + UsageLimit: -1, + Route: "", + }, } var EnterprisePlan = basemodel.FeatureSet{ @@ -415,4 +429,11 @@ var EnterprisePlan = basemodel.FeatureSet{ UsageLimit: -1, Route: "", }, + basemodel.Feature{ + Name: basemodel.TraceFunnels, + Active: false, + Usage: 0, + UsageLimit: -1, + Route: "", + }, } diff --git a/frontend/src/constants/features.ts b/frontend/src/constants/features.ts index db64d7923f..93bf8e4ee4 100644 --- a/frontend/src/constants/features.ts +++ b/frontend/src/constants/features.ts @@ -25,4 +25,5 @@ export enum FeatureKeys { ANOMALY_DETECTION = 'ANOMALY_DETECTION', AWS_INTEGRATION = 'AWS_INTEGRATION', ONBOARDING_V3 = 'ONBOARDING_V3', + TRACE_FUNNELS = 'TRACE_FUNNELS', } diff --git a/frontend/src/pages/TracesModulePage/TracesModulePage.tsx b/frontend/src/pages/TracesModulePage/TracesModulePage.tsx index 7889093ac3..5e8a8ee97a 100644 --- a/frontend/src/pages/TracesModulePage/TracesModulePage.tsx +++ b/frontend/src/pages/TracesModulePage/TracesModulePage.tsx @@ -2,18 +2,24 @@ import './TracesModulePage.styles.scss'; import RouteTab from 'components/RouteTab'; import { TabRoutes } from 'components/RouteTab/types'; +import { FeatureKeys } from 'constants/features'; import history from 'lib/history'; +import { useAppContext } from 'providers/App/App'; import { useLocation } from 'react-router-dom'; import { tracesExplorer, tracesFunnel, tracesSaveView } from './constants'; function TracesModulePage(): JSX.Element { const { pathname } = useLocation(); + const { featureFlags } = useAppContext(); + + const isTraceFunnelsEnabled = + featureFlags?.find((flag) => flag.name === FeatureKeys.TRACE_FUNNELS) + ?.active || false; const routes: TabRoutes[] = [ tracesExplorer, - // TODO(shaheer): remove this check after everything is ready - process.env.NODE_ENV === 'development' ? tracesFunnel : null, + isTraceFunnelsEnabled ? tracesFunnel : null, tracesSaveView, ].filter(Boolean) as TabRoutes[]; diff --git a/pkg/query-service/model/featureSet.go b/pkg/query-service/model/featureSet.go index d6c986619c..5187f84426 100644 --- a/pkg/query-service/model/featureSet.go +++ b/pkg/query-service/model/featureSet.go @@ -24,6 +24,7 @@ const AlertChannelOpsgenie = "ALERT_CHANNEL_OPSGENIE" const AlertChannelEmail = "ALERT_CHANNEL_EMAIL" const AnomalyDetection = "ANOMALY_DETECTION" const HostsInfraMonitoring = "HOSTS_INFRA_MONITORING" +const TraceFunnels = "TRACE_FUNNELS" var BasicPlan = FeatureSet{ Feature{ @@ -124,4 +125,11 @@ var BasicPlan = FeatureSet{ UsageLimit: -1, Route: "", }, + Feature{ + Name: TraceFunnels, + Active: false, + Usage: 0, + UsageLimit: -1, + Route: "", + }, }