def start_experiment(self):
if self.graph_only:
return
# start pre-configuration commands
for vnf_name, cmd_list in self.pre_config_commands.items():
for cmd in cmd_list:
self.emu.exec(vnf_name=vnf_name, cmd=cmd)
# start overload detection
#if len(self.overload_vnf_list) > 0 :
self.overload_monitor.start(self.emu)
# start the profling loop
self.profiling_thread.start()
if self.no_display == False:
# nicely print values
rows, columns = os.popen('stty size', 'r').read().split()
# Set the Terminal window size larger than its default
# to make sure the profiling results are fitting
if int(rows) < 40 or int(columns) < 130:
sys.stdout.write("\x1b[8;{rows};{cols}t".format(rows=40, cols=130))
# print something to reset terminal
print("")
n = os.system("clear")
# Add a delay to allow settings to settle...
time.sleep(1)
curses.wrapper(self.display_loop)
else:
# wait for profiling thread to end
self.profiling_thread.join()
# stop overload detection
self.overload_monitor.stop(self.emu)
# write results to file
self.write_results_to_file(self.results_file)
#finalize the calculation of the performance profile
self.profile_calc.finalize_graph(show_final=self.no_display)
评论列表
文章目录