@@ -14,6 +14,7 @@ import { useDocumentTitle } from "../../hooks/useDocumentTitle";
1414import useLoadRegistry from "../../queries/useLoadRegistry" ;
1515import RegistryPathContext from "../../contexts/RegistryPathContext" ;
1616import {
17+ isServiceUnavailable ,
1718 useFeatureMetrics ,
1819 useFeatureViewMetrics ,
1920 useFeatureServiceMetrics ,
@@ -33,7 +34,7 @@ const MonitoringIndex = () => {
3334 const { data : registryData } = useLoadRegistry ( registryUrl , projectName ) ;
3435
3536 const [ selectedFV , setSelectedFV ] = useState ( "" ) ;
36- const [ granularity , setGranularity ] = useState ( "baseline " ) ;
37+ const [ granularity , setGranularity ] = useState ( "daily " ) ;
3738 const [ dataSourceType , setDataSourceType ] = useState ( "" ) ;
3839 const [ startDate , setStartDate ] = useState ( "" ) ;
3940 const [ endDate , setEndDate ] = useState ( "" ) ;
@@ -112,7 +113,13 @@ const MonitoringIndex = () => {
112113 } ) ;
113114 } ;
114115
115- const hasError = featureQuery . isError && fvQuery . isError && fsQuery . isError ;
116+ const allFailed = featureQuery . isError && fvQuery . isError && fsQuery . isError ;
117+ const monitoringNotEnabled =
118+ allFailed &&
119+ isServiceUnavailable ( featureQuery . error ) &&
120+ isServiceUnavailable ( fvQuery . error ) &&
121+ isServiceUnavailable ( fsQuery . error ) ;
122+ const hasError = allFailed && ! monitoringNotEnabled ;
116123 const hasData =
117124 ( featureQuery . data && featureQuery . data . length > 0 ) ||
118125 ( fvQuery . data && fvQuery . data . length > 0 ) ;
@@ -162,6 +169,43 @@ const MonitoringIndex = () => {
162169 } ,
163170 ] ;
164171
172+ if ( monitoringNotEnabled ) {
173+ return (
174+ < EuiPageTemplate panelled >
175+ < EuiPageTemplate . Header
176+ restrictWidth
177+ iconType = "monitoringApp"
178+ pageTitle = "Monitoring"
179+ description = "Feature quality and data health metrics for your feature store."
180+ />
181+ < EuiPageTemplate . Section >
182+ < EuiEmptyPrompt
183+ iconType = "alert"
184+ color = "subdued"
185+ title = { < h2 > Monitoring Is Not Enabled</ h2 > }
186+ body = {
187+ < >
188+ < p >
189+ Data quality monitoring is not configured for this Feast
190+ deployment.
191+ </ p >
192+ < p >
193+ To enable monitoring, add the following to your{ " " }
194+ < code > feature_store.yaml</ code > :
195+ </ p >
196+ < pre style = { { textAlign : "left" , display : "inline-block" } } >
197+ { `data_quality_monitoring:
198+ auto_baseline: true` }
199+ </ pre >
200+ < p > Then restart the Feast registry server.</ p >
201+ </ >
202+ }
203+ />
204+ </ EuiPageTemplate . Section >
205+ </ EuiPageTemplate >
206+ ) ;
207+ }
208+
165209 return (
166210 < EuiPageTemplate panelled >
167211 < EuiPageTemplate . Header
0 commit comments