In [1]:
import seaborn as sns
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import warnings
from matplotlib import rcParams
rcParams.update({'figure.autolayout': True})
warnings.filterwarnings('ignore')
%matplotlib inline

dfcr = pd.read_csv('docker_all-Chameleon-remote-20170422032837.csv', names=list(range(1,500)))
dfcr=dfcr.set_index(1)
sns.set_style("whitegrid")
dfplot=dfcr.T.dropna(how='all')
sns.set_style("whitegrid")
ax = sns.boxplot(dfplot,showfliers=False)
ax.set_xticklabels(list(dfcr.index.values),rotation=90)
ax.set_ylabel('Time Taken in s')
sns.plt.title('Chameleon Docker Mode Remote Client')
plt.savefig("Images/Chameleon-Docker-Mode-Remote-Client.png")
dfplot.describe().dropna()


Out[1]:
1 Image-List Container-Delete Image-Refresh Sontainer-Stop Host-Add Container-Create Container-List Network-List Container-Start Container-Refresh Host-List Network-Refresh
count 100.000000 100.000000 100.000000 100.000000 200.000000 100.000000 300.000000 100.000000 100.000000 100.000000 100.000000 100.000000
mean 0.704465 0.951249 1.139476 1.298594 0.727086 1.006767 0.688539 0.679448 1.309946 1.509432 0.708160 1.136850
std 0.197228 0.114525 0.298091 0.113222 0.193659 0.163982 0.141107 0.115154 0.168679 0.207548 0.273011 0.150518
min 0.598743 0.871524 0.986273 1.188020 0.600000 0.898386 0.593699 0.598423 1.173700 1.341351 0.585964 1.019787
max 2.160292 1.614150 2.908714 1.711398 2.017508 1.917490 1.594340 1.347630 2.294847 2.738615 2.709181 2.088367

In [2]:
dfcl = pd.read_csv('docker_all-Chameleon-local-20170422202501.csv', names=list(range(1,500)))

dfcl=dfcl.set_index(1)
sns.set_style("whitegrid")
dfplot=dfcl.T.dropna(how='all')
sns.set_style("whitegrid")
ax = sns.boxplot(dfplot,showfliers=False)
ax.set_xticklabels(list(dfcl.index.values),rotation=90)
ax.set_ylabel('Time Taken in s')
sns.plt.title('Chameleon Docker Mode Local Client')
plt.savefig("Images/Chameleon-Docker-Mode-Local-Client.png")
dfplot.describe().dropna()


Out[2]:
1 Image-List Container-Delete Image-Refresh Sontainer-Stop Host-Add Container-Create Container-List Network-List Container-Start Container-Refresh Host-List Network-Refresh
count 100.000000 100.000000 100.000000 100.000000 200.000000 100.000000 300.000000 100.000000 100.000000 100.000000 100.000000 100.000000
mean 0.694626 0.720943 0.763280 0.991817 0.709955 0.767027 0.697383 0.700232 0.985288 0.805140 0.692795 0.779530
std 0.038745 0.039967 0.040296 0.041183 0.037517 0.041967 0.037768 0.034705 0.044340 0.032739 0.041642 0.043125
min 0.620381 0.644679 0.668306 0.908361 0.631145 0.695743 0.619014 0.628644 0.907190 0.723022 0.616704 0.696651
max 0.833758 0.887536 0.894212 1.124226 0.850532 0.889392 0.820725 0.807984 1.258004 0.898325 0.840210 0.937448

In [3]:
dfar = pd.read_csv('docker_all-Aws-remote-20170422195527.csv', names=list(range(1,500)))

dfar=dfar.set_index(1)
sns.set_style("whitegrid")
dfplot=dfar.T.dropna(how='all')
sns.set_style("whitegrid")
ax = sns.boxplot(dfplot,showfliers=False)
ax.set_xticklabels(list(dfar.index.values),rotation=90)
ax.set_ylabel('Time Taken in s')
sns.plt.title('Aws Docker Mode Remote Client')
plt.savefig("Images/Aws-Docker-Mode-Remote-Client.png")
dfplot.describe().dropna()


Out[3]:
1 Image-List Container-Delete Image-Refresh Sontainer-Stop Host-Add Container-Create Container-List Network-List Container-Start Container-Refresh Host-List Network-Refresh
count 100.000000 100.000000 100.000000 100.000000 200.000000 100.000000 300.000000 100.000000 100.000000 100.000000 100.000000 100.000000
mean 0.660927 0.785346 0.924546 1.016566 0.691342 0.797728 0.655183 0.668407 1.017756 0.824201 0.658872 0.946015
std 0.128096 0.090063 0.109038 0.121708 0.114207 0.075012 0.109763 0.098480 0.144840 0.069826 0.124807 0.170951
min 0.578973 0.702634 0.797756 0.909698 0.605017 0.710057 0.570922 0.579863 0.903698 0.749772 0.575139 0.779834
max 1.515022 1.199214 1.448800 1.863654 1.646873 1.161394 1.447671 1.050649 2.015469 1.177503 1.335303 1.933577

In [4]:
dfal = pd.read_csv('docker_all-Aws-local-20170422204102.csv', names=list(range(1,500)))

dfal=dfal.set_index(1)
sns.set_style("whitegrid")
dfplot=dfal.T.dropna(how='all')
sns.set_style("whitegrid")
ax = sns.boxplot(dfplot,showfliers=False)
ax.set_xticklabels(list(dfal.index.values),rotation=90)
ax.set_ylabel('Time Taken in s')
sns.plt.title('Aws Docker Mode Local Client')
plt.savefig("Images/Aws-Docker-Mode-Local-Client.png")
dfplot.describe().dropna()


Out[4]:
1 Image-List Container-Delete Image-Refresh Sontainer-Stop Host-Add Container-Create Container-List Network-List Container-Start Container-Refresh Host-List Network-Refresh
count 100.000000 100.000000 100.000000 100.000000 200.000000 100.000000 300.000000 100.000000 100.000000 100.000000 100.000000 100.000000
mean 0.533516 0.545212 0.592127 0.729600 0.544360 0.584020 0.529223 0.534386 0.720137 0.545879 0.529676 0.590613
std 0.004381 0.004440 0.005433 0.014494 0.004384 0.006293 0.004301 0.005054 0.011298 0.004246 0.004277 0.005197
min 0.521128 0.535968 0.576922 0.702015 0.534572 0.568116 0.518159 0.523785 0.692023 0.535186 0.522324 0.581348
max 0.548149 0.559361 0.615424 0.775174 0.558682 0.605060 0.544602 0.551067 0.745235 0.560784 0.546049 0.609399

In [5]:
dfscr = pd.read_csv('swarm_all-Chameleon-remote-20170422233318.csv', names=list(range(1,500)))

dfscr=dfscr.set_index(1)
dfplot=dfscr.T.dropna(how='all')
sns.set_style("whitegrid")
ax = sns.boxplot(dfplot,showfliers=False)
ax.set_xticklabels(list(dfscr.index.values),rotation=90)
ax.set_ylabel('Time Taken in s')
sns.plt.title('Chameleon Swarm Mode Remote Client')
plt.savefig("Images/Chameleon-Swarm-Mode-Remote-Client.png")
dfplot.describe().dropna()


Out[5]:
1 Node-List Image-List Image-Refresh Network-Delete Swarm-Join Host-Add Swarm-Create Node-Refresh Container-List Swarm-Leave Network-List Service-Refresh Network-Create Container-Refresh Service-Delete Service-Create Host-List Service-List Network-Refresh
count 100.000000 100.000000 100.000000 100.000000 100.000000 400.000000 100.000000 100.000000 100.000000 200.000000 100.000000 100.000000 100.000000 100.000000 100.000000 100.000000 100.000000 100.000000 100.000000
mean 0.631070 0.625951 0.980851 1.023976 1.666017 0.664641 1.962776 0.910543 0.637842 2.142509 0.624902 0.645367 1.008771 2.273433 0.990914 1.937590 0.629462 0.639460 1.008516
std 0.055757 0.052720 0.220460 0.246694 0.269947 0.076415 0.339685 0.127448 0.050077 0.186452 0.027469 0.099171 0.162430 0.386233 0.140227 0.273090 0.083339 0.074943 0.126090
min 0.578972 0.579986 0.816103 0.840234 1.318171 0.592102 1.329145 0.762859 0.587348 1.046184 0.591310 0.586266 0.853456 1.394429 0.841635 1.713183 0.574437 0.586860 0.840995
max 0.932485 0.925758 2.523238 2.790604 2.696836 1.315254 2.671935 1.478760 0.884970 2.948154 0.734653 1.490615 1.505533 3.709799 1.550307 3.400181 1.233925 1.184239 1.542003

In [6]:
dfscl = pd.read_csv('swarm_all-Chameleon-local-20170423003245.csv', names=list(range(1,500)))

dfscl=dfscl.set_index(1)
dfplot=dfscl.T.dropna(how='all')
sns.set_style("whitegrid")
ax = sns.boxplot(dfplot,showfliers=False)
ax.set_xticklabels(list(dfscl.index.values),rotation=90)
ax.set_ylabel('Time Taken in s')
sns.plt.title('Chameleon Swarm Mode Local Client')
plt.savefig("Images/Chameleon-Swarm-Mode-Local-Client.png")
dfplot.describe().dropna()


Out[6]:
1 Node-List Image-List Image-Refresh Network-Delete Swarm-Join Host-Add Swarm-Create Node-Refresh Container-List Swarm-Leave Network-List Service-Refresh Network-Create Container-Refresh Service-Delete Service-Create Host-List Service-List Network-Refresh
count 100.000000 100.000000 100.000000 100.000000 100.000000 400.000000 100.000000 100.000000 100.000000 200.000000 100.000000 100.000000 100.000000 100.000000 100.000000 100.000000 100.000000 100.000000 100.000000
mean 0.704327 0.695649 0.732318 0.700866 0.924851 0.713508 1.320185 0.713636 0.695669 1.932345 0.698198 0.709647 0.698140 1.692502 0.703973 1.635758 0.692887 0.697606 0.775687
std 0.036941 0.038716 0.034942 0.034796 0.053111 0.035155 0.212608 0.039236 0.032581 0.240995 0.034717 0.038741 0.034957 0.181010 0.039126 0.115467 0.033238 0.034794 0.039186
min 0.632948 0.625751 0.659174 0.624905 0.804060 0.641355 0.842134 0.640144 0.641851 1.648795 0.624596 0.636055 0.630234 0.742220 0.628097 1.504428 0.620137 0.647907 0.699825
max 0.809177 0.825892 0.829534 0.791838 1.060409 0.850172 1.551446 0.868905 0.784324 3.982627 0.779996 0.834330 0.801650 2.036298 0.835891 2.415318 0.764359 0.853795 0.916952

In [7]:
dfsar = pd.read_csv('swarm_all-Aws-remote-20170423003923.csv', names=list(range(1,500)))

dfsar=dfsar.set_index(1)
sns.set_style("whitegrid")
dfplot=dfsar.T.dropna(how='all')
sns.set_style("whitegrid")
ax = sns.boxplot(dfplot,showfliers=False)
ax.set_xticklabels(list(dfsar.index.values),rotation=90)
ax.set_ylabel('Time Taken in s')
sns.plt.title('Aws Swarm Mode Remote Client')
plt.savefig("Images/Aws-Swarm-Mode-Remote-Client.png")
dfplot.describe().dropna()


Out[7]:
1 Node-List Image-List Image-Refresh Network-Delete Swarm-Join Host-Add Swarm-Create Node-Refresh Container-List Swarm-Leave Network-List Service-Refresh Network-Create Container-Refresh Service-Delete Service-Create Host-List Service-List Network-Refresh
count 100.000000 100.000000 100.000000 100.000000 100.000000 400.000000 100.000000 100.000000 100.000000 200.000000 100.000000 100.000000 100.000000 100.000000 100.000000 100.000000 100.000000 100.000000 100.000000
mean 0.611847 0.614230 0.818094 0.822046 1.177998 0.653276 1.639934 0.737723 0.621960 1.459686 0.624510 0.630553 0.781440 1.846410 0.781050 1.905144 0.607870 0.616850 0.834230
std 0.021970 0.040611 0.139289 0.279774 0.344698 0.061534 0.342217 0.107376 0.039454 0.288128 0.050163 0.089384 0.155546 0.347848 0.204842 0.164133 0.030200 0.052035 0.145007
min 0.574475 0.574482 0.702046 0.692499 0.990781 0.585452 1.035923 0.666880 0.582308 1.157657 0.575722 0.570292 0.684196 1.048857 0.685641 1.764717 0.560550 0.573679 0.753356
max 0.746405 0.923985 1.784501 2.060313 3.111487 1.258828 2.745492 1.673021 0.903201 3.444405 0.956634 1.492235 1.729339 3.055446 1.746802 2.820585 0.822558 1.033780 1.786516

In [8]:
dfsal = pd.read_csv('swarm_all-Aws-local-20170422235928.csv', names=list(range(1,500)))

dfsal=dfsal.set_index(1)
sns.set_style("whitegrid")
dfplot=dfsal.T.dropna(how='all')
sns.set_style("whitegrid")
ax = sns.boxplot(dfplot,showfliers=False)
ax.set_xticklabels(list(dfsal.index.values),rotation=90)
ax.set_ylabel('Time Taken in s')
sns.plt.title('Aws Swarm Mode Local Client')
plt.savefig("Images/Aws-Swarm-Mode-Local-Client.png")
dfplot.describe().dropna()


Out[8]:
1 Node-List Image-List Image-Refresh Network-Delete Swarm-Join Host-Add Swarm-Create Node-Refresh Container-List Swarm-Leave Network-List Service-Refresh Network-Create Container-Refresh Service-Delete Service-Create Host-List Service-List Network-Refresh
count 100.000000 100.000000 100.000000 100.000000 100.000000 400.000000 100.000000 100.000000 100.000000 200.000000 100.000000 100.000000 100.000000 100.000000 100.000000 100.000000 100.000000 100.000000 100.000000
mean 0.528592 0.531616 0.571131 0.535502 0.690456 0.542273 1.200933 0.542188 0.533314 1.418761 0.532427 0.536078 0.530524 1.665829 0.534663 1.661104 0.529119 0.528451 0.583359
std 0.003744 0.004053 0.005629 0.005069 0.014646 0.004631 0.045731 0.004385 0.003670 0.275313 0.004334 0.003978 0.004703 0.373554 0.003739 0.071296 0.004181 0.004658 0.004911
min 0.520954 0.520286 0.558785 0.527457 0.653338 0.531553 0.758579 0.535464 0.524944 0.996811 0.521955 0.525211 0.520159 0.667276 0.527093 1.564930 0.522036 0.520027 0.555502
max 0.542206 0.542936 0.588488 0.557156 0.769094 0.564518 1.261137 0.557807 0.543884 2.823696 0.544429 0.549405 0.545077 2.840664 0.545011 1.981715 0.542202 0.546803 0.595642

In [9]:
#Merge the data frames
dfcr1=dfcr.T.describe().dropna().loc[['mean','std']]
dfcr1['cloud'] = 'Chameleon'
dfcr1['type'] = 'Remote'
dfcl1=dfcl.T.describe().dropna().loc[['mean','std']]
dfcl1['cloud'] = 'Chameleon'
dfcl1['type'] = 'Local'
dfar1=dfar.T.describe().dropna().loc[['mean','std']]
dfar1['cloud'] = 'Aws'
dfar1['type'] = 'Remote'
dfal1=dfal.T.describe().dropna().loc[['mean','std']]
dfal1['cloud'] = 'Aws'
dfal1['type'] = 'Local'
dfmerged_docker=pd.concat([dfcr1,dfcl1,dfar1,dfal1])
dfmerged_docker.reset_index(level=0, inplace=True)
dfmerged_docker.set_index(['cloud', 'type','index']).T.stack().to_csv('Docker.csv',float_format='%.3f')

In [10]:
#Merge the data frames
dfscr1=dfscr.T.describe().dropna().loc[['mean','std']]
dfscr1['cloud'] = 'Chameleon'
dfscr1['type'] = 'Remote'
dfscl1=dfscl.T.describe().dropna().loc[['mean','std']]
dfscl1['cloud'] = 'Chameleon'
dfscl1['type'] = 'Local'
dfsar1=dfsar.T.describe().dropna().loc[['mean','std']]
dfsar1['cloud'] = 'Aws'
dfsar1['type'] = 'Remote'
dfsal1=dfsal.T.describe().dropna().loc[['mean','std']]
dfsal1['cloud'] = 'Aws'
dfsal1['type'] = 'Local'
dfmerged_docker=pd.concat([dfscr1,dfscl1,dfsar1,dfsal1])
dfmerged_docker=pd.concat([dfscr1,dfscl1,dfsar1,dfsal1])
dfmerged_docker.set_index(['cloud', 'type','index']).T.stack().to_csv('Swarm.csv',float_format='%.3f')


---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
C:\Users\vkart\Anaconda3\lib\site-packages\pandas\indexes\base.py in get_loc(self, key, method, tolerance)
   1944             try:
-> 1945                 return self._engine.get_loc(key)
   1946             except KeyError:

pandas\index.pyx in pandas.index.IndexEngine.get_loc (pandas\index.c:4154)()

pandas\index.pyx in pandas.index.IndexEngine.get_loc (pandas\index.c:4018)()

pandas\hashtable.pyx in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12368)()

pandas\hashtable.pyx in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12322)()

KeyError: 'index'

During handling of the above exception, another exception occurred:

KeyError                                  Traceback (most recent call last)
<ipython-input-10-0467ea5bef06> in <module>()
     14 dfmerged_docker=pd.concat([dfscr1,dfscl1,dfsar1,dfsal1])
     15 dfmerged_docker=pd.concat([dfscr1,dfscl1,dfsar1,dfsal1])
---> 16 dfmerged_docker.set_index(['cloud', 'type','index']).T.stack().to_csv('Swarm.csv',float_format='%.3f')

C:\Users\vkart\Anaconda3\lib\site-packages\pandas\core\frame.py in set_index(self, keys, drop, append, inplace, verify_integrity)
   2835                 names.append(None)
   2836             else:
-> 2837                 level = frame[col]._values
   2838                 names.append(col)
   2839                 if drop:

C:\Users\vkart\Anaconda3\lib\site-packages\pandas\core\frame.py in __getitem__(self, key)
   1995             return self._getitem_multilevel(key)
   1996         else:
-> 1997             return self._getitem_column(key)
   1998 
   1999     def _getitem_column(self, key):

C:\Users\vkart\Anaconda3\lib\site-packages\pandas\core\frame.py in _getitem_column(self, key)
   2002         # get column
   2003         if self.columns.is_unique:
-> 2004             return self._get_item_cache(key)
   2005 
   2006         # duplicate columns & possible reduce dimensionality

C:\Users\vkart\Anaconda3\lib\site-packages\pandas\core\generic.py in _get_item_cache(self, item)
   1348         res = cache.get(item)
   1349         if res is None:
-> 1350             values = self._data.get(item)
   1351             res = self._box_item_values(item, values)
   1352             cache[item] = res

C:\Users\vkart\Anaconda3\lib\site-packages\pandas\core\internals.py in get(self, item, fastpath)
   3288 
   3289             if not isnull(item):
-> 3290                 loc = self.items.get_loc(item)
   3291             else:
   3292                 indexer = np.arange(len(self.items))[isnull(self.items)]

C:\Users\vkart\Anaconda3\lib\site-packages\pandas\indexes\base.py in get_loc(self, key, method, tolerance)
   1945                 return self._engine.get_loc(key)
   1946             except KeyError:
-> 1947                 return self._engine.get_loc(self._maybe_cast_indexer(key))
   1948 
   1949         indexer = self.get_indexer([key], method=method, tolerance=tolerance)

pandas\index.pyx in pandas.index.IndexEngine.get_loc (pandas\index.c:4154)()

pandas\index.pyx in pandas.index.IndexEngine.get_loc (pandas\index.c:4018)()

pandas\hashtable.pyx in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12368)()

pandas\hashtable.pyx in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12322)()

KeyError: 'index'

In [ ]:
dfes_dockerl = pd.read_csv('elasticsearch/Elastic-Docker-BenchmarkResult.txt',sep='|',skiprows=[1],skipinitialspace=True,dtype={'Value ':str},keep_default_na ='')
dfes_docker= dfes_dockerl[['Metric ','Operation ','Value ','Unit ']]
dfes_swarml = pd.read_csv('elasticsearch/Elastic-Swarm-BenchmarkResult.txt',sep='|',skiprows=[1],skipinitialspace=True,dtype={'Value ':str},keep_default_na ='')
dfes_swarm= dfes_swarml[['Metric ','Operation ','Value ','Unit ']]

In [ ]:
dfes_docker['Mode'] = 'Docker'
dfes_swarm['Mode'] = 'Swarm'
dfesmerged=pd.concat([dfes_docker,dfes_swarm])
dfesmerged.set_index(['Mode','Unit ','Metric ', 'Operation ',]).T.stack().stack().stack().to_csv('escompare.csv',float_format='%.3f')

In [ ]:
dfcr1=dfcr.T.dropna(how='all')
dfcr1['cloud'] = 'Chameleon'
dfcr1['type'] = 'Remote'
dfcl1=dfcl.T.dropna(how='all')
dfcl1['cloud'] = 'Chameleon'
dfcl1['type'] = 'Local'
dfar1=dfar.T.dropna(how='all')
dfar1['cloud'] = 'Aws'
dfar1['type'] = 'Remote'
dfal1=dfal.T.dropna(how='all')
dfal1['cloud'] = 'Aws'
dfal1['type'] = 'Local'
dfmerged_docker_all=pd.concat([dfcr1,dfcl1,dfar1,dfal1])

In [ ]:
dfplot=dfmerged_docker_all.set_index(['cloud','type'],append=True).stack().reset_index()
sns.set_style("whitegrid")
plt.figure(figsize=(8, 6))
ax = sns.boxplot(x=1,y=0 , hue='cloud',data = dfplot[dfplot['cloud'] == 'Remote'], showfliers=False)
ax.set_xticklabels(list(dfplot[1].values),rotation=90)
ax.set_ylabel('Time Taken in s')
sns.plt.title('Aws Swarm Mode Local Client')

In [ ]:
dfes = pd.read_csv('escompare.csv')

In [ ]:
sns.set_style("whitegrid")
plt.figure(figsize=(8, 6))
ax = sns.boxplot(x=1,y=0 , hue='cloud',data = dfplot[dfplot['type'] == 'Remote'], showfliers=False)
ax.set_xticklabels(list(dfplot[1].values),rotation=90)
ax.set_ylabel('Time Taken in s')
sns.plt.title('Aws Swarm Mode Local Client')

In [ ]: