X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=utils%2Fdashboard%2Fprocess_data.py;h=4be0917899d0c77942b3d1787875e01e55ef5e6d;hb=07b553641c1f5991191eb4efcb238cd819f7f6a8;hp=7a7144f881c00dd2496fa01254530c9aeed47e19;hpb=ec9493c90982b71d3c09212b152085826012acc6;p=bottlenecks.git diff --git a/utils/dashboard/process_data.py b/utils/dashboard/process_data.py index 7a7144f8..4be09178 100644 --- a/utils/dashboard/process_data.py +++ b/utils/dashboard/process_data.py @@ -8,24 +8,72 @@ ############################################################################## -import subprocess as subp import sys -from collector import Collector +from rubbos_collector import RubbosCollector from uploader import Uploader -#process data -if len(sys.argv)!=3: - print "Wrong arguments, please input 2 parameters, 1st as raw data path; "\ - "2nd as config yaml!!" - exit (1) -data_home = sys.argv[1] -conf = sys.argv[2] +def printUsage(): + print ("Usage: python process_data.py required_params(**)" + " optional_params([])") + print " ** -i|--input input_data_dir" + print " ** -s|--suite suite_name" + print " ** -c|--conf conf_file" + print " [] -o|--output output_file" + print " [] -u|--upload yes|no" -#1collect result -result = Collector().collect_data(data_home) -print "Result collected:\n%s" % result -#2upload result -Uploader(conf).upload_result("rubbos", result) +def process(input_dir, suite_name): + result = dict() + if suite_name == "rubbos": + result = RubbosCollector().collect_data(input_dir) + return result + +def writeResult(output_file, result): + f = open(output_file, "w") + if isinstance(result, list): + for elem in result: + f.write(str(elem) + "\n") + f.close() + + +def uploadResult(conf, suite_name, result): + Uploader(conf).upload_result(suite_name, result) + + +def main(): + if len(sys.argv) < 7 or len(sys.argv) % 2 == 0: + printUsage() + exit(1) + i = 1 + params = dict() + while (i < len(sys.argv)): + if sys.argv[i] == "-i" or sys.argv[i] == "--input": + params["input"] = sys.argv[i + 1] + if sys.argv[i] == "-s" or sys.argv[i] == "--suite": + params["suite"] = sys.argv[i + 1] + if sys.argv[i] == "-c" or sys.argv[i] == "--conf": + params["conf"] = sys.argv[i + 1] + if sys.argv[i] == "-o" or sys.argv[i] == "--output": + params["output"] = sys.argv[i + 1] + if sys.argv[i] == "-u" or sys.argv[i] == "--upload": + params["upload"] = sys.argv[i + 1] + i = i + 2 + if not("input" in params and "suite" in params and "conf" in params): + print "Lack some required parameters." + exit(1) + + result = process(params["input"], params["suite"]) + print "Results:" + for elem in result: + print elem + + if "output" in params: + writeResult(params["output"], result) + + if "upload" in params and params["upload"].lower() == "yes": + uploadResult(params["conf"], params["suite"], result) + +if __name__ == "__main__": + main()