# -*- coding: utf-8 -*- """ @author: yq @time: 2024/11/1 @desc: """ from data import DataLoaderMysql from entitys import DbConfigEntity, MetricFucEntity from metrics import MetricBase, f_register_metric_func from monitor import MonitorMetric class A(MetricBase): def calculate(self, *args, **kwargs) -> MetricFucEntity: return MetricFucEntity(table=None, value='1', image_path='./cache/t1.png') if __name__ == "__main__": # f_register_metric_func(A) db_config = DbConfigEntity.from_config("./config/mysql_config.json") data_loader = DataLoaderMysql(db_config) # metric_clzz = MetricBySqlGeneral() # metric = metric_clzz.calculate(data_loader, "select * from test.t1") # print(metric.head(5)) # monitor_metric_config = MonitorMetricConfigEntity.from_config("./config/model_monitor_config_template.json") monitor_metric = MonitorMetric("./config/model_monitor_config_template.json") monitor_metric.calculate_metric(data_loader=data_loader) monitor_metric.generate_report() # metric_value_dict = monitor_metric.metric_value_dict # print(metric_value_dict)