summaryrefslogtreecommitdiffstats
path: root/testsuites/posca/testcase_script
diff options
context:
space:
mode:
authorliyin <liyin11@huawei.com>2017-02-14 10:42:07 +0800
committerliyin <liyin11@huawei.com>2017-02-14 10:49:54 +0800
commitbe6453bb485c720278c5f6a45a5194391e454ce4 (patch)
tree2cec6d1d42c07de5cefc258399150557f1dcb8d7 /testsuites/posca/testcase_script
parent9c22cd768a161ec0eab4da24f40a4c626275c746 (diff)
Dashboard and output file code reconstruction
JIRA:BOTTLENECK-134 Those code will change the way to create dashboard. And dashboard as a spare function to show data. And we add log system to dashboard creation. The output file is created anyway. Change-Id: Ia3c4d5a8ada27005702e3eed08757f61610da22f Signed-off-by: liyin <liyin11@huawei.com>
Diffstat (limited to 'testsuites/posca/testcase_script')
-rw-r--r--testsuites/posca/testcase_script/posca_factor_system_bandwidth.py41
1 files changed, 34 insertions, 7 deletions
diff --git a/testsuites/posca/testcase_script/posca_factor_system_bandwidth.py b/testsuites/posca/testcase_script/posca_factor_system_bandwidth.py
index 4819fb45..01c5dab5 100644
--- a/testsuites/posca/testcase_script/posca_factor_system_bandwidth.py
+++ b/testsuites/posca/testcase_script/posca_factor_system_bandwidth.py
@@ -17,6 +17,7 @@ import time
import utils.logger as log
import utils.infra_setup.runner.yardstick as Runner
from utils.parser import Parser as conf_parser
+import testsuites.posca.testcase_dashboard.system_bandwidth as DashBoard
# --------------------------------------------------
# logging configuration
# --------------------------------------------------
@@ -31,12 +32,23 @@ test_dict = {
"testcase": "netperf_bottlenecks"
}
}
+testfile = os.path.basename(__file__)
+testcase, file_format = os.path.splitext(testfile)
def env_pre(con_dic):
Runner.Create_Incluxdb(con_dic['runner_config'])
+def config_to_result(test_config, test_result):
+ testdata = {}
+ test_result["throughput"] = float(test_result["throughput"])
+ test_result.update(test_config)
+ testdata["data_body"] = test_result
+ testdata["testcase"] = testcase
+ return testdata
+
+
def do_test(test_config, con_dic):
test_dict['args']['opts']['task-args'] = test_config
Task_id = Runner.Send_Data(test_dict, con_dic['runner_config'])
@@ -47,7 +59,12 @@ def do_test(test_config, con_dic):
Data_Reply[con_dic['runner_config']['yardstick_testcase']][0]
except IndexError:
test_date = do_test(test_config, con_dic)
- return test_date
+
+ save_data = config_to_result(test_config, test_date)
+ if con_dic['runner_config']['dashboard'] == 'y':
+ DashBoard.dashboard_send_data(con_dic['runner_config'], save_data)
+
+ return save_data["data_body"]
def run(con_dic):
@@ -58,17 +75,26 @@ def run(con_dic):
data["tx_pkt_sizes"] = tx_pkt_a
con_dic["result_file"] = os.path.dirname(
os.path.abspath(__file__)) + "/test_case/result"
- date_id = 0
cur_role_result = 1
pre_role_result = 1
pre_reply = {}
data_return = {}
data_max = {}
data_return["throughput"] = 1
+
if con_dic["runner_config"]["yardstick_test_ip"] is None:
con_dic["runner_config"]["yardstick_test_ip"] =\
conf_parser.ip_parser("yardstick_test_ip")
+
env_pre(con_dic)
+
+ if con_dic["runner_config"]["dashboard"] == 'y':
+ if con_dic["runner_config"]["dashboard_ip"] is None:
+ con_dic["runner_config"]["dashboard_ip"] =\
+ conf_parser.ip_parser("dashboard")
+ LOG.info("Create Dashboard data")
+ DashBoard.dashboard_system_bandwidth(con_dic["runner_config"])
+
for test_x in data["tx_pkt_sizes"]:
data_max["throughput"] = 1
bandwidth_tmp = 1
@@ -78,22 +104,23 @@ def run(con_dic):
"rx_msg_size": float(test_y),
"test_time": con_dic['test_config']['test_time']
}
- date_id = date_id + 1
data_reply = do_test(test_config, con_dic)
- bandwidth = float(data_reply["throughput"])
+ conf_parser.result_to_file(data_reply, con_dic["out_file"])
+ bandwidth = data_reply["throughput"]
if (data_max["throughput"] < bandwidth):
data_max = data_reply
if (abs(bandwidth_tmp - bandwidth) / bandwidth_tmp < 0.025):
- print(pre_reply)
+ LOG.info("this group of data has reached top output")
break
else:
pre_reply = data_reply
bandwidth_tmp = bandwidth
cur_role_result = float(pre_reply["throughput"])
if (abs(pre_role_result - cur_role_result) / pre_role_result < 0.025):
- print("date_id is %d,package return at line 111\n" % date_id)
+ LOG.info("The performance increases slowly")
if data_return["throughput"] < data_max["throughput"]:
data_return = data_max
pre_role_result = cur_role_result
- print("date_id is %d,id return success\n" % date_id)
+ LOG.info("Find bottlenecks of this config")
+ LOG.info("The max data is %d", data_return["throughput"])
return data_return