mirror of
https://gitlab.science.ru.nl/technicie/MarietjeDjango.git
synced 2025-12-09 19:52:20 +01:00
19 lines
627 B
Python
19 lines
627 B
Python
from prometheus_client import generate_latest, Gauge
|
|
|
|
from django.db.models import Q
|
|
from django.http import HttpResponse
|
|
|
|
from queues.models import Queue, PlaylistSong
|
|
|
|
# Export queue length
|
|
g = Gauge('marietje_queue_length', 'Marietje queue length', ['name'])
|
|
for queue in Queue.objects.all():
|
|
def _get_queue_length():
|
|
return PlaylistSong.objects.filter(Q(playlist=queue.playlist_id),
|
|
Q(state=0) | Q(state=1)).count()
|
|
g.labels(name=queue).set_function(_get_queue_length)
|
|
|
|
|
|
def metrics(request):
|
|
return HttpResponse(generate_latest(), content_type="text/plain")
|