Browse Source

Add free mem to graphs

windows
Florian N 12 years ago
parent
commit
50c97558c1
  1. 2
      main/views.py
  2. 5
      pydash/settings.py
  3. 16
      static/css/dashboard.css
  4. 8
      templates/main.html
  5. 60
      usage/views.py

2
main/views.py

@ -248,7 +248,7 @@ def get_mem():
percent = (100 - ((freemem * 100) / allmem))
usage = (allmem - freemem)
mem_usage = {'usage': usage, 'percent': percent}
mem_usage = {'usage': usage, 'free': freemem, 'percent': percent}
data = mem_usage

5
pydash/settings.py

@ -18,8 +18,7 @@ BASE_DIR = os.path.dirname(os.path.dirname(__file__))
# See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '1)$crmowu-23tz@i2-d=7tb3t+1u&(pm!lnjyuarki^72h!3af'
#SECRET_KEY = '1)$crmowu-23tz@i2-d=7tb3t+1u&(pm!lnjyuarki^72h!3af'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False
@ -36,7 +35,7 @@ TIME_JS_REFRESH = 30000
TIME_JS_REFRESH_LONG = 120000
TIME_JS_REFRESH_NET = 2000
VERSION = "1.4.2"
VERSION = "1.4.3"
ALLOWED_HOSTS = ['*']

16
static/css/dashboard.css

@ -403,3 +403,19 @@ h6.bigstats {
padding: 0 0.3em;
border-style: solid;
}
.memf {
border-color: rgb(43,214,66);
margin: 0.5em;
border-style: solid;
border-width: 0 0 0 1em;
padding: 0 0.3em;
border-style: solid;
}
.memu {
border-color: rgb(249,134,33);
margin: 0.5em;
border-style: solid;
border-width: 0 0 0 1em;
padding: 0 0.3em;
border-style: solid;
}

8
templates/main.html

@ -2,7 +2,7 @@
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<title>{% block title %}PyDash v{{ version }}{% endblock %}</title>
<link href="{% static "css/bootstrap.min.css" %}" rel="stylesheet">
@ -114,7 +114,11 @@
<!-- /widget-header -->
<div class="widget-content">
<p></p>
<canvas id="memoryChart" width="560" height="200"></canvas>
<canvas id="memoryChart" width="560" height="200"></canvas>
<div>
<span class="memf">{% trans "Free" %}</span>
<span class="memu">{% trans "Used" %}</span>
</div>
</div>
<!-- /widget-content -->

60
usage/views.py

@ -229,7 +229,9 @@ def memusage(request):
"""
Return Memory Usage in % and numeric
"""
datasets = []
datasets_free = []
datasets_used = []
cookie_memory = {}
try:
mem_usage = get_mem()
@ -242,26 +244,40 @@ def memusage(request):
cookies = None
if not cookies:
datasets.append(0)
datasets_free.append(0)
datasets_used.append(0)
else:
datasets = json.loads(cookies)
if len(datasets) > 10:
while datasets:
del datasets[0]
if len(datasets) == 10:
datasets_free = datasets[0]
datasets_used = datasets[1]
if len(datasets_free) > 10:
while datasets_free:
del datasets_free[0]
if len(datasets_free) == 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]
if len(datasets_used) > 10:
while datasets_used:
del datasets_used[0]
if len(datasets_used) == 10:
break
if len(datasets_free) <= 9:
datasets_free.append(int(mem_usage['free']))
if len(datasets_free) == 10:
datasets_free.append(int(mem_usage['free']))
del datasets_free[0]
if len(datasets_used) <= 9:
datasets_used.append(int(mem_usage['usage']))
if len(datasets_used) == 10:
datasets_used.append(int(mem_usage['usage']))
del datasets_used[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
if len(datasets_free) == 10:
if sum(datasets_free) == 0:
datasets_free[9] += 0.1
if sum(datasets_free) / 10 == datasets_free[0]:
datasets_free[9] += 0.1
memory = {
'labels': [""] * 10,
@ -271,15 +287,23 @@ def memusage(request):
"strokeColor": "rgba(249,134,33,1)",
"pointColor": "rgba(249,134,33,1)",
"pointStrokeColor": "#fff",
"data": datasets
"data": datasets_used
},
{
"fillColor": "rgba(43,214,66,0.5)",
"strokeColor": "rgba(43,214,66,1)",
"pointColor": "rgba(43,214,66,1)",
"pointStrokeColor": "#fff",
"data": datasets_free
}
]
}
cookie_memory = [datasets_free, datasets_used]
data = json.dumps(memory)
response = HttpResponse()
response['Content-Type'] = "text/javascript"
response.cookies['memory_usage'] = datasets
response.cookies['memory_usage'] = cookie_memory
response.write(data)
return response

Loading…
Cancel
Save