2020-12-03 14:05:32 -05:00
|
|
|
#!/srv/newsblur/venv/newsblur3/bin/python
|
2020-12-10 12:40:12 -05:00
|
|
|
import os
|
2024-04-24 09:43:56 -04:00
|
|
|
|
2024-04-24 09:50:42 -04:00
|
|
|
from utils.munin.base import MuninGraph
|
|
|
|
|
2021-01-12 15:52:10 -05:00
|
|
|
os.environ["DJANGO_SETTINGS_MODULE"] = "newsblur_web.settings"
|
2020-12-10 12:42:12 -05:00
|
|
|
import django
|
2024-04-24 09:43:56 -04:00
|
|
|
|
2020-12-10 12:42:12 -05:00
|
|
|
django.setup()
|
2010-06-08 11:19:41 -04:00
|
|
|
|
2010-07-24 14:16:25 -04:00
|
|
|
|
2024-04-24 09:43:56 -04:00
|
|
|
class NBMuninGraph(MuninGraph):
|
2012-09-27 10:45:40 -07:00
|
|
|
@property
|
|
|
|
def graph_config(self):
|
|
|
|
return {
|
2024-04-24 09:43:56 -04:00
|
|
|
"graph_category": "NewsBlur",
|
|
|
|
"graph_title": "NewsBlur Users",
|
|
|
|
"graph_vlabel": "users",
|
|
|
|
"graph_args": "-l 0",
|
|
|
|
"all.label": "all",
|
|
|
|
"monthly.label": "monthly",
|
|
|
|
"daily.label": "daily",
|
|
|
|
"premium.label": "premium",
|
|
|
|
"queued.label": "queued",
|
2012-09-27 10:45:40 -07:00
|
|
|
}
|
2011-03-23 15:43:15 -04:00
|
|
|
|
2012-09-27 10:45:40 -07:00
|
|
|
def calculate_metrics(self):
|
|
|
|
import datetime
|
2024-04-24 09:50:42 -04:00
|
|
|
|
2012-09-27 10:45:40 -07:00
|
|
|
from django.contrib.auth.models import User
|
2024-04-24 09:50:42 -04:00
|
|
|
|
2013-05-21 14:15:25 -07:00
|
|
|
from apps.profile.models import Profile, RNewUserQueue
|
2012-09-27 10:45:40 -07:00
|
|
|
|
|
|
|
last_month = datetime.datetime.utcnow() - datetime.timedelta(days=30)
|
2024-04-24 09:43:56 -04:00
|
|
|
last_day = datetime.datetime.utcnow() - datetime.timedelta(minutes=60 * 24)
|
2012-09-27 10:45:40 -07:00
|
|
|
|
|
|
|
return {
|
2024-04-24 09:43:56 -04:00
|
|
|
"all": User.objects.count(),
|
|
|
|
"monthly": Profile.objects.filter(last_seen_on__gte=last_month).count(),
|
|
|
|
"daily": Profile.objects.filter(last_seen_on__gte=last_day).count(),
|
|
|
|
"premium": Profile.objects.filter(is_premium=True).count(),
|
|
|
|
"queued": RNewUserQueue.user_count(),
|
2012-09-27 10:45:40 -07:00
|
|
|
}
|
2010-06-08 11:19:41 -04:00
|
|
|
|
2024-04-24 09:43:56 -04:00
|
|
|
|
|
|
|
if __name__ == "__main__":
|
2012-09-27 10:45:40 -07:00
|
|
|
NBMuninGraph().run()
|