Esempio n. 1
0
 def setup(self):
     """
     Initialize Handler
     """
     FormulaActor.setup(self)
     self.add_handler(PoisonPillMessage, PoisonPillMessageHandler(self.state))
     self.add_handler(Report, ReportHandler(self.state))
Esempio n. 2
0
 def setup(self):
     """
     Setup the messages handlers.
     """
     FormulaActor.setup(self)
     self.add_handler(PoisonPillMessage,
                      PoisonPillMessageHandler(self.state))
     self.add_handler(HWPCReport, ReportHandler(self.state))
Esempio n. 3
0
 def __init__(self, name: str, pushers: Dict[str, PusherActor],
              config: SmartWattsFormulaConfig):
     """
     Initialize new SmartWatts formula actor.
     :param name: Name of the actor
     :param pushers: Pusher actors
     :param config: Configuration of the formula
     """
     FormulaActor.__init__(self, name, pushers, logging.WARNING)
     self.state: SmartWattsFormulaState = SmartWattsFormulaState(
         self, pushers, config)
Esempio n. 4
0
 def __init__(self,
              name,
              pushers,
              nb_reports_max,
              exception,
              level_logger=logging.WARNING,
              timeout=None):
     FormulaActor.__init__(self, name, pushers, level_logger, timeout)
     self.state = CrashState(self, pushers, self.formula_metadata,
                             nb_reports_max, exception)
     self.low_exception = [CrashException]
Esempio n. 5
0
    def __init__(self, name, pushers, level_logger=logging.WARNING, timeout=None):
        """
        Initialize a new Dummy Formula actor.
        :param name: Actor name
        :param pusher_actors: Pusher actors
        :param level_logger: Level of the logger
        :param timeout: Time in millisecond to wait for a message before calling the timeout handler
        """
        FormulaActor.__init__(self, name, pushers, level_logger, timeout)

        #: (powerapi.State): Basic state of the Formula.
        self.state = FormulaState(self, pushers)
Esempio n. 6
0
def test_create_a_FormulaActor_with_name_that_contains_sensor_name_and_socket_id_must_add_sensor_name_and_socket_id_in_FormulaState_metadata(
):
    actor = FormulaActor(
        '(\'DISPATCHER_NAME\',\'SENSOR_NAME\',\'0\')',
        [],
    )
    assert actor.state.metadata == {'sensor': 'SENSOR_NAME', 'socket': 0}
Esempio n. 7
0
def test_create_a_FormulaActor_with_empty_name_must_add_no_value_in_FormulaState_metadata(
):
    actor = FormulaActor(
        '(,)',
        [],
    )
    assert actor.state.metadata == {}
Esempio n. 8
0
    def __init__(self, name, pushers, config):
        """
        Initialize new SmartWatts formula actor.
        :param name: Name of the actor
        :param pushers: Pusher actors
        :param config: Configuration of the formula
        """
        FormulaActor.__init__(self, name, pushers, logging.WARNING)
        self.state = SmartWattsFormulaState(self, pushers,
                                            self.formula_metadata, config)

        self.low_exception.append(ValueError)
        self.low_exception.append(ZeroDivisionError)
        self.low_exception.append(TypeError)
        self.low_exception.append(KeyError)
        self.low_exception.append(IndexError)
Esempio n. 9
0
    def __init__(self,
                 name,
                 pusher_actors,
                 level_logger=logging.WARNING,
                 timeout=None):
        """
        :param str name: Actor name
        :param powerapi.PusherActor pusher_actors: Pusher actors whom send results
        :param int level_logger: Define logger level
        :param bool timeout: Time in millisecond to wait for a message before called timeout_handler
        """
        FormulaActor.__init__(self, name, pusher_actors, level_logger, timeout)

        formula_id = reduce(
            lambda acc, x: acc +
            (re.search(r'^\(? ?\'(.*)\'\)?', x).group(1), ), name.split(','),
            ())

        #: (powerapi.State): Basic state of the Formula.
        self.state = RAPLFormulaState(self, pusher_actors, formula_id)
Esempio n. 10
0
 def setup(self):
     FormulaActor.setup(self)
     self.add_handler(PoisonPillMessage,
                      FormulaPoisonPillMessageHandler(self.state))
     self.add_handler(Report, ReportHandler(self.state))
Esempio n. 11
0
 def __init__(self):
     FormulaActor.__init__(self, FormulaStartMessage)