From df29ce238e2eaf4abb2fe90422b81fc5ad576348 Mon Sep 17 00:00:00 2001 From: Dongsheng Yang Date: Mon, 6 Apr 2020 14:45:45 -0400 Subject: [PATCH] fix bugs --- server/website/tests/test_parser.py | 4 ++-- server/website/website/db/oracle/target_objective.py | 12 +++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/server/website/tests/test_parser.py b/server/website/tests/test_parser.py index 42aba92..391088c 100644 --- a/server/website/tests/test_parser.py +++ b/server/website/tests/test_parser.py @@ -272,10 +272,10 @@ class PostgresParserTests(BaseParserTests, TestCase): test_convert_metrics = self.test_dbms.convert_dbms_metrics(test_metrics, 0.1, target_obj) for key, metadata in self.numeric_metric_catalog.items(): if key == txns_counter: - self.assertEqual(test_convert_metrics[key], 10 / 0.1) + self.assertEqual(test_convert_metrics[key], 10) continue if metadata.metric_type == MetricType.COUNTER: - self.assertEqual(test_convert_metrics[key], 2 / 0.1) + self.assertEqual(test_convert_metrics[key], 2) else: # MetricType.STATISTICS self.assertEqual(test_convert_metrics[key], 2) diff --git a/server/website/website/db/oracle/target_objective.py b/server/website/website/db/oracle/target_objective.py index 5765be8..8762b81 100644 --- a/server/website/website/db/oracle/target_objective.py +++ b/server/website/website/db/oracle/target_objective.py @@ -4,11 +4,15 @@ # Copyright (c) 2017-18, Carnegie Mellon University Database Group # +import logging + from website.models import DBMSCatalog, MetricCatalog from website.types import DBMSType from ..base.target_objective import (BaseTargetObjective, BaseThroughput, LESS_IS_BETTER, MORE_IS_BETTER) +LOG = logging.getLogger(__name__) + class SummedUpDBTime(BaseTargetObjective): @@ -39,8 +43,8 @@ class NormalizedDBTime(BaseTargetObjective): short_unit='s', improvement=LESS_IS_BETTER) def compute(self, metrics, observation_time): - extra_io_metrics = ("log file sync") - not_io_metrics = ("read by other session") + extra_io_metrics = ["log file sync"] + not_io_metrics = ["read by other session"] total_wait_time = 0. # This target objective is designed for Oracle v12.2.0.1.0 dbms = DBMSCatalog.objects.get(type=DBMSType.ORACLE, version='12.2.0.1.0') @@ -61,7 +65,9 @@ class NormalizedDBTime(BaseTargetObjective): if value == 6: wait_time = 0 elif value == 8 or value == 9 or any(n in name for n in extra_io_metrics): - if not any(n in name for n in not_io_metrics): + if any(n in name for n in not_io_metrics): + wait_time = wait_time + else: wait_time = total_waits * average_wait total_wait_time += wait_time return total_wait_time / 1000000.