summaryrefslogtreecommitdiff
path: root/dashboard
diff options
context:
space:
mode:
authorJannis Leidel <jannis@leidel.info>2015-02-09 15:40:33 +0100
committerJannis Leidel <jannis@leidel.info>2015-02-09 15:40:33 +0100
commit25947b932aa99b42afdcf846b1b29cba75255869 (patch)
tree2c984f42564ebcc546dd4a1465367cf057fe46fa /dashboard
parent5762826eb7b44d36bf4a3b1e50acd637ef7375c1 (diff)
Cache dev dashboard index as well.
Diffstat (limited to 'dashboard')
-rw-r--r--dashboard/views.py23
1 files changed, 15 insertions, 8 deletions
diff --git a/dashboard/views.py b/dashboard/views.py
index 09a4b78f..289d1698 100644
--- a/dashboard/views.py
+++ b/dashboard/views.py
@@ -12,14 +12,21 @@ from .utils import generation_key
def index(request):
- metrics = []
- for MC in Metric.__subclasses__():
- metrics.extend(MC.objects.filter(show_on_dashboard=True))
- metrics = sorted(metrics, key=operator.attrgetter('display_position'))
+ generation = generation_key()
+ key = 'dashboard:index'
+
+ data = cache.get(key, version=generation)
+ if data is None:
+ metrics = []
+ for MC in Metric.__subclasses__():
+ metrics.extend(MC.objects.filter(show_on_dashboard=True))
+ metrics = sorted(metrics, key=operator.attrgetter('display_position'))
+
+ data = []
+ for metric in metrics:
+ data.append({'metric': metric, 'latest': metric.data.latest()})
+ cache.set(key, data, 60 * 60, version=generation)
- data = []
- for metric in metrics:
- data.append({'metric': metric, 'latest': metric.data.latest()})
return render(request, 'dashboard/index.html', {'data': data})
@@ -40,7 +47,7 @@ def metric_json(request, metric_slug):
daysback = 30
generation = generation_key()
- key = 'metric:%s:%s' % (metric_slug, daysback)
+ key = 'dashboard:metric:%s:%s' % (metric_slug, daysback)
doc = cache.get(key, version=generation)
if doc is None: