summaryrefslogtreecommitdiff
path: root/client/collectors/collector.py
blob: 743e11b982ff87c2f24d05433bb89f04a4d05e68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

class MultiCollector(object):
    'a collector combining multiple other collectors'

    def __init__(self):
        self._collectors = {}

    def register(self, name, collector):
        self._collectors[name] = collector

    def start(self):
        for name in self._collectors:
            self._collectors[name].start()

    def stop(self):
        for name in self._collectors:
            self._collectors[name].stop()

    def result(self):
        r = {}
        for name in self._collectors:
            r.update({name: self._collectors[name].result()})

        return r