Ejemplo n.º 1
0
 def __init__(self):
     self.__log = logging.getLogger("carbid")
     #
     self.__prefix = "carbid"
     self.cr = CarbonReporter("172.16.49.42", 2003)
     self.record_task = LoopingCall(self.recordMetrics)
     self.sensors = []
     self.sensors = sensorsDiscover()
     #
     self.HOSTNAME = socket.gethostname().replace('.','_')
Ejemplo n.º 2
0
class Application(object):
    def __init__(self):
        self.__log = logging.getLogger("carbid")
        #
        self.__prefix = "carbid"
        self.cr = CarbonReporter("172.16.49.42", 2003)
        self.record_task = LoopingCall(self.recordMetrics)
        self.sensors = []
        self.sensors = sensorsDiscover()
        #
        self.HOSTNAME = socket.gethostname().replace('.','_')

    def dispose(self):
        self.record_task.stop()

    def run(self):
        self.record_task.start(15, False)
        reactor.run()

    def record(self, metric, value):
        #
        path = []
        path.append(self.__prefix)
        path.append(self.HOSTNAME)
        path.append(metric)
        #
        fullMetric = ".".join(path)
        #
        self.__log.debug("Report {name} => {value}".format(name=fullMetric, value=value))
        #
        self.cr.sendDatapoint(fullMetric, value)

    def recordMetrics(self):
      for sensor in self.sensors:
          sensor_name = sensor.name
          sensor_value = sensor.sense()
          #
          self.record(sensor_name, sensor_value)