(
project: str = Query(...),
feature_view_name: Optional[str] = Query(None),
feature_name: Optional[str] = Query(None),
feature_service_name: Optional[str] = Query(None),
granularity: Optional[str] = Query(None),
data_source_type: Optional[str] = Query(None),
start_date: Optional[str] = Query(None),
end_date: Optional[str] = Query(None),
)
| 262 | |
| 263 | @router.get("/monitoring/metrics/features", tags=["Monitoring"]) |
| 264 | async def get_feature_metrics( |
| 265 | project: str = Query(...), |
| 266 | feature_view_name: Optional[str] = Query(None), |
| 267 | feature_name: Optional[str] = Query(None), |
| 268 | feature_service_name: Optional[str] = Query(None), |
| 269 | granularity: Optional[str] = Query(None), |
| 270 | data_source_type: Optional[str] = Query(None), |
| 271 | start_date: Optional[str] = Query(None), |
| 272 | end_date: Optional[str] = Query(None), |
| 273 | ): |
| 274 | store = _get_store() |
| 275 | if feature_view_name: |
| 276 | fv = store.registry.get_feature_view( |
| 277 | name=feature_view_name, project=project |
| 278 | ) |
| 279 | assert_permissions(fv, actions=[AuthzedAction.DESCRIBE]) |
| 280 | |
| 281 | svc = _get_monitoring_service() |
| 282 | return svc.get_feature_metrics( |
| 283 | project=project, |
| 284 | feature_service_name=feature_service_name, |
| 285 | feature_view_name=feature_view_name, |
| 286 | feature_name=feature_name, |
| 287 | granularity=granularity, |
| 288 | data_source_type=data_source_type, |
| 289 | start_date=date.fromisoformat(start_date) if start_date else None, |
| 290 | end_date=date.fromisoformat(end_date) if end_date else None, |
| 291 | ) |
| 292 | |
| 293 | @router.get("/monitoring/metrics/feature_views", tags=["Monitoring"]) |
| 294 | async def get_feature_view_metrics( |
nothing calls this directly
no test coverage detected