2010-09-08 10:33:00 -07:00
|
|
|
#!/usr/bin/env python
|
2012-02-26 23:29:57 -08:00
|
|
|
import redis
|
2010-09-08 10:33:00 -07:00
|
|
|
from utils.munin.base import MuninGraph
|
|
|
|
|
2012-09-27 10:45:40 -07:00
|
|
|
class NBMuninGraph(MuninGraph):
|
2010-09-08 10:33:00 -07:00
|
|
|
|
2012-09-27 10:45:40 -07:00
|
|
|
@property
|
|
|
|
def graph_config(self):
|
|
|
|
return {
|
|
|
|
'graph_category' : 'NewsBlur',
|
|
|
|
'graph_title' : 'NewsBlur Updates',
|
|
|
|
'graph_vlabel' : '# of updates',
|
2012-09-28 09:50:12 -07:00
|
|
|
'graph_args' : '-l 0',
|
2012-09-27 10:45:40 -07:00
|
|
|
'update_queue.label': 'Queued Feeds last hour',
|
|
|
|
'feeds_fetched.label': 'Fetched feeds last hour',
|
|
|
|
'celery_update_feeds.label': 'Celery - Update Feeds',
|
|
|
|
'celery_new_feeds.label': 'Celery - New Feeds',
|
|
|
|
'celery_push_feeds.label': 'Celery - Push Feeds',
|
|
|
|
'celery_work_queue.label': 'Celery - Work Queue',
|
|
|
|
}
|
2010-09-08 10:52:04 -07:00
|
|
|
|
2012-09-27 10:45:40 -07:00
|
|
|
|
|
|
|
def calculate_metrics(self):
|
|
|
|
import datetime
|
|
|
|
from apps.rss_feeds.models import Feed
|
|
|
|
from django.conf import settings
|
2011-03-23 15:43:15 -04:00
|
|
|
|
2012-09-27 10:45:40 -07:00
|
|
|
hour_ago = datetime.datetime.utcnow() - datetime.timedelta(hours=1)
|
|
|
|
r = redis.Redis(connection_pool=settings.REDIS_POOL)
|
2012-02-26 23:29:57 -08:00
|
|
|
|
2012-09-27 10:45:40 -07:00
|
|
|
return {
|
|
|
|
'update_queue': Feed.objects.filter(queued_date__gte=hour_ago).count(),
|
|
|
|
'feeds_fetched': Feed.objects.filter(last_update__gte=hour_ago).count(),
|
|
|
|
'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"),
|
|
|
|
}
|
2010-09-08 10:33:00 -07:00
|
|
|
|
|
|
|
if __name__ == '__main__':
|
2012-09-27 10:45:40 -07:00
|
|
|
NBMuninGraph().run()
|