コード例 #1
0
ファイル: stats.py プロジェクト: djw8605/GlideinMonitoring
def allusers(req):
    (stdout, stderr) = runCommand(" condor_status -format '%s\n' 'RemoteOwner' | sort | uniq -c")
    users = {}
    for line in stdout.readlines():
         split_line = line.strip().split()
         users[split_line[1]] = split_line[0]
    pie = PieGraph()
    metadata = { 'title': 'Users Running on GlideinWMS Resources' }
    req.content_type = "image/x-png"
    pie.run(users, req, metadata)
コード例 #2
0
ファイル: stats.py プロジェクト: djw8605/GlideinMonitoring
def idlesites(req):
    (stdout, stderr) = runCommand(" condor_status -avail -format '%s\n' 'GLIDEIN_Site' -const 'IS_MONITOR_VM =!= TRUE' | sort | uniq -c")
    sites = {}
    for line in stdout.readlines():
        split_line = line.strip().split()
        sites[split_line[1]] = split_line[0]
    
    pie = PieGraph()
    metadata = { 'title': 'Sites with idle glideins' }
    req.content_type = "image/x-png"
    pie.run(sites, req, metadata)
コード例 #3
0
ファイル: stats.py プロジェクト: djw8605/GlideinMonitoring
def flocked(req):
    (stdout, stderr) = runCommand("condor_status -schedd -format '%s ' 'TotalRunningJobs' -format '%s\n' 'TotalFlockedJobs' -const 'Name==\"glidein.unl.edu\"'")
    # Should only be 1 line: totalrunning totalflocked
    line = stdout.readline()
    totalrunning, totalflocked = line.split()
    totalrunning = int(totalrunning)
    totalflocked = int(totalflocked)
    nonflocked = totalrunning - totalflocked
    data = {"Flocked Jobs": totalflocked, "Non-Flocked Jobs": nonflocked }

    pie = PieGraph()
    metadata = { 'title': 'Flocked vs Non-Flocked' }
    req.content_type = "image/x-png"
    pie.run(data, req, metadata)
コード例 #4
0
ファイル: MergeMonitor.py プロジェクト: giffels/PRODAGENT
    def index(self, dataset):

        errHtml = "<html><body><h2>No Graph Tools installed!!!</h2>\n "
        errHtml += "</body></html>"
        try:
            from graphtool.graphs.common_graphs import PieGraph
        except ImportError:
            return errHtml
            
        xCheck = MergeSensorCrossCheck(dataset)
        files = xCheck.getFileMap()
        newFiles = xCheck.getPendingUnmergedFiles()

        totalNew = len(newFiles)

        if (len(newFiles) == 0) and (len(files) == 0):
            html = "<html><body>No files for dataset: %s</body></html>" % (
                dataset,)
            return html
            
        totalNotMerged = 0
        for unmrg, mrg in files.items():
            if mrg.strip() == "":
                totalNotMerged += 1
                
        
        totalMerged = len(files) - totalNotMerged

        datasetPng = dataset.replace("/", "", 1)
        datasetPng = datasetPng.replace("/", "-")
        datasetPng = "MergeGraph-%s.png" % datasetPng
        pngfile = os.path.join(self.workingDir, datasetPng)
        pngfileUrl = "%s?filepath=%s" % (self.imageServer, datasetPng)
        
        
        data = { "new" : totalNew,
                 "merging" : totalNotMerged,
                 "merged" : totalMerged }
        
        metadata = {'title':'Merge Status for %s' % dataset}
        pie = PieGraph()
        coords = pie.run( data, pngfile, metadata )

        html = "<html><body><img src=\"%s\"></body></html>" % pngfileUrl
        return html
コード例 #5
0
ファイル: TaskMon.py プロジェクト: bbockelm/CRAB
    def DatasetGraph(self, span, length, data):

        errHtml = "<html><body><h2>No Graph Tools installed!!!</h2>\n "
        errHtml += "</body></html>"
        try:
            from graphtool.graphs.common_graphs import PieGraph
        except ImportError:
            return errHtml
        
        pngfile = os.path.join(self.workingDir, "%s-dataset.png" % length)
        pngfileUrl = "../%s?filepath=%s" % (self.imageServer, pngfile)
        
        metadata = {"title" : "Datests"}
        pie = PieGraph()
        coords = pie.run( data, pngfile, metadata )

        html = "<html><body><img src=\"%s\"></body></html>" % pngfileUrl
        return html
コード例 #6
0
#!/usr/bin/env python

import os
from graphtool.graphs.common_graphs import PieGraph
from graphtool.tools.common import expand_string

filename = expand_string('$HOME/tmp/pie.png', os.environ)

file = open(filename, 'w')

data = {'foo': 45, 'bar': 55}
metadata = {'title': 'Hello Graphing World!'}
pie = PieGraph()
coords = pie.run(data, file, metadata)
コード例 #7
0
ファイル: TaskMon.py プロジェクト: bbockelm/CRAB
    def index(self,user=None,task=None,eff=None, **rest):

        if user : string = user 
        elif task: string=task
        else: string=eff
        action = string.split('::')[0]
        query_time = string.split('::')[1]
        dataset = string.split('::')[2]
        if action == 'task':
            tasklist=API.getTaskNameList(dataset,query_time) 
            html = """<html><body>"""
            html += "<table>\n"
            html += "<tr>"
            html += "<th>List of Task</th>"
            html += "</tr>\n"
            for t_name, nn in tasklist:
                html += "<tr>"
                html += "<td>%s</td>" % ( t_name )
                html += "</tr>\n"
            html += "</table>\n"
            html += """</body></html>"""
        elif action == 'user':
            userlist=API.getUserNameList(dataset,query_time) 
            html = """<html><body>"""
            html += "<table>\n"
            html += "<tr>"
            html += "<th>List of Users</th><th>Number of Tasks </th>"
            html += "</tr>\n"
            for num,user in userlist:
                html += "<tr>"
                html += "<td>%s</td><td>%s</td>" % ( user,num )
                html += "</tr>\n"
            html += "</table>\n"
            html += """</body></html>"""
        elif action == 'eff':
            if query_time == 'None':
                html = "<html><body><h2>No codes available</h2>\n "
                html += "</body></html>"
                return html 
            else: 
                onlyWrap = API.getWrapExit(dataset,query_time)
                onlyExec = API.getApplExit(dataset,query_time)
                data_wrap = {}
                data_exec = {} 
                for i,code in onlyWrap:
                    data_wrap[str(code)]=i 
                    #data_wrap['code']=i 
                for i,code in onlyExec:
                    data_exec[str(code)]=i 
                 
                errHtml = "<html><body><h2>No Graph Tools installed!!!</h2>\n "
                errHtml += "</body></html>"
                try:
                    from graphtool.graphs.common_graphs import PieGraph
                except ImportError:
                    return errHtml
                pngfile_wrap = os.path.join(self.workingDir, "wrappCode.png" )
                pngfileUrl_wrap = "%s?filepath=%s" % (self.imageServer, pngfile_wrap)
                pngfile_exec = os.path.join(self.workingDir, "applicationCode.png" )
                pngfileUrl_exec = "%s?filepath=%s" % (self.imageServer, pngfile_exec)
                
                metadata_wrap = {"title" : "Wrapper Error Codes"}
                metadata_exec = {"title" : "Executable Error Codes"}
          
                pie = PieGraph()
                coords_wrap = pie.run( data_wrap, pngfile_wrap, metadata_wrap )
                pie1 = PieGraph()
                coords_exec = pie1.run( data_exec, pngfile_exec, metadata_exec )
                    
                html =  '<html><body>'
                html += '<td align="left"><img src=\"%s\"></td>'% pngfileUrl_exec
                html += '<td align="left"><img src=\"%s\"></td>'% pngfileUrl_wrap
                html += """</body></html>"""
           
        return html    
コード例 #8
0
ファイル: pie.py プロジェクト: djw8605/graphtool
#!/usr/bin/env python

import os
from graphtool.graphs.common_graphs import PieGraph
from graphtool.tools.common import expand_string

filename = expand_string('$HOME/tmp/pie.png',os.environ)

file = open( filename, 'w' )

data = {'foo':45, 'bar':55}
metadata = {'title':'Hello Graphing World!'}
pie = PieGraph()
coords = pie.run( data, file, metadata )
コード例 #9
0
 def __init__(self):
   self.plot = PieGraph()