@@ -27,10 +27,15 @@ import LabelViewInstance from "./pages/label-views/LabelViewInstance";
2727import PermissionsIndex from "./pages/permissions/Index" ;
2828import LineageIndex from "./pages/lineage/Index" ;
2929import NoProjectGuard from "./components/NoProjectGuard" ;
30+ import MonitoringIndex from "./pages/monitoring/Index" ;
31+ import FeatureMetricsDetail from "./pages/monitoring/FeatureMetricsDetail" ;
3032
3133import TabsRegistryContext , {
3234 FeastTabsRegistryInterface ,
3335} from "./custom-tabs/TabsRegistryContext" ;
36+ import MonitoringContext , {
37+ MonitoringConfig ,
38+ } from "./contexts/MonitoringContext" ;
3439import CurlGeneratorTab from "./pages/feature-views/CurlGeneratorTab" ;
3540import FeatureFlagsContext , {
3641 FeatureFlags ,
@@ -47,6 +52,7 @@ interface FeastUIConfigs {
4752 featureFlags ?: FeatureFlags ;
4853 projectListPromise ?: Promise < any > ;
4954 fetchOptions ?: FetchOptions ;
55+ monitoringConfig ?: MonitoringConfig ;
5056}
5157
5258const defaultProjectListPromise = ( basename : string ) => {
@@ -103,6 +109,12 @@ const FeastUISansProvidersInner = ({
103109 fetchOptions : feastUIConfigs ?. fetchOptions ,
104110 } ;
105111
112+ const monitoringConfig : MonitoringConfig =
113+ feastUIConfigs ?. monitoringConfig || {
114+ apiBaseUrl : "/api/v1" ,
115+ enabled : true ,
116+ } ;
117+
106118 return (
107119 < EuiProvider colorMode = { colorMode } >
108120 < EuiErrorBoundary >
@@ -138,74 +150,86 @@ const FeastUISansProvidersInner = ({
138150 < FeatureFlagsContext . Provider
139151 value = { feastUIConfigs ?. featureFlags || { } }
140152 >
141- < ProjectListContext . Provider value = { projectListContext } >
142- < Routes >
143- < Route path = "/" element = { < Layout /> } >
144- < Route index element = { < RootProjectSelectionPage /> } />
145- < Route
146- path = "/p/:projectName/*"
147- element = { < NoProjectGuard /> }
148- >
149- < Route index element = { < ProjectOverviewPage /> } />
150- < Route
151- path = "data-source/"
152- element = { < DatasourceIndex /> }
153- />
154- < Route
155- path = "data-source/:dataSourceName/*"
156- element = { < DataSourceInstance /> }
157- />
158- < Route path = "features/" element = { < FeatureListPage /> } />
159- < Route
160- path = "feature-view/"
161- element = { < FeatureViewIndex /> }
162- />
163- < Route
164- path = "feature-view/:featureViewName/*"
165- element = { < FeatureViewInstance /> }
166- > </ Route >
167- < Route
168- path = "feature-view/:FeatureViewName/feature/:FeatureName/*"
169- element = { < FeatureInstance /> }
170- />
171- < Route
172- path = "feature-service/"
173- element = { < FeatureServiceIndex /> }
174- />
175- < Route
176- path = "feature-service/:featureServiceName/*"
177- element = { < FeatureServiceInstance /> }
178- />
179- < Route path = "entity/" element = { < EntityIndex /> } />
180- < Route
181- path = "entity/:entityName/*"
182- element = { < EntityInstance /> }
183- />
184-
185- < Route path = "label-view/" element = { < LabelViewIndex /> } />
186- < Route
187- path = "label-view/:labelViewName/*"
188- element = { < LabelViewInstance /> }
189- />
190- < Route
191- path = "label-view/:FeatureViewName/label/:FeatureName/*"
192- element = { < FeatureInstance /> }
193- />
194- < Route path = "data-set/" element = { < DatasetIndex /> } />
195- < Route
196- path = "data-set/:datasetName/*"
197- element = { < DatasetInstance /> }
198- />
153+ < MonitoringContext . Provider value = { monitoringConfig } >
154+ < ProjectListContext . Provider value = { projectListContext } >
155+ < Routes >
156+ < Route path = "/" element = { < Layout /> } >
157+ < Route index element = { < RootProjectSelectionPage /> } />
199158 < Route
200- path = "permissions/"
201- element = { < PermissionsIndex /> }
202- />
203- < Route path = "lineage/" element = { < LineageIndex /> } />
159+ path = "/p/:projectName/*"
160+ element = { < NoProjectGuard /> }
161+ >
162+ < Route index element = { < ProjectOverviewPage /> } />
163+ < Route
164+ path = "data-source/"
165+ element = { < DatasourceIndex /> }
166+ />
167+ < Route
168+ path = "data-source/:dataSourceName/*"
169+ element = { < DataSourceInstance /> }
170+ />
171+ < Route path = "features/" element = { < FeatureListPage /> } />
172+ < Route
173+ path = "feature-view/"
174+ element = { < FeatureViewIndex /> }
175+ />
176+ < Route
177+ path = "feature-view/:featureViewName/*"
178+ element = { < FeatureViewInstance /> }
179+ > </ Route >
180+ < Route
181+ path = "feature-view/:FeatureViewName/feature/:FeatureName/*"
182+ element = { < FeatureInstance /> }
183+ />
184+ < Route
185+ path = "feature-service/"
186+ element = { < FeatureServiceIndex /> }
187+ />
188+ < Route
189+ path = "feature-service/:featureServiceName/*"
190+ element = { < FeatureServiceInstance /> }
191+ />
192+ < Route path = "entity/" element = { < EntityIndex /> } />
193+ < Route
194+ path = "entity/:entityName/*"
195+ element = { < EntityInstance /> }
196+ />
197+ < Route
198+ path = "label-view/"
199+ element = { < LabelViewIndex /> }
200+ />
201+ < Route
202+ path = "label-view/:labelViewName/*"
203+ element = { < LabelViewInstance /> }
204+ />
205+ < Route
206+ path = "label-view/:FeatureViewName/label/:FeatureName/*"
207+ element = { < FeatureInstance /> }
208+ />
209+ < Route path = "data-set/" element = { < DatasetIndex /> } />
210+ < Route
211+ path = "data-set/:datasetName/*"
212+ element = { < DatasetInstance /> }
213+ />
214+ < Route
215+ path = "permissions/"
216+ element = { < PermissionsIndex /> }
217+ />
218+ < Route path = "lineage/" element = { < LineageIndex /> } />
219+ < Route
220+ path = "monitoring/"
221+ element = { < MonitoringIndex /> }
222+ />
223+ < Route
224+ path = "monitoring/feature/:featureViewName/:featureName"
225+ element = { < FeatureMetricsDetail /> }
226+ />
227+ </ Route >
204228 </ Route >
205- </ Route >
206- < Route path = "*" element = { < NoMatch /> } / >
207- </ Routes >
208- </ ProjectListContext . Provider >
229+ < Route path = "*" element = { < NoMatch /> } / >
230+ </ Routes >
231+ </ ProjectListContext . Provider >
232+ </ MonitoringContext . Provider >
209233 </ FeatureFlagsContext . Provider >
210234 </ TabsRegistryContext . Provider >
211235 </ DataModeContext . Provider >
0 commit comments