summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrebs <drebs@riseup.net>2017-04-27 12:09:04 +0200
committerdrebs <drebs@riseup.net>2017-05-05 09:17:34 +0200
commitf0190a962e5f6ad81898652978bd5a8cfb3c4c51 (patch)
treecc0e54ef7e4550c92f4895359b1043ddaf449d96
parent90c82f4caccb8c142263b55d8e62efe63fd255d5 (diff)
[elastic] remove inline json
-rwxr-xr-xelastic/generate-config.py71
1 files changed, 46 insertions, 25 deletions
diff --git a/elastic/generate-config.py b/elastic/generate-config.py
index 0841f5c..0aa998f 100755
--- a/elastic/generate-config.py
+++ b/elastic/generate-config.py
@@ -3,27 +3,42 @@
# Todo:
#
# - Remove all json files from previous runs
+import json
+import logging
+import os
import pystache
import requests
-import json
+import sys
+
URL='https://moose.leap.se:9200'
+# configure a logger
+logger = logging.getLogger(__name__)
+ch = logging.StreamHandler()
+ch.setFormatter(logging.Formatter('%(asctime)s %(message)s'))
+logger.addHandler(ch)
+logger.setLevel(logging.INFO)
+
# Generate visualizations
def generate_visualizations():
dir = './visualization/'
- template = open(dir + 'template.mustache', 'r').read()
+ with open(os.path.join(dir, 'template.mustache'), 'r') as f:
+ template = f.read()
# test_names = tests.
for test_name in tests:
- out_file = dir + test_name + '.json'
- print('Generating ' + out_file)
+ out_file = os.path.join(dir, test_name + '.json')
+ logger.info('Generating ' + out_file)
+
context = {
'title': test_name,
- 'query': "commit_info.project:soledad AND commit_info.branch='master' AND machine_info.host='weasel' AND name='" + test_name + "'"
+ 'query': "commit_info.project:soledad "
+ "AND commit_info.branch='master' "
+ "AND machine_info.host='weasel' "
+ "AND name='" + test_name + "'"
}
-
rendered = pystache.render(template, context)
# verify we generated valid JSON visualizations
@@ -33,32 +48,37 @@ def generate_visualizations():
assert json.loads(visState)
assert json.loads(searchSourceJSON)
- out = open(out_file, 'w')
- out.write(rendered)
- out.flush()
+ with open(out_file, 'w') as out:
+ out.write(rendered)
# Generate Dashboard
def generate_dashboards():
dir = './dashboard/'
- template = open(dir + 'template.mustache', 'r').read()
- out_file = dir + 'soledad-benchmarks.json'
- print('Generating ' + out_file)
+ with open(os.path.join(dir, 'template.mustache'), 'r') as f:
+ template = f.read()
+
+ out_file = os.path.join(dir, 'soledad-benchmarks.json')
+ logger.info('Generating ' + out_file)
- panels = '['
+ panels = []
count = 0
for test_name in tests:
count += 1
- panels += '{\\"id\\":\\"' + test_name + '\\",\\"panelIndex\\":' + str(count) + ',\\"col\\":1,\\"row\\":' + str(count) + ',\\"size_x\\":6,\\"size_y\\":3,\\"type\\":\\"visualization\\"}, '
- panels = panels[:-2]
- panels += ']'
-
- panels_json = { 'panels_json': panels }
+ panels.append({
+ 'id': test_name,
+ 'panelIndex': count,
+ 'col': 1,
+ 'row': count,
+ 'size_x': 6,
+ 'size_y': 3,
+ 'type': 'visualization',
+ })
+
+ panels_json = {'panels_json': json.dumps(panels)}
rendered = pystache.render(template, panels_json)
- #print(rendered)
- out = open(out_file, 'w')
- out.write(rendered)
- out.flush()
+ with open(out_file, 'w') as f:
+ f.write(rendered)
# Main
@@ -74,6 +94,7 @@ for d in buckets:
tests.append(name)
tests = sorted(tests)
-generate_dashboards()
-print()
-generate_visualizations()
+
+if __name__ == '__main__':
+ generate_dashboards()
+ generate_visualizations()