def __init__(self, cfg=None): """ Initializes a new Agent. """ # fetch config parameters config = Config(cfg if cfg else 'giraffe.cfg') # configure agent self.timer = False self.tasks = [] self.publisher = publisher.AgentPublisher(self) # add publisher to tasks self.tasks.append(self.publisher) # HOST METERS --------------------------------------------------------- meters = config.items('agent') for (meter, value) in meters: try: if self.HOST_METER.get(meter): self.tasks.append(self.HOST_METER[meter](getattr( self, '_callback_' + meter), int(value))) except ValueError: logging.exception('Host meter %s ommitted due to ValueError: ' '\'%s\' is not of type \'int\'' % (meter, value)) # uptime = config.get('agent', 'host_uptime') # cpu_load = config.get('agent', 'host_cpu_load') # mem_usage = config.get('agent', 'host_memory_usage') # disk_io = config.get('agent', 'host_disk_io') # network_io = config.get('agent', 'host_network_io') # host meter `uptime` # if uptime: # self.tasks.append(Host_UPTIME( # self._callback_host_uptime, # int(uptime))) # host meter `CPU load` # if cpu_load: # self.tasks.append(Host_CPU_Load( # self._callback_host_cpu_load, # int(loadavg))) # host meter `memory` # if mem_usage: # self.tasks.append(Host_MEMORY_Usage( # self._callback_host_memory_usage, # int(mem_usage))) # host meter `network I/O` # if network_io: # self.tasks.append(Host_NETWORK_IO( # self._callback_host_network_io, # int(network_io))) # INSTANCE METERS ----------------------------------------------------- for (meter, value) in meters: try: if self.INST_METER.get(meter): self.tasks.append(self.INST_METER[meter](getattr( self, '_callback_' + meter), int(value))) except ValueError: logging.exception( 'Instance meter %s ommitted due to ValueError: ' '\'%s\' is not of type \'int\'' % (meter, value))
def __init__(self, cfg=None): """ Initializes a new Agent. """ # fetch config parameters config = Config(cfg if cfg else 'giraffe.cfg') # configure agent self.timer = False self.tasks = [] self.publisher = publisher.AgentPublisher(self) # add publisher to tasks self.tasks.append(self.publisher) # HOST METERS --------------------------------------------------------- meters = config.items('agent') for (meter, value) in meters: try: if self.HOST_METER.get(meter): self.tasks.append(self.HOST_METER[meter]( getattr(self, '_callback_' + meter), int(value))) except ValueError: logging.exception('Host meter %s ommitted due to ValueError: ' '\'%s\' is not of type \'int\'' % (meter, value)) # uptime = config.get('agent', 'host_uptime') # cpu_load = config.get('agent', 'host_cpu_load') # mem_usage = config.get('agent', 'host_memory_usage') # disk_io = config.get('agent', 'host_disk_io') # network_io = config.get('agent', 'host_network_io') # host meter `uptime` # if uptime: # self.tasks.append(Host_UPTIME( # self._callback_host_uptime, # int(uptime))) # host meter `CPU load` # if cpu_load: # self.tasks.append(Host_CPU_Load( # self._callback_host_cpu_load, # int(loadavg))) # host meter `memory` # if mem_usage: # self.tasks.append(Host_MEMORY_Usage( # self._callback_host_memory_usage, # int(mem_usage))) # host meter `network I/O` # if network_io: # self.tasks.append(Host_NETWORK_IO( # self._callback_host_network_io, # int(network_io))) # INSTANCE METERS ----------------------------------------------------- for (meter, value) in meters: try: if self.INST_METER.get(meter): self.tasks.append(self.INST_METER[meter]( getattr(self, '_callback_' + meter), int(value))) except ValueError: logging.exception('Instance meter %s ommitted due to ValueError: ' '\'%s\' is not of type \'int\'' % (meter, value))