44cc08338e852b659b9b8947be553f58eac6808c
[scripts.git] / elastic / generate-config.py
1 #!/usr/bin/env python3
2
3 import pystache
4
5 #print(pystache.render('Hi {{person}}!', {'person': 'Mom'}))
6
7 tests = [
8     "test_encrypt_raw_10M",
9     "test_encrypt_raw_100k",
10     "test_encrypt_raw_10k",
11     "test_decrypt_raw_100k",
12     "test_decrypt_raw_10M",
13     "test_decrypt_raw_10k",
14     "test_decrypt_raw_1M",
15     "test_decrypt_raw_500k",
16     "test_encrypt_raw_1M",
17     "test_encrypt_raw_500k",
18     "test_initialization",
19     "test_async_create_1000_10k",
20     "test_async_create_100_100k",
21     "test_create_1000_10k",
22     "test_create_100_100k",
23     "test_create_20_500k",
24     "test_decrypt_doc_100k",
25     "test_decrypt_doc_10M",
26     "test_decrypt_doc_10k",
27     "test_decrypt_doc_1M"
28     ]
29
30
31
32 # Generate visualizations
33 def generate_visualizations():
34     dir = './visualization/'
35     template = open(dir + 'template.mustache', 'r').read()
36
37     # test_names = tests.
38     for test_name in tests:
39         out_file = dir + test_name + '.json'
40         print('Generating ' + out_file)
41         context = {
42            'title': test_name,
43            'query': "commit_info.project:soledad AND commit_info.branch='master' AND machine_info.host='weasel' AND name='" + test_name + "'"
44         }
45
46         rendered = pystache.render(template, context)
47
48         out = open(out_file, 'w')
49         out.write(rendered)
50         out.flush()
51
52 # Generate Dashboard
53 def generate_dashboards():
54     dir = './dashboard/'
55     template = open(dir + 'template.mustache', 'r').read()
56     out_file = dir + 'soledad-benchmarks.json'
57     print('Generating ' + out_file)
58
59     panels = '['
60     count = 0
61     for test_name in tests:
62         count += 1
63         panels += '{\\"id\\":\\"' + test_name + '\\",\\"panelIndex\\":' + str(count) + ',\\"col\\":1,\\"row\\":' + str(count) + ',\\"size_x\\":6,\\"size_y\\":3,\\"type\\":\\"visualization\\"}, '
64     panels = panels[:-2]
65     panels += ']'
66
67     panels_json = { 'panels_json': panels }
68     rendered = pystache.render(template, panels_json)
69     #print(rendered)
70
71     out = open(out_file, 'w')
72     out.write(rendered)
73     out.flush()
74
75
76 # Main
77
78 generate_dashboards()
79 generate_visualizations()