5 from util import get_numbers
7 def get_label_http(path):
8 domain = path.split('/', 1)[0]
9 tlds = ['com', 'net', 'co.kr']
11 if domain.endswith('.' + tld):
12 domain = domain[:-(len(tld)+1)]
14 label = domain.split('.')[-1]
17 def get_label_file(path):
18 names = path.split('/', 4)
20 assert names[1] == 'opt'
21 assert names[2] == 'apps'
27 scheme, path = url.split('://', 1)
29 return get_label_http(path)
31 return get_label_file(path)
33 def read_file(filepath, keys):
37 data = json.loads(line)
39 label = get_label(url)
40 values = [data[key] / float(2**20) for key in keys]
41 entry = [label] + values
42 if result and result[-1][0] == label:
49 def read(dirname, keys):
51 for filepath in get_numbers(dirname):
52 filename = os.path.basename(filepath)
53 data = read_file(filepath, keys)
54 result.append([filename, data])
57 def write(name, value):
58 print 'var %s = %s;' % (name, json.dumps(value))
62 print 'Usage: stat.py resultdir'
67 'UI Process Private CODE size',
68 'UI Process Private DATA size',
69 'UI Process 3D memory',
70 'UI Process UMP memory',
71 'Web Process Private CODE size',
72 'Web Process Private DATA size',
73 'Web Process 3D memory',
74 'Web Process UMP memory',
94 result = read(dirname, keys)
96 for build, kvs in result:
98 kv[6] -= kv[9] + kv[10] + kv[11]
100 write('memory_labels', labels)
101 write('memory', result)