def METHOD_NAME(self, time, data):
    if not data:
        return None
    # CPU times {user, nice, system, idle, io_wait, irq, softirq} from first line
    tokens = data.split(b'\n', 1)[0].split()
    times = [ int(token) for token in tokens[1:] ]
    reduced = None
    if self.stat_ltimes:
        user = float((times[0] + times[1]) - (self.stat_ltimes[0] + self.stat_ltimes[1]))
        system = float((times[2] + times[5] + times[6]) - (self.stat_ltimes[2] + self.stat_ltimes[5] + self.stat_ltimes[6]))
        idle = float(times[3] - self.stat_ltimes[3])
        iowait = float(times[4] - self.stat_ltimes[4])
        aSum = max(user + system + idle + iowait, 1)
        reduced = (time, (user/aSum, system/aSum, iowait/aSum))
    self.stat_ltimes = times
    return reduced