Ejemplo n.º 1
0
    def test_data_collector(self):
        scriptname = "foo"
        hostname = "bar"
        schema = "http"
        tags = {"baz": "qux"}
        collector = DataCollector(scriptname, hostname, schema, tags)
        assert collector.enabled is True
        assert collector.timers == set()
        assert collector.scriptname == scriptname
        assert collector.hostname == hostname
        assert collector.schema == schema
        assert collector.tags == tags
        assert collector.dt_start is None
        assert collector.started is False
        assert collector.elapsed is None
        with self.assertRaises(RuntimeError):
            collector.stop()

        collector.start()
        assert collector.started is True
        assert collector.elapsed is None
        with self.assertRaises(RuntimeError):
            collector.start()
        collector.stop()
        assert collector.elapsed is not None
Ejemplo n.º 2
0
    def push(self):
        """Pushes current context into local stack.
        """

        self.pynba = DataCollector(self._scriptname,
                                   self._hostname,
                                   self._schema,
                                   self.config.get('tags', {}))
        self.pynba.start()
        LOCAL_STACK.pynba = self.pynba
        self.resources = resource.getrusage(resource.RUSAGE_SELF)
Ejemplo n.º 3
0
    def test_linked_timer(self):
        collector = DataCollector()
        timer = collector.timer(foo='bar')

        assert timer in collector.timers
        cloned = timer.clone()
        assert cloned in collector.timers

        timer.delete()
        assert timer not in collector.timers
        assert cloned in collector.timers

        cloned.delete()
        assert cloned not in collector.timers

        timer2 = collector.timer(foo='bar')
        assert timer2 in collector.timers
        collector.flush()
        assert timer2 not in collector.timers
Ejemplo n.º 4
0
    def __init__(self,
                 address,
                 hostname=None,
                 scriptname=None,
                 servername=None,
                 reporter=None,
                 tags=None,
                 autostart=True):
        self.reporter = reporter or self.default_reporter(address)
        self.collector = DataCollector(tags=tags or {})
        self.hostname = hostname or socket.gethostname()
        self.scriptname = scriptname or " ".join(sys.argv)
        self.servername = servername or socket.gethostname()
        self.resources = None
        self.ru_utime = None
        self.ru_stime = None

        if autostart:
            self.start()
Ejemplo n.º 5
0
 def test_collector(self):
     DataCollector().flush()
     assert self.handler.messages == {'debug': ['flush']}