support user defined metrics
This commit is contained in:
		
							parent
							
								
									346a2470b5
								
							
						
					
					
						commit
						6c436e66c0
					
				|  | @ -93,7 +93,7 @@ DRIVER_HOME = os.path.dirname(os.path.realpath(__file__)) | |||
| RESULT_DIR = os.path.join(DRIVER_HOME, 'results') | ||||
| 
 | ||||
| # Set this to add user defined metrics | ||||
| ENABLE_UDM = True | ||||
| ENABLE_UDM = False | ||||
| 
 | ||||
| # Path to the User Defined Metrics (UDM), only required when ENABLE_UDM is True | ||||
| UDM_DIR = os.path.join(DRIVER_HOME, 'userDefinedMetrics') | ||||
|  |  | |||
|  | @ -599,6 +599,12 @@ def clean_logs(): | |||
|     local('rm -f {} {}'.format(dconf.OLTPBENCH_LOG, dconf.CONTROLLER_LOG)) | ||||
| 
 | ||||
| 
 | ||||
| @task | ||||
| def clean_oltpbench_results(): | ||||
|     # remove oltpbench result files | ||||
|     local('rm -f {}/results/*'.format(dconf.OLTPBENCH_HOME)) | ||||
| 
 | ||||
| 
 | ||||
| @task | ||||
| def loop(i): | ||||
|     i = int(i) | ||||
|  | @ -642,6 +648,7 @@ def loop(i): | |||
|     # add user defined metrics | ||||
|     if dconf.ENABLE_UDM is True: | ||||
|         add_udm() | ||||
|         clean_oltpbench_results() | ||||
| 
 | ||||
|     # save result | ||||
|     result_timestamp = save_dbms_result() | ||||
|  | @ -687,7 +694,6 @@ def run_loops(max_iter=10): | |||
| 
 | ||||
|         # reload database periodically | ||||
|         if dconf.RELOAD_INTERVAL > 0: | ||||
|             # wait 5 secs after restarting databases | ||||
|             time.sleep(15) | ||||
|             if i % dconf.RELOAD_INTERVAL == 0: | ||||
|                 if i == 0 and dump is False: | ||||
|  |  | |||
|  | @ -4,8 +4,9 @@ import copy | |||
| import argparse | ||||
| import os | ||||
| sys.path.append("../../../") | ||||
| sys.path.append("../") | ||||
| from server.website.website.types import VarType   # pylint: disable=import-error,wrong-import-position,line-too-long  # noqa: E402 | ||||
| 
 | ||||
| from driver_config import OLTPBENCH_HOME  # pylint: disable=import-error,wrong-import-position  # noqa: E402 | ||||
| 
 | ||||
| parser = argparse.ArgumentParser()  # pylint: disable=invalid-name | ||||
| parser.add_argument("result_dir") | ||||
|  | @ -37,7 +38,8 @@ USER_DEINFED_METRICS = { | |||
| 
 | ||||
| 
 | ||||
| def get_udm(): | ||||
|     with open('../oltpbench.summary', 'r') as f: | ||||
|     summary_path = OLTPBENCH_HOME + '/results/outputfile.summary' | ||||
|     with open(summary_path, 'r') as f: | ||||
|         info = json.load(f) | ||||
|     metrics = copy.deepcopy(USER_DEINFED_METRICS) | ||||
|     if HAS_TARGET_OBJECTIVE is False: | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue