2021-03-26 13:28:03 -05:00
|
|
|
import redis
|
2021-03-29 13:28:47 -05:00
|
|
|
from django.conf import settings
|
2021-04-27 07:56:02 -05:00
|
|
|
from django.shortcuts import render
|
2021-03-26 13:28:03 -05:00
|
|
|
from django.views import View
|
|
|
|
|
|
|
|
|
2024-04-24 09:43:56 -04:00
|
|
|
class Updates(View):
|
|
|
|
def get(self, request):
|
2021-03-26 13:28:03 -05:00
|
|
|
r = redis.Redis(connection_pool=settings.REDIS_FEED_UPDATE_POOL)
|
|
|
|
|
2021-04-27 07:56:02 -05:00
|
|
|
data = {
|
2024-04-24 09:43:56 -04:00
|
|
|
"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"),
|
2021-04-27 07:56:02 -05:00
|
|
|
}
|
2021-04-30 13:48:48 -05:00
|
|
|
chart_name = "updates"
|
2021-05-03 07:56:47 -05:00
|
|
|
chart_type = "counter"
|
2021-05-03 09:27:28 -05:00
|
|
|
formatted_data = {}
|
2024-04-24 09:43:56 -04:00
|
|
|
|
2021-05-03 09:27:28 -05:00
|
|
|
for k, v in data.items():
|
|
|
|
formatted_data[k] = f'{chart_name}{{category="{k}"}} {v}'
|
2021-04-30 13:48:48 -05:00
|
|
|
context = {
|
2021-05-03 09:27:28 -05:00
|
|
|
"data": formatted_data,
|
2021-04-30 13:48:48 -05:00
|
|
|
"chart_name": chart_name,
|
|
|
|
"chart_type": chart_type,
|
|
|
|
}
|
2024-04-24 09:43:56 -04:00
|
|
|
return render(request, "monitor/prometheus_data.html", context, content_type="text/plain")
|