Exemple #1
0
def signal_handler(signal, frame):
    print '\n----starting pyretic shutdown------'
    # for thread in threading.enumerate():
    #     print (thread,thread.isAlive())
    if of_client:
        print "attempting to kill of_client"
        of_client.kill()
    # print "attempting get output of of_client:"
    # output = of_client.communicate()[0]
    # print output
    print "pyretic.py done"
    # Print profile information if enabled
    if enable_profile:
        funcstats = yappi.get_func_stats()
        funcstats.sort("tsub")
        funcstats.print_all(
            columns={
                0: ("name", 38),
                1: ("ncall", 8),
                2: ("tsub", 8),
                3: ("ttot", 8),
                4: ("tavg", 8)
            })

    global eval_profile_enabled
    if eval_profile_enabled:
        Stat.stop()

    sys.exit(0)
Exemple #2
0
    def __init__(self, args, kwargs):

        self.add_calls = 0
        self.results_folder = args.results_folder

        self.disjoint_enabled = args.disjoint_enabled
        self.default_enabled = args.default_enabled
        self.integrate_enabled = args.integrate_enabled
        self.multitable_enabled = args.multitable_enabled
        self.ragel_enabled = args.ragel_enabled
        self.partition_enabled = args.partition_enabled
        self.switch_cnt = args.switch_cnt
        self.cache_enabled = args.cache_enabled
        self.edge_contraction_enabled = args.edge_contraction_enabled
        self.preddecomp_enabled = args.preddecomp_enabled
        self.use_pyretic = args.use_pyretic
        if args.write_log:
            self.write_log = args.write_log
        else:
            self.write_log = os.path.join('pyretic/evaluations',
                                          self.results_folder, 'rt_log.txt')
        self.use_fdd = args.use_fdd

        opt_flags = (self.disjoint_enabled, self.default_enabled,
                     self.integrate_enabled, self.multitable_enabled,
                     self.ragel_enabled, self.partition_enabled,
                     self.switch_cnt, self.cache_enabled,
                     self.edge_contraction_enabled, self.preddecomp_enabled)
        """ Start the frenetic compiler-server """
        netkat_out = None
        if not self.use_pyretic:
            netkat_cmd = "bash ~/pyretic/start-frenetic.sh"
            try:
                netkat_out = subprocess.Popen(netkat_cmd,
                                              shell=True,
                                              stderr=subprocess.STDOUT)
            except Exception as e:
                print "Could not start frenetic server successfully."
                print e
                sys.exit(1)

        Stat.start(self.results_folder,
                   (self.disjoint_enabled, self.integrate_enabled,
                    self.multitable_enabled, self.ragel_enabled))
        self.runtime = Runtime(None,
                               eval_path.main,
                               eval_path.path_main,
                               kwargs,
                               opt_flags=opt_flags,
                               mode='proactive0',
                               use_pyretic=self.use_pyretic,
                               use_fdd=self.use_fdd,
                               offline=True,
                               write_log=self.write_log,
                               restart_frenetic=False)
        Stat.stop()
        if netkat_out:
            netkat_out.kill()
        self.kill_netkat_server()
Exemple #3
0
 def add(self, **aparams):
     self.path_policy = eval_path.path_main(**aparams)
     
     self.add_calls += 1
     results_folder = "%s_%d" % (self.results_folder[:-1], self.add_calls)
     
     Stat.start(results_folder, (self.disjoint_enabled, self.integrate_enabled, self.multitable_enabled, self.ragel_enabled))
     
     self.recompile_paths()
     self.runtime.get_subpolicy_compile_stats(eval_path.path_main)
     
     Stat.stop()
 def add(self, **aparams):
     self.path_policy = eval_path.path_main(**aparams)
     
     self.add_calls += 1
     results_folder = "%s_%d" % (self.results_folder[:-1], self.add_calls)
     
     Stat.start(results_folder, (self.disjoint_enabled, self.integrate_enabled, self.multitable_enabled, self.ragel_enabled))
     
     self.recompile_paths()
     self.runtime.get_subpolicy_compile_stats(eval_path.path_main)
     
     Stat.stop()
Exemple #5
0
    def __init__(self, args, kwargs):
        
        self.add_calls = 0       
        self.results_folder = args.results_folder

        self.disjoint_enabled = args.disjoint_enabled
        self.default_enabled = args.default_enabled
        self.integrate_enabled = args.integrate_enabled
        self.multitable_enabled = args.multitable_enabled
        self.ragel_enabled = args.ragel_enabled
        self.partition_enabled = args.partition_enabled
        self.switch_cnt = args.switch_cnt
        self.cache_enabled = args.cache_enabled
        self.edge_contraction_enabled = args.edge_contraction_enabled
        self.preddecomp_enabled = args.preddecomp_enabled
        self.use_pyretic = args.use_pyretic 
        if args.write_log:
            self.write_log = args.write_log
        else:
            self.write_log = os.path.join('pyretic/evaluations',
                                          self.results_folder, 'rt_log.txt')
        self.use_fdd = args.use_fdd
        
        opt_flags = (self.disjoint_enabled, self.default_enabled, 
                     self.integrate_enabled, self.multitable_enabled,
                     self.ragel_enabled, self.partition_enabled, 
                     self.switch_cnt,
                     self.cache_enabled, self.edge_contraction_enabled,
                     self.preddecomp_enabled
                     )
        """ Start the frenetic compiler-server """
        netkat_out = None
        if not self.use_pyretic:
            netkat_cmd = "bash ~/pyretic/start-frenetic.sh"
            try:
                netkat_out = subprocess.Popen(netkat_cmd, shell=True,
                                          stderr=subprocess.STDOUT)
            except Exception as e:
                print "Could not start frenetic server successfully."
                print e
                sys.exit(1)
        
        Stat.start(self.results_folder, (self.disjoint_enabled, self.integrate_enabled, self.multitable_enabled, self.ragel_enabled))
        self.runtime = Runtime(None, eval_path.main, eval_path.path_main, kwargs,
                               opt_flags = opt_flags, mode = 'proactive0',
                               use_pyretic = self.use_pyretic, use_fdd = self.use_fdd,
                               offline=True,
                               write_log = self.write_log, restart_frenetic = False)
        Stat.stop()
        if netkat_out:
            netkat_out.kill()
        self.kill_netkat_server()
    def __init__(self, args, kwargs):
        
        self.add_calls = 0       
        self.results_folder = args.results_folder

        self.disjoint_enabled = args.disjoint_enabled
        self.default_enabled = args.default_enabled
        self.integrate_enabled = args.integrate_enabled
        self.multitable_enabled = args.multitable_enabled
        self.ragel_enabled = args.ragel_enabled
        self.partition_enabled = args.partition_enabled
        self.switch_cnt = args.switch_cnt
        self.cache_enabled = args.cache_enabled
        self.edge_contraction_enabled = args.edge_contraction_enabled
        self.use_pyretic = args.use_pyretic 
        
        opt_flags = (self.disjoint_enabled, self.default_enabled, 
                     self.integrate_enabled, self.multitable_enabled,
                     self.ragel_enabled, self.partition_enabled, 
                     self.switch_cnt,
                     self.cache_enabled, self.edge_contraction_enabled,
                     )
        """ Start the frenetic compiler-server """
        if not self.use_pyretic:
            netkat_cmd = "bash start-frenetic.sh"
            try:
                output = subprocess.Popen(netkat_cmd, shell=True,
                                          stderr=subprocess.STDOUT)
            except Exception as e:
                print "Could not start frenetic server successfully."
                print e
                sys.exit(1)
        
        Stat.start(self.results_folder, (self.disjoint_enabled, self.integrate_enabled, self.multitable_enabled, self.ragel_enabled))
        self.runtime = Runtime(None, eval_path.main, eval_path.path_main, kwargs,
                    opt_flags = opt_flags, mode = 'proactive0', 
                    use_pyretic = self.use_pyretic, offline=True)
        
        Stat.stop()
Exemple #7
0
def signal_handler(signal, frame):
    print '\n----starting pyretic shutdown------'
    # for thread in threading.enumerate():
    #     print (thread,thread.isAlive())
    if of_client:
        print "attempting to kill of_client"
        of_client.kill()
    # print "attempting get output of of_client:"
    # output = of_client.communicate()[0]
    # print output
    print "pyretic.py done"
    # Print profile information if enabled
    if enable_profile:
        funcstats = yappi.get_func_stats()
        funcstats.sort("tsub")
        funcstats.print_all(columns={0:("name",38), 1:("ncall",8), 2:("tsub",8),
                                     3:("ttot",8), 4:("tavg", 8)})
    
    global eval_profile_enabled
    if eval_profile_enabled:
        Stat.stop()

    sys.exit(0)
Exemple #8
0
        logging_queue,
        log_level,
    ))
    log_process.daemon = True
    log_process.start()

    # Set default handler.
    logger = logging.getLogger()
    handler = util.QueueStreamHandler(logging_queue)
    logger.addHandler(handler)
    logger.setLevel(log_level)

    if options.eval_result_path:
        global eval_profile_enabled
        eval_profile_enabled = True
        Stat.start(options.eval_result_path)
    """ Start the frenetic compiler-server """
    if not options.use_pyretic and options.mode == 'proactive0':
        netkat_cmd = "bash start-frenetic.sh"
        try:
            output = subprocess.Popen(netkat_cmd,
                                      shell=True,
                                      stderr=subprocess.STDOUT)
        except Exception as e:
            print "Could not start frenetic server successfully."
            print e
            sys.exit(1)
    """ Start the runtime. """
    opt_flags_arg = (options.disjoint_enabled, options.default_enabled,
                     options.integrate_enabled, options.multitable_enabled,
                     options.ragel_enabled, options.partition_enabled,
Exemple #9
0
            logger.handle(to_log)
    log_level = verbosity_map.get(options.verbosity, logging.DEBUG)
    log_process = Process(target=log_writer,args=(logging_queue, log_level,))
    log_process.daemon = True
    log_process.start()

    # Set default handler.
    logger = logging.getLogger()
    handler = util.QueueStreamHandler(logging_queue)
    logger.addHandler(handler)
    logger.setLevel(log_level)

    if options.eval_result_path:
        global eval_profile_enabled
        eval_profile_enabled = True
        Stat.start(options.eval_result_path)

    """ Start the frenetic compiler-server """
    if not options.use_pyretic and options.mode == 'proactive0':
        netkat_cmd = "bash start-frenetic.sh"
        try:
            output = subprocess.Popen(netkat_cmd, shell=True,
                                      stderr=subprocess.STDOUT)
        except Exception as e:
            print "Could not start frenetic server successfully."
            print e
            sys.exit(1)

    """ Start the runtime. """
    opt_flags_arg = (options.disjoint_enabled, options.default_enabled,
                     options.integrate_enabled, options.multitable_enabled,