(
svc,
project,
feature_view,
feat_names,
start_date,
end_date,
granularity,
set_baseline,
auto_mode,
)
| 128 | |
| 129 | |
| 130 | def _run_batch_monitoring( |
| 131 | svc, |
| 132 | project, |
| 133 | feature_view, |
| 134 | feat_names, |
| 135 | start_date, |
| 136 | end_date, |
| 137 | granularity, |
| 138 | set_baseline, |
| 139 | auto_mode, |
| 140 | ): |
| 141 | if auto_mode and set_baseline and not start_date and not end_date: |
| 142 | click.echo("Computing baseline from all available source data...") |
| 143 | result = svc.compute_baseline( |
| 144 | project=project, |
| 145 | feature_view_name=feature_view, |
| 146 | feature_names=feat_names, |
| 147 | ) |
| 148 | click.echo(f"Status: {result['status']}") |
| 149 | click.echo(f"Features computed: {result['computed_features']}") |
| 150 | click.echo(f"Feature views computed: {result['computed_feature_views']}") |
| 151 | click.echo(f"Duration: {result['duration_ms']}ms") |
| 152 | click.echo("Baseline: SET") |
| 153 | elif auto_mode and not set_baseline: |
| 154 | click.echo("Auto-computing batch metrics for all granularities...") |
| 155 | result = svc.auto_compute( |
| 156 | project=project, |
| 157 | feature_view_name=feature_view, |
| 158 | ) |
| 159 | click.echo(f"Status: {result['status']}") |
| 160 | click.echo(f"Feature views computed: {result['computed_feature_views']}") |
| 161 | click.echo(f"Features computed: {result['computed_features']}") |
| 162 | click.echo(f"Granularities: {', '.join(result['granularities'])}") |
| 163 | click.echo(f"Duration: {result['duration_ms']}ms") |
| 164 | else: |
| 165 | start_d = date.fromisoformat(start_date) if start_date else None |
| 166 | end_d = date.fromisoformat(end_date) if end_date else None |
| 167 | |
| 168 | result = svc.compute_metrics( |
| 169 | project=project, |
| 170 | feature_view_name=feature_view, |
| 171 | feature_names=feat_names, |
| 172 | start_date=start_d, |
| 173 | end_date=end_d, |
| 174 | granularity=granularity or "daily", |
| 175 | set_baseline=set_baseline, |
| 176 | ) |
| 177 | |
| 178 | click.echo(f"Status: {result['status']}") |
| 179 | click.echo(f"Granularity: {result['granularity']}") |
| 180 | click.echo(f"Features computed: {result['computed_features']}") |
| 181 | click.echo(f"Feature views computed: {result['computed_feature_views']}") |
| 182 | click.echo(f"Feature services computed: {result['computed_feature_services']}") |
| 183 | click.echo(f"Metric dates: {', '.join(result['metric_dates'])}") |
| 184 | click.echo(f"Duration: {result['duration_ms']}ms") |
| 185 | |
| 186 | if set_baseline: |
| 187 | click.echo("Baseline: SET") |
no test coverage detected