diff --git a/server/website/tests/test_parser.py b/server/website/tests/test_parser.py index 82c5e13..8ea4555 100644 --- a/server/website/tests/test_parser.py +++ b/server/website/tests/test_parser.py @@ -207,14 +207,6 @@ class BaseParserTests(object, metaclass=ABCMeta): with self.assertRaises(Exception): self.test_dbms.format_dbms_knobs(test_exceptions) - @abstractmethod - def test_filter_numeric_metrics(self): - pass - - @abstractmethod - def test_filter_tunable_knobs(self): - pass - class PostgresParserTests(BaseParserTests, TestCase): @@ -501,57 +493,6 @@ class PostgresParserTests(BaseParserTests, TestCase): self.assertEqual(test_formatted_knobs.get('global.geqo_effort'), 5) self.assertEqual(test_formatted_knobs.get('global.wal_buffers'), '1kB') - def test_filter_numeric_metrics(self): - super().test_filter_numeric_metrics() - - test_metrics = {'pg_stat_bgwriter.checkpoints_req': (2, 'global'), - 'pg_stat_archiver.last_failed_wal': (1, 'global'), - 'pg_stat_database.stats_reset': (6, 'database'), - 'pg_statio_user_indexes.indexrelname': (1, 'index'), - 'pg_stat_bgwriter.maxwritten_clean': (2, 'global'), - 'pg_stat_database.tup_fetched': (2, 'database'), - 'pg_statio_user_tables.heap_blks_read': (2, 'table'), - 'pg_FAKE_METRIC': (2, 'database')} - - filtered_metrics = self.test_dbms.filter_numeric_metrics(test_metrics) - - self.assertEqual(len(list(filtered_metrics.keys())), 4) - self.assertEqual(filtered_metrics.get('pg_stat_bgwriter.checkpoints_req'), - (2, 'global')) - self.assertEqual(filtered_metrics.get('pg_stat_archiver.last_failed_wal'), None) - self.assertEqual(filtered_metrics.get('pg_stat_database.stats_reset'), None) - self.assertEqual(filtered_metrics.get('pg_statio_user_indexes.indexrelname'), - None) - self.assertEqual(filtered_metrics.get('pg_stat_bgwriter.maxwritten_clean'), - (2, 'global')) - self.assertEqual(filtered_metrics.get('pg_stat_database.tup_fetched'), - (2, 'database')) - self.assertEqual(filtered_metrics.get('pg_statio_user_tables.heap_blks_read'), - (2, 'table')) - self.assertEqual(filtered_metrics.get('pg_FAKE_KNOB'), None) - - def test_filter_tunable_knobs(self): - super().test_filter_tunable_knobs() - - test_knobs = {'global.wal_sync_method': 5, - 'global.random_page_cost': 3, - 'global.archive_command': 1, - 'global.cpu_tuple_cost': 3, - 'global.force_parallel_mode': 5, - 'global.enable_hashjoin': 3, - 'global.geqo_effort': 2, - 'global.wal_buffers': 2, - 'global.FAKE_KNOB': 2} - - filtered_knobs = self.test_dbms.filter_tunable_knobs(test_knobs) - - self.assertEqual(len(list(filtered_knobs.keys())), 3) - self.assertEqual(filtered_knobs.get('global.wal_sync_method'), 5) - self.assertEqual(filtered_knobs.get('global.wal_buffers'), 2) - self.assertEqual(filtered_knobs.get('global.random_page_cost'), 3) - self.assertEqual(filtered_knobs.get('global.cpu_tuple_cost'), None) - self.assertEqual(filtered_knobs.get('global.FAKE_KNOB'), None) - def test_parse_helper(self): super().test_parse_helper() diff --git a/server/website/website/db/base/parser.py b/server/website/website/db/base/parser.py index 0137963..74373f9 100644 --- a/server/website/website/db/base/parser.py +++ b/server/website/website/db/base/parser.py @@ -420,12 +420,4 @@ class BaseParser: formatted_knobs[knob_name] = fvalue return formatted_knobs - def filter_numeric_metrics(self, metrics): - return OrderedDict(((k, v) for k, v in list(metrics.items()) if - k in self.numeric_metric_catalog_)) - - def filter_tunable_knobs(self, knobs): - return OrderedDict(((k, v) for k, v in list(knobs.items()) if - k in self.tunable_knob_catalog_)) - # pylint: enable=no-self-use diff --git a/server/website/website/db/myrocks/parser.py b/server/website/website/db/myrocks/parser.py index 114a599..435a390 100644 --- a/server/website/website/db/myrocks/parser.py +++ b/server/website/website/db/myrocks/parser.py @@ -206,10 +206,3 @@ class MyRocksParser(BaseParser): knob_data[name] = conv_value return knob_data - def filter_numeric_metrics(self, metrics): - return OrderedDict([(k, v) for k, v in list(metrics.items()) if - self.partial_name(k) in self.numeric_metric_catalog_]) - - def filter_tunable_knobs(self, knobs): - return OrderedDict([(k, v) for k, v in list(knobs.items()) if - self.partial_name(k) in self.tunable_knob_catalog_]) diff --git a/server/website/website/db/oracle/target_objective.py b/server/website/website/db/oracle/target_objective.py index 553aa3d..27a24e7 100644 --- a/server/website/website/db/oracle/target_objective.py +++ b/server/website/website/db/oracle/target_objective.py @@ -11,11 +11,11 @@ from website.types import DBMSType class DBTime(BaseTargetObjective): def __init__(self): - super().__init__(name='db_time', pprint='DB Time', unit='milliseconds', short_unit='ms', + super().__init__(name='db_time', pprint='DB Time', unit='seconds', short_unit='s', improvement=LESS_IS_BETTER) def compute(self, metrics, observation_time): - return float(metrics['global.sys_time_model.db time']) / observation_time + return float(metrics['global.sys_time_model.db time']) / observation_time / 1000. target_objective_list = tuple((DBMSType.ORACLE, target_obj) for target_obj in [ # pylint: disable=invalid-name diff --git a/server/website/website/db/parser.py b/server/website/website/db/parser.py index ebbbdc2..97fdf7d 100644 --- a/server/website/website/db/parser.py +++ b/server/website/website/db/parser.py @@ -73,14 +73,6 @@ def format_dbms_knobs(dbms_id, knobs): return _get(dbms_id).format_dbms_knobs(knobs) -def filter_numeric_metrics(dbms_id, metrics): - return _get(dbms_id).filter_numeric_metrics(metrics) - - -def filter_tunable_knobs(dbms_id, knobs): - return _get(dbms_id).filter_tunable_knobs(knobs) - - def calculate_change_in_metrics(dbms_id, metrics_start, metrics_end): return _get(dbms_id).calculate_change_in_metrics( metrics_start, metrics_end) diff --git a/server/website/website/templates/dbms_data.html b/server/website/website/templates/dbms_data.html index bdd96e1..ba2f456 100644 --- a/server/website/website/templates/dbms_data.html +++ b/server/website/website/templates/dbms_data.html @@ -41,9 +41,9 @@