mirror of
https://gitlab.science.ru.nl/technicie/MarietjeDjango.git
synced 2025-12-09 22:12:22 +01:00
metrics: Do not fail when tables not migrated
This commit is contained in:
@ -1,5 +1,7 @@
|
|||||||
from django.db.models import Count, Q
|
from django.db.models import Count, Q
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
|
from django.db.utils import OperationalError
|
||||||
|
|
||||||
from prometheus_client import generate_latest, Gauge
|
from prometheus_client import generate_latest, Gauge
|
||||||
|
|
||||||
from queues.models import Queue, PlaylistSong
|
from queues.models import Queue, PlaylistSong
|
||||||
@ -11,8 +13,8 @@ queue_duration_gauge = Gauge('marietje_queue_duration', 'Marietje queue duration
|
|||||||
# Export the amount of different users in the queue
|
# Export the amount of different users in the queue
|
||||||
queue_users_gauge = Gauge('marietje_queue_users', 'Users holding a queue at some point', ['name'])
|
queue_users_gauge = Gauge('marietje_queue_users', 'Users holding a queue at some point', ['name'])
|
||||||
|
|
||||||
|
try:
|
||||||
for queue in Queue.objects.all():
|
for queue in Queue.objects.all():
|
||||||
def _get_queue_length():
|
def _get_queue_length():
|
||||||
return (PlaylistSong.objects.filter(playlist=queue.playlist_id, state=0)
|
return (PlaylistSong.objects.filter(playlist=queue.playlist_id, state=0)
|
||||||
.count())
|
.count())
|
||||||
@ -35,6 +37,9 @@ for queue in Queue.objects.all():
|
|||||||
queue_duration_gauge.labels(name=queue).set_function(_get_queue_duration)
|
queue_duration_gauge.labels(name=queue).set_function(_get_queue_duration)
|
||||||
queue_users_gauge.labels(name=queue).set_function(_get_queue_distinct_users)
|
queue_users_gauge.labels(name=queue).set_function(_get_queue_distinct_users)
|
||||||
|
|
||||||
|
except OperationalError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
def metrics(request):
|
def metrics(request):
|
||||||
return HttpResponse(generate_latest(), content_type="text/plain")
|
return HttpResponse(generate_latest(), content_type="text/plain")
|
||||||
|
|||||||
Reference in New Issue
Block a user