|
|
from django.shortcuts import render_to_responsefrom django.http import HttpResponse, HttpResponseRedirectfrom django.template import RequestContextfrom django.utils import simplejson
from main.views import *from pydash.settings import TIME_JS_REFRESH
def cpuusage(request): """
Return CPU Usage in % """
if not request.user.is_authenticated(): return HttpResponseRedirect('/login')
datasets = []
try: cpu_usage = get_cpu_usage() except Exception: cpu_usage = 0
try: cookies = request._cookies['cpu_usage'] except Exception: cookies = None
if not cookies: datasets.append(0) else: datasets = eval(cookies) if len(datasets) > 10: while datasets: del datasets[0] if len(datasets) == 10: break if len(datasets) <= 9: datasets.append(int(cpu_usage['usage'])) if len(datasets) == 10: datasets.append(int(cpu_usage['usage'])) del datasets[0]
# Some fix division by 0 Chart.js if len(datasets) == 10: if sum(datasets) == 0: datasets[9] += 0.1 if sum(datasets) / 10 == datasets[0]: datasets[9] += 0.1
cpu = { 'labels': [""] * 10, 'datasets': [ { "fillColor": "rgba(241,72,70,0.5)", "strokeColor": "rgba(241,72,70,1)", "pointColor": "rgba(241,72,70,1)", "pointStrokeColor": "#fff", "data": datasets } ] }
data = simplejson.dumps(cpu) response = HttpResponse() response['Content-Type'] = "text/javascript" response.cookies['cpu_usage'] = datasets response.write(data) return response
def memusage(request): """
Return Memory Usage in % and numeric """
if not request.user.is_authenticated(): return HttpResponseRedirect('/login') datasets = []
try: mem_usage = get_mem() except Exception: mem_usage = 0
try: cookies = request._cookies['memory_usage'] except Exception: cookies = None
if not cookies: datasets.append(0) else: datasets = eval(cookies) if len(datasets) > 10: while datasets: del datasets[0] if len(datasets) == 10: break if len(datasets) <= 9: datasets.append(int(mem_usage['usage'])) if len(datasets) == 10: datasets.append(int(mem_usage['usage'])) del datasets[0]
# Some fix division by 0 Chart.js if len(datasets) == 10: if sum(datasets) == 0: datasets[9] += 0.1 if sum(datasets) / 10 == datasets[0]: datasets[9] += 0.1
memory = { 'labels': [""] * 10, 'datasets': [ { "fillColor": "rgba(249,134,33,0.5)", "strokeColor": "rgba(249,134,33,1)", "pointColor": "rgba(249,134,33,1)", "pointStrokeColor": "#fff", "data": datasets } ] } data = simplejson.dumps(memory) response = HttpResponse() response['Content-Type'] = "text/javascript" response.cookies['memory_usage'] = datasets response.write(data) return response def loadaverage(request): """
Return Load Average numeric """
if not request.user.is_authenticated(): return HttpResponseRedirect('/login') datasets = []
try: load_average = get_load() except Exception: load_average = 0
try: cookies = request._cookies['load_average'] except Exception: cookies = None
if not cookies: datasets.append(0) else: datasets = eval(cookies) if len(datasets) > 10: while datasets: del datasets[0] if len(datasets) == 10: break if len(datasets) <= 9: datasets.append(int(load_average)) if len(datasets) == 10: datasets.append(int(load_average)) del datasets[0]
# Some fix division by 0 Chart.js if len(datasets) == 10: if sum(datasets) == 0: datasets[9] += 0.1 if sum(datasets) / 10 == datasets[0]: datasets[9] += 0.1
load = { 'labels': [""] * 10, 'datasets': [ { "fillColor" : "rgba(151,187,205,0.5)", "strokeColor" : "rgba(151,187,205,1)", "pointColor" : "rgba(151,187,205,1)", "pointStrokeColor": "#fff", "data": datasets } ] } data = simplejson.dumps(load) response = HttpResponse() response['Content-Type'] = "text/javascript" response.cookies['load_average'] = datasets response.write(data) return response
|