metric_test3.py 962 B

1234567891011121314151617181920212223242526272829303132
  1. # -*- coding: utf-8 -*-
  2. """
  3. @author: yq
  4. @time: 2024/11/1
  5. @desc:
  6. """
  7. from data import DataLoaderMysql
  8. from entitys import MetricFucResultEntity,DbConfigEntity
  9. from metrics import MetricBase, f_register_metric_func
  10. from monitor import MonitorMetric
  11. class BMetric(MetricBase):
  12. def __init__(self, v: str, *args, **kwargs):
  13. super().__init__(*args, **kwargs)
  14. self._v = v
  15. def calculate(self, *args, **kwargs) -> MetricFucResultEntity:
  16. if ".png" in self._v:
  17. return MetricFucResultEntity(image_path=self._v)
  18. else:
  19. return MetricFucResultEntity(value=self._v)
  20. if __name__ == "__main__":
  21. f_register_metric_func(BMetric)
  22. data_loader = DataLoaderMysql(DbConfigEntity.from_config("config/demo/mysql_config.json"))
  23. monitor_metric = MonitorMetric("config/demo/monitor_config_template_excel.json")
  24. monitor_metric.calculate_metric(data_loader=data_loader)
  25. monitor_metric.generate_report()