MCPcopy Index your code
hub / github.com/retspen/webvirtcloud / compute_graph

Function compute_graph

computes/views.py:163–225  ·  view source on GitHub ↗

:param request: :return:

(request, compute_id)

Source from the content-addressed store, hash-verified

161
162
163def compute_graph(request, compute_id):
164 """
165 :param request:
166 :return:
167 """
168
169 if not request.user.is_authenticated():
170 return HttpResponseRedirect(reverse('login'))
171
172 points = 5
173 datasets = {}
174 cookies = {}
175 compute = get_object_or_404(Compute, pk=compute_id)
176 curent_time = time.strftime("%H:%M:%S")
177
178 try:
179 conn = wvmHostDetails(compute.hostname,
180 compute.login,
181 compute.password,
182 compute.type)
183 cpu_usage = conn.get_cpu_usage()
184 mem_usage = conn.get_memory_usage()
185 conn.close()
186 except libvirtError:
187 cpu_usage = 0
188 mem_usage = 0
189
190 try:
191 cookies['cpu'] = request.COOKIES['cpu']
192 cookies['mem'] = request.COOKIES['mem']
193 cookies['timer'] = request.COOKIES['timer']
194 except KeyError:
195 cookies['cpu'] = None
196 cookies['mem'] = None
197
198 if not cookies['cpu'] or not cookies['mem']:
199 datasets['cpu'] = [0] * points
200 datasets['mem'] = [0] * points
201 datasets['timer'] = [0] * points
202 else:
203 datasets['cpu'] = eval(cookies['cpu'])
204 datasets['mem'] = eval(cookies['mem'])
205 datasets['timer'] = eval(cookies['timer'])
206
207 datasets['timer'].append(curent_time)
208 datasets['cpu'].append(int(cpu_usage['usage']))
209 datasets['mem'].append(int(mem_usage['usage']) / 1048576)
210
211 if len(datasets['timer']) > points:
212 datasets['timer'].pop(0)
213 if len(datasets['cpu']) > points:
214 datasets['cpu'].pop(0)
215 if len(datasets['mem']) > points:
216 datasets['mem'].pop(0)
217
218 data = json.dumps({'cpudata': datasets['cpu'], 'memdata': datasets['mem'], 'timeline': datasets['timer']})
219 response = HttpResponse()
220 response['Content-Type'] = "text/javascript"

Callers

nothing calls this directly

Calls 4

wvmHostDetailsClass · 0.90
get_cpu_usageMethod · 0.80
get_memory_usageMethod · 0.80
closeMethod · 0.45

Tested by

no test coverage detected