Beispiel #1
0
    def __init__(self, sourceMgr, store, file):
        InputReader.__init__(self, store)
        self.filename = file
        self.lineNo = 0
        self.ids = []
        self.timeParser = None
        self.columnParsers = []

        self.fd = open(self.filename, "rb")
        sampleText = self.fd.read(1024 * 20)
        dialect = csv.Sniffer().sniff(sampleText)
        self.fd.seek(0)

        self.reader = csv.reader(self.fd, dialect)
        if csv.Sniffer().has_header(sampleText):
            self.reader.next()
            self.lineNo += 1

            # read header fields
            lines = sampleText.splitlines()[:2]
            dictReader = csv.DictReader(lines, dialect=dialect)
            dictReader.next()
            for name in dictReader.fieldnames[1:]:
                self.ids.append(sourceMgr.register("%s (%s)" % (name, self.filename)))
            del dictReader
        else:
            self.ids.append(sourceMgr.register(self.filename))

        self.readAvailableData()

        EventMgr.startTimer(100 * 1000, self.onTimer)
Beispiel #2
0
    def __init__ (self, sourceMgr, store, file):
        InputReader.__init__(self, store)
        self.filename = file
        self.lineNo = 0
        self.ids = []
        self.timeParser = None
        self.columnParsers = []

        self.fd = open(self.filename, 'rb')
        sampleText = self.fd.read(1024*20)
        dialect = csv.Sniffer().sniff(sampleText)
        self.fd.seek(0)

        self.reader = csv.reader(self.fd, dialect)
        if csv.Sniffer().has_header(sampleText):
            self.reader.next()
            self.lineNo+=1

            # read header fields
            lines = sampleText.splitlines()[:2]
            dictReader = csv.DictReader(lines, dialect=dialect)
            dictReader.next()
            for name in dictReader.fieldnames[1:]:
                self.ids.append( sourceMgr.register('%s (%s)' % (name, self.filename)) )
            del dictReader
        else:
            self.ids.append( sourceMgr.register(self.filename) )

        self.readAvailableData()

        EventMgr.startTimer(100*1000, self.onTimer)
Beispiel #3
0
    def __init__ (self, sourceMgr, store, function, interval=100*1000, name="test"):
        InputReader.__init__(self, store)

        self.codeObj = compile(function, '<string>', 'eval')
        eval(self.codeObj, None, {'t':0}) # check if supplied code is basically ok

        self.id = sourceMgr.register(name)

        EventMgr.startTimer(interval, self.onTimer)
    def __init__(self, sourceMgr, store, logParser, matches):
        InputReader.__init__(self, store)
        self.matchers = []

        for m in matches:
            expr = m['expr']
            id = sourceMgr.register(expr)
            self.matchers.append((id, expr))

        now = time.time()
        for line in logParser.lines(None, now):
            self._handleLine(line)
    def __init__ (self, sourceMgr, store, logParser, matches):
        InputReader.__init__(self, store)
        self.matchers = []

        for m in matches:
            expr = m['expr']
            id = sourceMgr.register(expr)
            self.matchers.append( (id, expr) )

        now = time.time()
        for line in logParser.lines(None, now):
            self._handleLine(line)
Beispiel #6
0
    def __init__(self,
                 sourceMgr,
                 store,
                 function,
                 interval=100 * 1000,
                 name="test"):
        InputReader.__init__(self, store)

        self.codeObj = compile(function, '<string>', 'eval')
        eval(self.codeObj, None,
             {'t': 0})  # check if supplied code is basically ok

        self.id = sourceMgr.register(name)

        EventMgr.startTimer(interval, self.onTimer)
Beispiel #7
0
    def __init__ (self, sourceMgr, store, interval=200*1000):
        InputReader.__init__(self, store)
        self.lastValues = None

        if not(os.path.isdir('/proc')):
            raise Exception("/proc directory not found")

        # order must match CPU field order in /proc/stat:
        self.ids = []
        self.ids.append( sourceMgr.register('CPU user') )
        self.ids.append( sourceMgr.register('CPU nice') )
        self.ids.append( sourceMgr.register('CPU system') )
        self.ids.append( sourceMgr.register('CPU idle') )

        EventMgr.startTimer(interval, self.onTimer)
Beispiel #8
0
    def __init__(self, sourceMgr, store, interval=200 * 1000):
        InputReader.__init__(self, store)
        self.lastValues = None

        if not (os.path.isdir('/proc')):
            raise Exception("/proc directory not found")

        # order must match CPU field order in /proc/stat:
        self.ids = []
        self.ids.append(sourceMgr.register('CPU user'))
        self.ids.append(sourceMgr.register('CPU nice'))
        self.ids.append(sourceMgr.register('CPU system'))
        self.ids.append(sourceMgr.register('CPU idle'))

        EventMgr.startTimer(interval, self.onTimer)
Beispiel #9
0
    def __init__ (self, sourceMgr, store, if_name, interval=200*1000):
        InputReader.__init__(self, store)
        self.targetIf = if_name

        self.lastData = {}

        if not(os.path.isfile('/proc/net/dev')):
            raise Exception("/proc/net/dev file not found")

        self.ids = {}
        self.ids['rBytes'] = sourceMgr.register(self.targetIf + ' bytes received', unit='bytes')
        self.ids['rPackets'] = sourceMgr.register(self.targetIf + ' packets received', unit='packets')
        self.ids['tBytes'] = sourceMgr.register(self.targetIf + ' bytes transmitted', unit='bytes')
        self.ids['tPackets'] = sourceMgr.register(self.targetIf + ' packets transmitted', unit='packets')

        EventMgr.startTimer(interval, self.onTimer)
Beispiel #10
0
    def __init__ (self, sourceMgr, store):
        InputReader.__init__(self, store)

        cmd = ['sadf']
        output = subprocess.Popen(cmd, stdout=subprocess.PIPE, env={}).communicate()[0]

        fields = {}
        for line in output.splitlines():
            (host, interval, timestamp, dev, name, rawValue) = line.split()
            fullName = '%s-%s' % (dev, name)
            if not(fields.has_key(fullName)):
                id = sourceMgr.register("sysstat (%s)" % fullName)
                fields[fullName] = id
            else:
                id = fields[fullName]

            t = int(timestamp)
            value = float(rawValue)

            self.store.update( (id, t, value) )
Beispiel #11
0
    def __init__(self, sourceMgr, store, if_name, interval=200 * 1000):
        InputReader.__init__(self, store)
        self.targetIf = if_name

        self.lastData = {}

        if not (os.path.isfile('/proc/net/dev')):
            raise Exception("/proc/net/dev file not found")

        self.ids = {}
        self.ids['rBytes'] = sourceMgr.register(self.targetIf +
                                                ' bytes received',
                                                unit='bytes')
        self.ids['rPackets'] = sourceMgr.register(self.targetIf +
                                                  ' packets received',
                                                  unit='packets')
        self.ids['tBytes'] = sourceMgr.register(self.targetIf +
                                                ' bytes transmitted',
                                                unit='bytes')
        self.ids['tPackets'] = sourceMgr.register(self.targetIf +
                                                  ' packets transmitted',
                                                  unit='packets')

        EventMgr.startTimer(interval, self.onTimer)