From bcdb4fd000184a7d300e47dfdfa266cf95a42da9 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Mon, 27 Mar 2017 21:58:38 +0200 Subject: [PATCH] Metrics: Count model instances in database --- src/pretix/base/metrics.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/pretix/base/metrics.py b/src/pretix/base/metrics.py index 92cc69ca6..3ea9da1d6 100755 --- a/src/pretix/base/metrics.py +++ b/src/pretix/base/metrics.py @@ -1,5 +1,6 @@ import math +from django.apps import apps from django.conf import settings if settings.HAS_REDIS: @@ -187,15 +188,18 @@ def metric_values(): """ Produces the scrapable textformat to be presented to the monitoring system """ - if not settings.HAS_REDIS: - return "" - metrics = {} - for key, value in redis.hscan_iter(REDIS_KEY): - dkey = key.decode("utf-8") - value = float(value.decode("utf-8")) - metrics[dkey] = value + # Metrics from redis + if settings.HAS_REDIS: + for key, value in redis.hscan_iter(REDIS_KEY): + dkey = key.decode("utf-8") + value = float(value.decode("utf-8")) + metrics[dkey] = value + + # Throwaway metrics + for m in apps.get_models(): # Count all models + metrics['pretix_model_instances{model="%s"}' % m._meta] = m.objects.count() return metrics