mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-04-13 09:42:01 +00:00
33 lines
1.2 KiB
Python
Executable file
33 lines
1.2 KiB
Python
Executable file
import redis
|
|
from django.conf import settings
|
|
from django.shortcuts import render
|
|
from django.views import View
|
|
|
|
|
|
class Updates(View):
|
|
def get(self, request):
|
|
r = redis.Redis(connection_pool=settings.REDIS_FEED_UPDATE_POOL)
|
|
|
|
data = {
|
|
"update_queue": r.scard("queued_feeds"),
|
|
"feeds_fetched": r.zcard("fetched_feeds_last_hour"),
|
|
"tasked_feeds": r.zcard("tasked_feeds"),
|
|
"error_feeds": r.zcard("error_feeds"),
|
|
"celery_update_feeds": r.llen("update_feeds"),
|
|
"celery_new_feeds": r.llen("new_feeds"),
|
|
"celery_push_feeds": r.llen("push_feeds"),
|
|
"celery_work_queue": r.llen("work_queue"),
|
|
"celery_search_queue": r.llen("search_indexer"),
|
|
}
|
|
chart_name = "updates"
|
|
chart_type = "counter"
|
|
formatted_data = {}
|
|
|
|
for k, v in data.items():
|
|
formatted_data[k] = f'{chart_name}{{category="{k}"}} {v}'
|
|
context = {
|
|
"data": formatted_data,
|
|
"chart_name": chart_name,
|
|
"chart_type": chart_type,
|
|
}
|
|
return render(request, "monitor/prometheus_data.html", context, content_type="text/plain")
|