in opmon/monitoring.py [0:0]
def run(self, submission_date):
"""Execute and generate the operational monitoring ETL for a specific date."""
if self.config.project.skip:
print(f"Skipping {self.slug}")
return True
try:
self._check_runnable(submission_date)
except Exception as e:
print(f"Failed to run opmon project: {e}")
return
print(f"Run metrics query for {self.slug}")
self._run_metrics_sql(submission_date)
print(f"Create metrics view for {self.slug}")
self.bigquery.execute(
self._get_metric_view_sql(),
annotations={
"slug": self.slug,
"type": "metrics_view",
"submission_date": submission_date,
},
)
print(f"Calculate statistics for {self.slug}")
self._run_statistics_sql(submission_date)
print(f"Create statistics view for {self.slug}")
self.bigquery.execute(
self._get_statistics_view_sql(),
annotations={
"slug": self.slug,
"type": "statistics_view",
"submission_date": submission_date,
},
)
print(f"Create alerts data for {self.slug}")
self._run_sql_for_alerts(submission_date)
return True