示例#1
0
    def graph(self):
        # grapher = Grapher({"vm":"/home/willmore/.d2c/deployments/22.py/QCW7N1/31/i-4B450863/opt/collectd/var/lib/collectd/dirac.lan/",
        #           "vm2":"/home/willmore/.d2c/deployments/22.py/QCW7N1/32/i-468F08BD/opt/collectd/var/lib/collectd/dirac.lan/"
        #           }, "/tmp")

        collectdPaths = []
        for role in self.deployment.roles:
            collectdPaths.extend(role.getIntsanceCollectdDirs())

        if len(collectdPaths) == 0:
            print "No Data"
            return

        print "Graph data"

        graphMap = {}
        for n, path in enumerate(collectdPaths):
            print "Adding path: " + path
            graphMap["vm" + str(n)] = str(path)

        print "Graphing " + str(graphMap)
        grapher = Grapher(graphMap, "/tmp")

        print self.deployment.getRoleStartTime()
        startString = datetime.datetime.fromtimestamp(self.deployment.getRoleStartTime()).strftime("%Y%m%d %H:%M")
        endString = datetime.datetime.fromtimestamp(self.deployment.getRoleEndTime()).strftime("%Y%m%d %H:%M")

        cpuImg = grapher.generateCPUGraphsAverage(startString, endString)
        memImg = grapher.generateMemoryGraph(startString, endString)
        netImg = grapher.generateNetworkGraph(startString, endString)

        bmp = wx.Image(cpuImg, wx.BITMAP_TYPE_PNG).ConvertToBitmap()

        hsizer = wx.BoxSizer(wx.HORIZONTAL)
        hsizer.Add(wx.StaticBitmap(self.sw, -1, bmp))
        self.sw.GetSizer().Add(hsizer)

        bmp = wx.Image(memImg, wx.BITMAP_TYPE_PNG).ConvertToBitmap()
        hsizer = wx.BoxSizer(wx.HORIZONTAL)
        hsizer.Add(wx.StaticBitmap(self.sw, -1, bmp))
        self.sw.GetSizer().Add(hsizer)

        bmp = wx.Image(netImg, wx.BITMAP_TYPE_PNG).ConvertToBitmap()
        hsizer = wx.BoxSizer(wx.HORIZONTAL)
        hsizer.Add(wx.StaticBitmap(self.sw, -1, bmp))
        self.sw.GetSizer().Add(hsizer)