Example #1
0
 def report(cls):
     event = ApplicationEvent()
     event.event_value = cls.data()
     event.event_type = 'scout.metadata'
     event.timestamp = datetime.utcnow()
     event.source = 'Pid: ' + str(getpid())
     AgentContext.socket().send(event)
Example #2
0
    def run_samplers(cls):
        logger.debug("Starting Samplers. Acquiring samplers lock.")
        try:
            if cls._thread_lock.acquire(True):
                logger.debug("Acquired samplers lock.")
                instances = [Cpu(), Memory()]

                while True:
                    for instance in instances:
                        event = ApplicationEvent()
                        event.event_value = instance.run()
                        event.event_type = (instance.metric_type() + "/" +
                                            instance.metric_name())
                        event.timestamp = datetime.utcnow()
                        event.source = "Pid: " + str(getpid())

                        if event.event_value is not None:
                            AgentContext.socket().send(event)
                    sleep(60)
        finally:
            logger.debug("Shutting down samplers thread.")
            cls._thread_lock.release()