generate_json.py 860 Bytes
Newer Older
1
2
import glob
import json
Jonas Kaufmann's avatar
Jonas Kaufmann committed
3
4
5
import os
import re
import sys
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

if len(sys.argv) != 2:
    print('Usage: generate_json.py OUTDIR')
    sys.exit(1)

cellsz = 208
outdir = sys.argv[1] + '/'
fn_pat = re.compile(r'(\d*)-(\d*)-(\d*).*')

runmap = {}

for f in glob.glob('testbed-results/*_*pktgap/*.txt'):
    bn = os.path.basename(f)
    m = fn_pat.match(bn)
    if not m:
        continue

    mtu = int(m.group(1))
    k = int(m.group(2)) * cellsz

Jonas Kaufmann's avatar
Jonas Kaufmann committed
26
    runk = (mtu, k)
27
28
    clients = runmap.get(runk, {})

29
    with open(f, 'r', encoding='utf-8') as f:
30
31
32
33
        clients['host.client.' + m.group(3)] = {'stdout': f.readlines()}
    runmap[runk] = clients

for ((mtu, k), clients) in runmap.items():
34
    ofn = f'{outdir}tb-ib-dumbbell-DCTCPm{k}-{mtu}-1.json'
35
    data = {'sims': clients}
36
    with open(ofn, 'w', encoding='utf-8') as outfile:
37
        json.dump(data, outfile)