add stddev to mustache visualization template
[scripts.git] / elastic / generate-config.py
1 #!/usr/bin/env python3
2
3 import pystache
4 import requests
5 import json
6
7 URL='https://moose.leap.se:9200'
8
9
10 # Generate visualizations
11 def generate_visualizations():
12     dir = './visualization/'
13     template = open(dir + 'template.mustache', 'r').read()
14
15     # test_names = tests.
16     for test_name in tests:
17         out_file = dir + test_name + '.json'
18         print('Generating ' + out_file)
19         context = {
20            'title': test_name,
21            'query': "commit_info.project:soledad AND commit_info.branch='master' AND machine_info.host='weasel' AND name='" + test_name + "'"
22         }
23
24         rendered = pystache.render(template, context)
25
26         out = open(out_file, 'w')
27         out.write(rendered)
28         out.flush()
29
30 # Generate Dashboard
31 def generate_dashboards():
32     dir = './dashboard/'
33     template = open(dir + 'template.mustache', 'r').read()
34     out_file = dir + 'soledad-benchmarks.json'
35     print('Generating ' + out_file)
36
37     panels = '['
38     count = 0
39     for test_name in tests:
40         count += 1
41         panels += '{\\"id\\":\\"' + test_name + '\\",\\"panelIndex\\":' + str(count) + ',\\"col\\":1,\\"row\\":' + str(count) + ',\\"size_x\\":6,\\"size_y\\":3,\\"type\\":\\"visualization\\"}, '
42     panels = panels[:-2]
43     panels += ']'
44
45     panels_json = { 'panels_json': panels }
46     rendered = pystache.render(template, panels_json)
47     #print(rendered)
48
49     out = open(out_file, 'w')
50     out.write(rendered)
51     out.flush()
52
53
54 # Main
55
56 # Get all test names
57 with open('./query/test_names.json') as f:
58     response = requests.get(URL + '/_search', data=f)
59     buckets = response.json()['aggregations']['test_names']['buckets']
60
61 tests = []
62 for d in buckets:
63     name = d['key']
64     tests.append(name)
65
66 generate_dashboards()
67 generate_visualizations()