import os import util def parse_memcached_output(s): lines = s.split('\n') qps = int(float(lines[6].split(' ')[3])) latency_99th = int(float(lines[1].split(' ')[-1])) return (qps, latency_99th) def extract_qps_latency_exp(exp): ret = ([], [], []) for f in os.listdir(os.path.join('../data/', exp)): if not f[0].isdigit(): continue if f.split('_')[-1].startswith('aux'): continue ((qps_mean, latency_99th_mean), (qps_stddev, latency_99th_stddev)) = \ util.extract_exp_avg_stddev(exp, f.replace('.txt', ''), parse_memcached_output) ret[0].append(qps_mean) ret[1].append(latency_99th_mean) # We don't care about stddev in qps -- qps is the x axis ret[2].append(latency_99th_stddev) return ret def extract_qps_latency(experiments): ret = dict() for exp in experiments: ret[exp] = extract_qps_latency_exp(exp) return ret