From 3f0c82abbd9d2856ed308ba978fadfb4511d0e08 Mon Sep 17 00:00:00 2001 From: yangdsh Date: Fri, 24 Apr 2020 19:17:03 -0400 Subject: [PATCH] reload default metrics in normalized_db_time object --- server/website/website/db/oracle/target_objective.py | 6 ++++++ server/website/website/views.py | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/server/website/website/db/oracle/target_objective.py b/server/website/website/db/oracle/target_objective.py index 9c6128a..41106e6 100644 --- a/server/website/website/db/oracle/target_objective.py +++ b/server/website/website/db/oracle/target_objective.py @@ -52,6 +52,12 @@ class NormalizedDBTime(BaseTargetObjective): for metric in MetricCatalog.objects.filter(dbms=dbms): self.default_values[metric.name] = metric.default + def reload_default_metrics(self): + dbms = DBMSCatalog.objects.get(type=DBMSType.ORACLE, version='12.2.0.1.0') + self.default_values = {} + for metric in MetricCatalog.objects.filter(dbms=dbms): + self.default_values[metric.name] = metric.default + def compute(self, metrics, observation_time): extra_io_metrics = ["log file sync"] not_io_metrics = ["read by other session"] diff --git a/server/website/website/views.py b/server/website/website/views.py index 48d8697..08df455 100644 --- a/server/website/website/views.py +++ b/server/website/website/views.py @@ -660,6 +660,10 @@ def handle_result_files(session, files, execution_times=None): metric = MetricCatalog.objects.get(dbms=dbms, name=name) metric.default = numeric_metric_dict[name] metric.save() + all_target_objectives = target_objectives.get_all(session.dbms.pk) + normalized_db_time = all_target_objectives.get('db_time', None) + if normalized_db_time is not None: + normalized_db_time.reload_default_metrics() numeric_metric_dict = parser.convert_dbms_metrics( dbms.pk, metric_dict, observation_time, session.target_objective) metric_data.data = JSONUtil.dumps(numeric_metric_dict)