1234567891011121314151617181920212223242526272829303132 |
- # -*- coding: utf-8 -*-
- """
- @author: yq
- @time: 2024/11/1
- @desc:
- """
- from data import DataLoaderMysql
- from entitys import MetricFucResultEntity,DbConfigEntity
- from metrics import MetricBase, f_register_metric_func
- from monitor import MonitorMetric
- class BMetric(MetricBase):
- def __init__(self, v: str, *args, **kwargs):
- super().__init__(*args, **kwargs)
- self._v = v
- def calculate(self, *args, **kwargs) -> MetricFucResultEntity:
- if ".png" in self._v:
- return MetricFucResultEntity(image_path=self._v)
- else:
- return MetricFucResultEntity(value=self._v)
- if __name__ == "__main__":
- f_register_metric_func(BMetric)
- data_loader = DataLoaderMysql(DbConfigEntity.from_config("config/demo/mysql_config.json"))
- monitor_metric = MonitorMetric("config/demo/monitor_config_template_excel.json")
- monitor_metric.calculate_metric(data_loader=data_loader)
- monitor_metric.generate_report()
|