Fix to hadle complicated instance placement scenarios in shakerplot

Change-Id: I4f2cb54438135bff2ef5b3039c9b35f3721771a4
This commit is contained in:
Sindhur 2016-03-28 17:36:36 -04:00
parent 87500192e4
commit ee2ab80543

View File

@ -8,21 +8,27 @@ import sys
def getiter(prog_dict): def getiter(prog_dict):
density = prog_dict['deployment']['accommodation'][2]['density'] density = prog_dict['deployment']['accommodation'][2]['density']
compute = prog_dict['deployment']['accommodation'][3]['compute_nodes']
iterval = density*compute
if(prog_dict['deployment']['accommodation'][0]=="pair" and
prog_dict['deployment']['accommodation'][1]=="single_room"):
iterval //=2
iterlist = [] iterlist = []
if prog_dict['execution']['progression'] in ['arithmetic', 'linear', if prog_dict['execution']['progression'] in ['arithmetic', 'linear',
'linear_progression']: 'linear_progression']:
iterlist = range(1,density+1) iterlist = range(1,iterval+1)
elif prog_dict['execution']['progression'] in ['geometric', 'quadratic', elif prog_dict['execution']['progression'] in ['geometric', 'quadratic',
'quadratic_progression']: 'quadratic_progression']:
iterlist = [density] iterlist = [iterval]
while density > 1: while iterval > 1:
density //= 2 iterval //= 2
iterlist.append(density) iterlist.append(iterval)
iterlist.reverse() iterlist.reverse()
elif prog_dict['execution']['progression'] == None: elif prog_dict['execution']['progression'] == None:
iterlist.append(density) iterlist.append(iterval)
return iterlist return iterlist
def get_uuidlist(data): def get_uuidlist(data):
uuidlist = [] uuidlist = []
for key in data['records'].iterkeys(): for key in data['records'].iterkeys():
@ -56,10 +62,6 @@ def generate_aggregated_graphs(data, fname):
for index in range(time1-1): for index in range(time1-1):
countlist[index] += ((data['records'][uuid] countlist[index] += ((data['records'][uuid]
['samples'][index][1])/math.pow(10,6)) ['samples'][index][1])/math.pow(10,6))
else:
print ("No data for test uuid {} with agent {} and"
"concurrency {}").format(uuid,
data['records'][uuid]['agent'], concur)
plt.xlabel('Time in seconds') plt.xlabel('Time in seconds')
plt.ylabel('Throughput in Mbps') plt.ylabel('Throughput in Mbps')
plt.title('Aggregated Throuhput for concurrencies \non node\n{}'.format( plt.title('Aggregated Throuhput for concurrencies \non node\n{}'.format(
@ -96,10 +98,6 @@ def generate_perinstance_graphs(data, fname):
if data['records'][uuid]['status'] == "ok": if data['records'][uuid]['status'] == "ok":
resultlist[index] = ((data['records'][uuid] resultlist[index] = ((data['records'][uuid]
['samples'][index][1])/math.pow(10,6)) ['samples'][index][1])/math.pow(10,6))
else:
print ("No data for test uuid {} with agent {} and"
"concurrency {}").format(uuid,
data['records'][uuid]['agent'], concur)
plt.xlabel('Time in seconds') plt.xlabel('Time in seconds')
plt.ylabel('Throughput in Mbps') plt.ylabel('Throughput in Mbps')
plt.title('Throughput for {} \non node \n{}'.format( plt.title('Throughput for {} \non node \n{}'.format(