Add basic metrics export

This commit is contained in:
Daan Sprenkels
2018-04-09 14:58:37 +02:00
parent 684710ebae
commit 17858c4aae
10 changed files with 42 additions and 0 deletions

View File

@ -12,11 +12,16 @@ from django.shortcuts import get_object_or_404
from django.views.decorators.http import require_http_methods
from django.conf import settings
from mutagen import File
from prometheus_client import Counter
from marietje.utils import song_to_dict, playlist_song_to_dict, send_to_bertha
from queues.models import PlaylistSong, QueueCommand
from songs.models import Song
request_counter = Counter('marietje_requests', 'Queue requests on marietje', ['queue'])
upload_counter = Counter('marietje_uploads', 'Songs uploaded to marietje')
def api_auth_required(view_func):
@wraps(view_func)
@ -215,6 +220,7 @@ def request(request):
queue = request.user.queue
song = get_object_or_404(Song, id=request.POST.get('id'), deleted=False)
if queue.request(song, request.user):
request_counter.labels(queue=queue.name).inc()
return JsonResponse({
'success': True
})
@ -265,6 +271,7 @@ def upload(request):
song = Song(user=request.user, artist=artists[i], title=titles[i], hash=hash, duration=duration)
song.save()
upload_counter.inc()
return JsonResponse({'success': True})