#!/srv/newsblur/venv/newsblur3/bin/python import os from utils.munin.base import MuninGraph os.environ["DJANGO_SETTINGS_MODULE"] = "newsblur_web.settings" import django django.setup() class NBMuninGraph(MuninGraph): @property def graph_config(self): return { "graph_category": "NewsBlur", "graph_title": "NewsBlur DB Times", "graph_vlabel": "Database times (seconds)", "graph_args": "-l 0", "sql_avg.label": "SQL avg times (5m)", "sql_avg.draw": "LINE1", "mongo_avg.label": "Mongo avg times (5m)", "mongo_avg.draw": "LINE1", "redis_avg.label": "Redis avg times (5m)", "redis_avg.draw": "LINE1", "task_sql_avg.label": "Task SQL avg times (5m)", "task_sql_avg.draw": "LINE1", "task_mongo_avg.label": "Task Mongo avg times (5m)", "task_mongo_avg.draw": "LINE1", "task_redis_avg.label": "Task Redis avg times (5m)", "task_redis_avg.draw": "LINE1", } def calculate_metrics(self): from apps.statistics.models import MStatistics return { "sql_avg": MStatistics.get("latest_sql_avg"), "mongo_avg": MStatistics.get("latest_mongo_avg"), "redis_avg": MStatistics.get("latest_redis_avg"), "task_sql_avg": MStatistics.get("latest_task_sql_avg"), "task_mongo_avg": MStatistics.get("latest_task_mongo_avg"), "task_redis_avg": MStatistics.get("latest_task_redis_avg"), } if __name__ == "__main__": NBMuninGraph().run()