def get_performance_Bandwith(request): data = json.loads(request.body) start_time = data["timestamp"] and int(data["timestamp"]) or int(time.time())-60 end_time = None bandwidth_in_opts = { "metrics_name":"op_in_bytes" ,"timestamp_start":start_time ,"timestamp_end":end_time ,"correct_cnt":None } bandwidth_out_opts = { "metrics_name":"op_out_bytes" ,"timestamp_start":start_time ,"timestamp_end":end_time ,"correct_cnt":None } bandwidth_in_data = vsmapi.get_metrics(request,bandwidth_in_opts)["metrics"] bandwidth_out_data = vsmapi.get_metrics(request,bandwidth_out_opts)["metrics"] items = {} for in_metric in bandwidth_in_data: items[in_metric["timestamp"]] = {"timestamp": in_metric["timestamp"], "in_value": in_metric["metrics_value"] and round(in_metric["metrics_value"],2) or 0, "out_value": 0} for out_metric in bandwidth_out_data: if items.has_key(out_metric["timestamp"]): items[out_metric["timestamp"]]["out_value"] = out_metric["metrics_value"] and round(out_metric["metrics_value"],2) or 0 keys = items.keys() keys.sort() metric_list = [items[key] for key in keys] ops_data_dict = {"metrics": metric_list} ops_data = json.dumps(ops_data_dict) return ops_data
def get_performance_Latency(request): data = json.loads(request.body) start_time = data["timestamp"] and int( data["timestamp"]) or int(time.time()) - 60 end_time = None latency_r_opts = { "metrics_name": "op_r_latency", "timestamp_start": start_time, "timestamp_end": end_time, "correct_cnt": None, } latency_w_opts = { "metrics_name": "op_w_latency", "timestamp_start": start_time, "timestamp_end": end_time, "correct_cnt": None, } latency_rw_opts = { "metrics_name": "op_rw_latency", "timestamp_start": start_time, "timestamp_end": end_time, "correct_cnt": None, } latency_r_data = vsmapi.get_metrics(request, latency_r_opts)["metrics"] latency_w_data = vsmapi.get_metrics(request, latency_w_opts)["metrics"] latency_rw_data = vsmapi.get_metrics(request, latency_rw_opts)["metrics"] items = {} for r_metric in latency_r_data: items[r_metric["timestamp"]] = { "timestamp": r_metric["timestamp"], "r_value": r_metric["metrics_value"] and round(r_metric["metrics_value"], 2) or 0, "w_value": 0, "rw_value": 0 } for w_metric in latency_w_data: if items.has_key(w_metric["timestamp"]): items[w_metric["timestamp"]][ "w_value"] = w_metric["metrics_value"] and round( w_metric["metrics_value"], 2) or 0 for rw_metric in latency_rw_data: if items.has_key(rw_metric["timestamp"]): items[rw_metric["timestamp"]][ "rw_value"] = rw_metric["metrics_value"] and round( rw_metric["metrics_value"], 2) or 0 keys = items.keys() keys.sort() metric_list = [items[key] for key in keys] ops_data_dict = {"metrics": metric_list} ops_data = json.dumps(ops_data_dict) return ops_data
def get_performance_Latency(request): data = json.loads(request.body) start_time = data["timestamp"] and int(data["timestamp"]) or int(time.time()) - 60 end_time = None latency_r_opts = { "metrics_name": "op_r_latency", "timestamp_start": start_time, "timestamp_end": end_time, "correct_cnt": None, } latency_w_opts = { "metrics_name": "op_w_latency", "timestamp_start": start_time, "timestamp_end": end_time, "correct_cnt": None, } latency_rw_opts = { "metrics_name": "op_rw_latency", "timestamp_start": start_time, "timestamp_end": end_time, "correct_cnt": None, } latency_r_data = vsmapi.get_metrics(request, latency_r_opts)["metrics"] latency_w_data = vsmapi.get_metrics(request, latency_w_opts)["metrics"] latency_rw_data = vsmapi.get_metrics(request, latency_rw_opts)["metrics"] items = {} for r_metric in latency_r_data: items[r_metric["timestamp"]] = { "timestamp": r_metric["timestamp"], "r_value": r_metric["metrics_value"] or 0, "w_value": 0, "rw_value": 0, } for w_metric in latency_w_data: if items.has_key(w_metric["timestamp"]): items[w_metric["timestamp"]]["w_value"] = w_metric["metrics_value"] or 0 for rw_metric in latency_rw_data: if items.has_key(rw_metric["timestamp"]): items[rw_metric["timestamp"]]["w_value"] = rw_metric["metrics_value"] or 0 keys = items.keys() keys.sort() metric_list = [items[key] for key in keys] ops_data_dict = {"metrics": metric_list} ops_data = json.dumps(ops_data_dict) return ops_data
def get_performance_cpu(request): #data = json.loads(request.body) start_time = int(time.time())-600 end_time = None cpu_opts = { "metrics_name":"cpu_usage" ,"timestamp_start":start_time ,"timestamp_end":end_time } cpu_data = vsmapi.get_metrics(request,cpu_opts)["metrics"] cpu_data_dict = {"time":[],"cpus":[]} cpu_data_dict['time'] = list(set([i['timestamp'] for i in cpu_data])) cpu_data_dict['time'].sort() cpu_data_dict['time'] = cpu_data_dict['time'][-7:] _cpu = {} for _metric in cpu_data: if not _cpu.has_key(_metric['host']): _cpu[_metric['host']] = [] _cpu[_metric['host']].append('%s_%s'%(_metric['timestamp'],_metric['metrics_value'])) keys = _cpu.keys() keys.sort() for host_name in keys: data_sort = list(set(_cpu[host_name])) data_sort.sort() data_sort_split = [a.split("_")[1] for a in data_sort][-7:] cpu_data_dict['cpus'].append({'name':host_name,'data':data_sort_split}) cpu_data_json = json.dumps(cpu_data_dict) return cpu_data_json
def get_performance_cpu(request): #data = json.loads(request.body) start_time = int(time.time()) - 600 end_time = None cpu_opts = { "metrics_name": "cpu_usage", "timestamp_start": start_time, "timestamp_end": end_time } cpu_data = vsmapi.get_metrics(request, cpu_opts)["metrics"] cpu_data_dict = {"time": [], "cpus": []} cpu_data_dict['time'] = list(set([i['timestamp'] for i in cpu_data])) cpu_data_dict['time'].sort() cpu_data_dict['time'] = cpu_data_dict['time'][-7:] _cpu = {} for _metric in cpu_data: if not _cpu.has_key(_metric['host']): _cpu[_metric['host']] = [] _cpu[_metric['host']].append( '%s_%s' % (_metric['timestamp'], _metric['metrics_value'])) keys = _cpu.keys() keys.sort() for host_name in keys: data_sort = list(set(_cpu[host_name])) data_sort.sort() data_sort_split = [a.split("_")[1] for a in data_sort][-7:] cpu_data_dict['cpus'].append({ 'name': host_name, 'data': data_sort_split }) cpu_data_json = json.dumps(cpu_data_dict) return cpu_data_json
def get_performance_Bandwith(request): data = json.loads(request.body) start_time = data["timestamp"] and int( data["timestamp"]) or int(time.time()) - 60 end_time = None bandwidth_in_opts = { "metrics_name": "op_in_bytes", "timestamp_start": start_time, "timestamp_end": end_time, "correct_cnt": None } bandwidth_out_opts = { "metrics_name": "op_out_bytes", "timestamp_start": start_time, "timestamp_end": end_time, "correct_cnt": None } bandwidth_in_data = vsmapi.get_metrics(request, bandwidth_in_opts)["metrics"] bandwidth_out_data = vsmapi.get_metrics(request, bandwidth_out_opts)["metrics"] items = {} for in_metric in bandwidth_in_data: items[in_metric["timestamp"]] = { "timestamp": in_metric["timestamp"], "in_value": in_metric["metrics_value"] and round(in_metric["metrics_value"], 2) or 0, "out_value": 0 } for out_metric in bandwidth_out_data: if items.has_key(out_metric["timestamp"]): items[out_metric["timestamp"]][ "out_value"] = out_metric["metrics_value"] and round( out_metric["metrics_value"], 2) or 0 keys = items.keys() keys.sort() metric_list = [items[key] for key in keys] ops_data_dict = {"metrics": metric_list} ops_data = json.dumps(ops_data_dict) return ops_data