123456789101112131415161718192021222324252627282930313233 |
- # -*- coding: utf-8 -*-
- """
- @author: yq
- @time: 2024/11/1
- @desc: 监控报告
- """
- import threading
- from typing import Dict
- from entitys import ModelMonitorConfigEntity, MetricFucEntity
- class MonitorModel():
- def __init__(self, model_monitor_config: ModelMonitorConfigEntity):
- self._model_monitor_config = model_monitor_config
- self.lock = threading.Lock()
- self._metric_value_dict: Dict[str, MetricFucEntity] = {}
- def _update_metric_value_dict(self, key, value):
- with self.lock:
- self._metric_value_dict[key] = value
- # TODO 多线程计算指标
- def calculate_metric(self):
- metric_dict = self._model_monitor_config.metric_dict
- for metric_code, metric_clazz in metric_dict.items():
- metric_value = metric_clazz.calculate()
- self._update_metric_value_dict(metric_code, metric_value)
- if __name__ == "__main__":
- pass
|