NewsBlur/utils/munin/newsblur_dbtimes.py

49 lines
1.6 KiB
Python
Raw Normal View History

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
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()
2024-04-24 09:43:56 -04:00
class NBMuninGraph(MuninGraph):
@property
def graph_config(self):
return {
2024-04-24 09:43:56 -04:00
"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
2024-04-24 09:43:56 -04:00
return {
2024-04-24 09:43:56 -04:00
"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"),
}
2024-04-24 09:43:56 -04:00
if __name__ == "__main__":
NBMuninGraph().run()