diff --git a/component/DevkitDistribute/devkit_distribute/bin/entrance.py b/component/DevkitDistribute/devkit_distribute/bin/entrance.py index 1d31eaecdcbce46d27b4274ae2c64a8db5442065..26aedf18bfe85e68d4606bba752587bcd381409d 100644 --- a/component/DevkitDistribute/devkit_distribute/bin/entrance.py +++ b/component/DevkitDistribute/devkit_distribute/bin/entrance.py @@ -65,10 +65,13 @@ class JmeterCommand: "-l /home/jmeter/result.csv -e -o /home/jmeter/empty_dir/") def __check_param_resource(self): + if not self.csv_file: + raise Exception(f"the -l parameter of the jmeter command is not specified") if os.path.exists(self.csv_file): raise Exception(f"the file {self.csv_file} is exist") - if os.path.exists(self.result_dir) and os.path.getsize(self.result_dir) > 0: - raise Exception(f"the directory {self.result_dir} is exist or not empty") + if self.result_dir: + if os.path.exists(self.result_dir) and os.path.getsize(self.result_dir) > 0: + raise Exception(f"the directory {self.result_dir} is exist or not empty") if not os.path.exists(self.jmx_file): raise Exception(f"the jmx file {self.jmx_file} is not exist") @@ -301,7 +304,7 @@ def main(): help="the machine ips on which the java application is running ") parser.add_argument("-u", "--user", required=True, dest="user", default="root", help="the user of the ips") - parser.add_argument("-P", "--port", dest="port", type=int, default=22, + parser.add_argument("--port", dest="port", type=int, default=22, help="the ssh port of the ips") parser.add_argument("-f", "--pkey-file", dest="pkey_file", help="the file path of the private key") @@ -309,21 +312,21 @@ def main(): help="the content of the private key") parser.add_argument("-w", "--pkey-password", dest="pkey_password", help="the private key password") - parser.add_argument("--devkit-ip", dest="devkit_ip", required=True, + parser.add_argument("-D", "--devkit-ip", dest="devkit_ip", required=True, help="the ip of the kunpeng DevKit server") - parser.add_argument("--devkit-port", dest="devkit_port", default="8086", + parser.add_argument("-P", "--devkit-port", dest="devkit_port", default="8086", help="the port of the kunpeng DevKit server") - parser.add_argument("--devkit-user", dest="devkit_user", default="devadmin", + parser.add_argument("-U", "--devkit-user", dest="devkit_user", default="devadmin", help="the user of the kunpeng DevKit server") - parser.add_argument("--devkit-password", dest="devkit_password", default="admin100", + parser.add_argument("-W", "--devkit-password", dest="devkit_password", default="admin100", help="the password of the user of the kunpeng DevKit server") parser.add_argument("-a", "--app", required=True, dest="applications", help="the process names that can be multiple, each separated by a comma") parser.add_argument("-d", "--duration", required=True, dest="duration", type=int, help="the time of the sample") - parser.add_argument("--git-path", required=True, dest="git_path", type=str, + parser.add_argument("-g", "--git-path", dest="git_path", type=str, default="", help="git path") - parser.add_argument("--jmeter-command", dest="jmeter_command", type=str, + parser.add_argument("-j", "--jmeter-command", dest="jmeter_command", type=str, help="the command that start jmeter tests") parser.set_defaults(root_path=obtain_root_path(ROOT_PATH)) parser.set_defaults(password="") diff --git a/component/DevkitDistribute/devkit_distribute/bin/report/report.py b/component/DevkitDistribute/devkit_distribute/bin/report/report.py index 0f451c84cf90e087d0bfb35692f366e4d107e9c9..ee5436553502a587374791ea1c42312de5e47c7b 100644 --- a/component/DevkitDistribute/devkit_distribute/bin/report/report.py +++ b/component/DevkitDistribute/devkit_distribute/bin/report/report.py @@ -39,17 +39,21 @@ class Report: def report(self): html_lines = self.read_template() - git_log = self.generate_git_log() devkit_report_json = self.generate_devkit_html() - + valid_page = list() + valid_page.append("'report'") html_lines[DEVKIT_REPORT_DATA_LINE_NUM] = "report_tb_data: {}".format(devkit_report_json) - html_lines[GIT_REPORT_DATA_LINE_NUM] = "git_tb_data: {},".format(git_log) if self.jmeter_report_path: + valid_page.append("'trend'") html_lines[REPORT_VALID_LINE] = "const valid_pages = ['report', 'trend', 'git'];\n" jmeter_report_data = self.jmeter_report_to_html() html_lines[JMETER_REPORT_DATA_HEADER_LEN] = "trend_tb_cols: {},\n".format(self.jmeter_report_data_cols) html_lines[JMETER_REPORT_DATA_LINE_NUM] = "trend_tb_data: {},\n".format(jmeter_report_data) - + if self.git_path: + valid_page.append("'git'") + git_log = self.generate_git_log() + html_lines[GIT_REPORT_DATA_LINE_NUM] = "git_tb_data: {},".format(git_log) + html_lines[REPORT_VALID_LINE] = "const valid_pages = [{}];\n".format(",".join(valid_page)) final_report = os.path.join(self.report_dir, "devkit_performance_report.html") with open(final_report, "w") as file: file.writelines(html_lines) diff --git a/component/DevkitDistribute/devkit_distribute/script/start.sh b/component/DevkitDistribute/devkit_distribute/script/start.sh index 6d08ab9a15335ce78ec0f5f89bc18af0d620ae0a..783b469a45516ab90b122bccd9fab478d228ae10 100644 --- a/component/DevkitDistribute/devkit_distribute/script/start.sh +++ b/component/DevkitDistribute/devkit_distribute/script/start.sh @@ -3,7 +3,7 @@ # Copyright: Copyright (c) Huawei Technologies Co., Ltd. All rights reserved. # shellcheck disable=SC2154 -"${root_path}/bin/entrance" -i "${ips_list}" -u "${user}" -P "${port}" -f "${pkey_file}" --duration "${duration}" --app "${applications}" \ +"${root_path}/bin/entrance" -i "${ips_list}" -u "${user}" --port "${port}" -f "${pkey_file}" --duration "${duration}" --app "${applications}" \ --devkit-ip "${devkit_ip}" --devkit-port "${devkit_port}" --devkit-password "${devkit_password}" --devkit-user "${devkit_user}" \ --pkey-password "${pkey_password}" --git-path "${git_path}" --jmeter-command "${jmeter_command}" echo $? > "${root_path}/data/result" \ No newline at end of file