diff --git a/omniadvisor/src/omniadvisor/service/spark_service/spark_executor.py b/omniadvisor/src/omniadvisor/service/spark_service/spark_executor.py index 62de86f11a2eea5fffb4cf54699f4b78bbb74323..dfcfe386bd48533dba9026f73d88b92fb412bd3a 100644 --- a/omniadvisor/src/omniadvisor/service/spark_service/spark_executor.py +++ b/omniadvisor/src/omniadvisor/service/spark_service/spark_executor.py @@ -93,7 +93,7 @@ class SparkExecutor: match_objs = re.findall(pattern, spark_output, re.MULTILINE) if match_objs: time_taken_list = [float(obj) for obj in match_objs] - total_time_taken = sum(time_taken_list) + total_time_taken = round(sum(time_taken_list), OA_CONF.decimal_digits) global_logger.debug(f'Total time taken is {total_time_taken} seconds') else: global_logger.info('This spark task do not have Time taken message.') diff --git a/omniadvisor/src/omniadvisor/service/spark_service/spark_fetcher.py b/omniadvisor/src/omniadvisor/service/spark_service/spark_fetcher.py index 6868c59b57c8a43697e31c82564f7a936e78f8ca..4c84fc8ffe09f1c9152804b44098af9d13ad6178 100755 --- a/omniadvisor/src/omniadvisor/service/spark_service/spark_fetcher.py +++ b/omniadvisor/src/omniadvisor/service/spark_service/spark_fetcher.py @@ -1,10 +1,10 @@ import json -import re from typing import Any import requests from dateutil import parser +from common.constant import OA_CONF from omniadvisor.utils.logger import global_logger @@ -124,4 +124,4 @@ class SparkFetcher: # 计算时间差 time_diff = max(timestamp_list) - min(timestamp_list) global_logger.debug(f"Total time diff calculate by jobs is {time_diff} seconds") - return time_diff + return round(time_diff, OA_CONF.decimal_digits) diff --git a/omniadvisor/src/server/app/admin.py b/omniadvisor/src/server/app/admin.py index 819ea18c7aa652d1c63d02792fc4c9649d07a3b4..af7a6f4500e24f1f676555a04514ffdcf80ff845 100644 --- a/omniadvisor/src/server/app/admin.py +++ b/omniadvisor/src/server/app/admin.py @@ -21,5 +21,11 @@ class TuningRecordAdmin(admin.ModelAdmin): @admin.register(DatabaseExamRecord) class ExamRecordAdmin(admin.ModelAdmin): - list_display = ('id', 'tuning_record', 'start_time', 'end_time', 'status', 'runtime', 'application_id', 'trace') + list_display = ('id', 'load', 'tuning_record', 'start_time', 'end_time', 'status', 'runtime', 'application_id', 'trace') list_filter = () + + # 增加对Load的显示 + def load(self, model): + return model.tuning_record.load + load.short_description = 'Load' + load.admin_order_field = 'load'