def process_data(self, testdir, rawiter): results = RawResults('buffersize') data = [] for line in rawiter: m = re.match("rawresult (\d+)", line) if m: data.append(2048 / int(m.group(1))) results.add_group("2048", data) return results
def process_data(self, testdir, rawiter): results = RawResults('tracing') data = [] for line in rawiter: m = re.match("trace: (\w+.*)", line) if m: data.append(m.group(1)) if len(data) != 0: results.add_group(1, data) return results
def process_data(self, testdir, raw_iter): results = RawResults('Index') diff = [] for line in raw_iter: m = re.match("Iteration\s+(\d+): time0 (\d+) time1 (\d+) difference (\d+)", line) if m: diff.append(int(m.group(3)) - int(m.group(2))) results.add_group('Index', diff) return results
def process_data(self, testdir, rawiter): results = RawResults('threads') data = [] for line in rawiter: m = re.match("duration \d+: (\d+)", line) if m: data.append(int(m.group(1))) continue m = re.match("number of threads: (\d+)", line) if m: results.add_group(m.group(1), data) data = [] return results
def process_data(self, testdir, raw_iter): results = RawResults('iter') data = [] index = None iteration = 1 for line in raw_iter: m = re.match("page\s+(\d+)\s+took\s+(\d+)", line) if m: if index is not None and int(m.group(1)) < index: # new iteration results.add_group(iteration, data) iteration += 1 data = [int(m.group(2))] else: data.append(int(m.group(2))) index = int(m.group(1)) results.add_group(iteration, data) return results
def process_data(self, testdir, raw_iter): # check the first line to see if the test actually ran try: firstline = raw_iter.next() if firstline.startswith('Test skipped'): return PassFailResult(True) except StopIteration: # empty results file return PassFailResult(False) # process the rest of the file results = {} data = {} index = {} iteration = {} results['Data'] = RawResults('iter', name='dcache') results['Instruction'] = RawResults('iter', name='icache') for cache in ['Data', 'Instruction']: data[cache] = [] index[cache] = None iteration[cache] = 1 for line in raw_iter: m = re.match( "(Data|Instruction) cache miss\s+(\d+)\s+(\d+)\s+(\d+)", line) if m: cache = m.group(1) i = int(m.group(2)) value = int(m.group(4)) - int(m.group(3)) if index[cache] is not None and i < index[ cache]: # new iteration results[cache].add_group(iteration[cache], data[cache]) iteration[cache] += 1 data[cache] = [value] else: data[cache].append(value) index[cache] = i ret = [] for cache in ['Data', 'Instruction']: results[cache].add_group(iteration[cache], data[cache]) ret.append(results[cache]) return ret
def process_data(self, testdir, rawiter): results = RawResults('core') times = [] core = None for line in rawiter: m = re.match("Running \w+ between core \d+ and core (\d+)", line) if m: if times: results.add_group(core, times) core = int(m.group(1)) times = [] continue m = re.match("page \d+ took (\d+)", line) if m: assert(core is not None) times.append(int(m.group(1))) if len(times) != 0: results.add_group(core, times) return results
def process_data(self, testdir, rawiter): results = RawResults('iteration') times = [] iteration = None for line in rawiter: m = re.match("transport_bench: iteration (\d+)", line) if m: if times: results.add_group(iteration, times) iteration = int(m.group(1)) times = [] continue m = re.match("page \d+ took (\d+)", line) if m: assert(iteration is not None) times.append(int(m.group(1))) if len(times) != 0: results.add_group(iteration, times) return results
def process_data(self, testdir, rawiter): results = RawResults('message type') times = [] iteration = None for line in rawiter: m = re.match("Running latency test for message (.*)....", line) if m: if times: results.add_group(iteration, times) iteration = m.group(1) times = [] continue m = re.match("page \d+ took (\d+)", line) if m: assert(iteration is not None) times.append(int(m.group(1))) if len(times) != 0: results.add_group(iteration, times) return results
def process_data(self, testdir, rawiter): results = RawResults('connections') times = [] connections = None for line in rawiter: m = re.match("running with (\d+) connections", line) if m: if times: results.add_group(connections, times) connections = int(m.group(1)) times = [] continue m = re.match("\d+ (\d+)", line) if m: assert(connections is not None) times.append(int(m.group(1))) if len(times) != 0: results.add_group(connections, times) return results
def process_data(self, testdir, rawiter): results = RawResults('message type') times = [] iteration = None for line in rawiter: m = re.match("Running latency test for message (.*)....", line) if m: if times: results.add_group(iteration, times) iteration = m.group(1) times = [] continue m = re.match("page \d+ took (\d+)", line) if m: assert (iteration is not None) times.append(int(m.group(1))) if len(times) != 0: results.add_group(iteration, times) return results