Mark Bergsma has submitted this change and it was merged.

Change subject: Revert "Fix various noc files to be pep8 compliant"
......................................................................


Revert "Fix various noc files to be pep8 compliant"

Not merged on sockpuppet

This reverts commit 04a2fcb0d1c9068c15e43c1085d5d0f6a233bab5

Change-Id: I050ff93d18e3c466baf1029464c99d5d63c2152e
---
M files/cgi-bin/noc/extractprofile.py
M files/cgi-bin/noc/ng/admin.py
M files/cgi-bin/noc/ng/extractprofile.py
M files/cgi-bin/noc/ng/report.py
M files/cgi-bin/noc/rep.py
M files/cgi-bin/noc/report.py
6 files changed, 346 insertions(+), 372 deletions(-)

Approvals:
  Mark Bergsma: Verified; Looks good to me, approved



diff --git a/files/cgi-bin/noc/extractprofile.py 
b/files/cgi-bin/noc/extractprofile.py
index 8cada4b..a18967d 100755
--- a/files/cgi-bin/noc/extractprofile.py
+++ b/files/cgi-bin/noc/extractprofile.py
@@ -2,71 +2,73 @@
 # encoding: utf-8
 
 #####################################################################
-### THIS FILE IS MANAGED BY PUPPET
+### THIS FILE IS MANAGED BY PUPPET 
 ### puppet:///files/cgi-bin/noc/extractprofile.py
 #####################################################################
 
 # showprofile
 # Copyright (c) 2006 Domas Mituzas
 
+import sys
+import os
+
 import xml.sax
+from xml.sax import saxutils
 from xml.sax import make_parser
 from xml.sax.handler import feature_namespaces
 
-
 class ExtractProfile(xml.sax.handler.ContentHandler):
-    def __init__(self):
-        self.parser = make_parser()
-        self.parser.setFeature(feature_namespaces, 0)
-        self.parser.setContentHandler(self)
+       def __init__(self):
+               self.parser=make_parser()
+               self.parser.setFeature(feature_namespaces,0)
+               self.parser.setContentHandler(self)
+       def startElement(self,name,attrs):
+               if name=="db":
+                       self.db=attrs.get("name")
+                       self.profile[self.db]={}
+               if name=="host":
+                       self.host=attrs.get("name")
+                       self.profile[self.db][self.host]={}
+               if name=="eventname":
+                       self.inContent=1
+                       self.contentData=[]
+               if name=="stats":
+                       self.event["count"]=int(attrs.get("count"))
+               if name=="cputime":
+                       self.event["cpu"]=float(attrs.get("total"))
+                       self.event["cpusq"]=float(attrs.get("totalsq"))
+               if name=="realtime":
+                       self.event["real"]=float(attrs.get("total"))
+                       self.event["realsq"]=float(attrs.get("totalsq"))
+                       
+       def endElement(self,name):
+               if name=="eventname":
+                       self.inContent=0
+                       self.eventname = "".join(self.contentData)
+                       self.profile[self.db][self.host][self.eventname]={}
+                       
self.event=self.profile[self.db][self.host][self.eventname]
+               if name=="stats":
+                       if self.event["count"]:
+                               
self.event["onereal"]=self.event["real"]/self.event["count"]
+                               
self.event["onecpu"]=self.event["cpu"]/self.event["count"]
+                       else:
+                               self.event["onereal"]=0
+                               self.event["onecpu"]=0
 
-    def startElement(self, name, attrs):
-        if name == "db":
-            self.db = attrs.get("name")
-            self.profile[self.db] = {}
-        if name == "host":
-            self.host = attrs.get("name")
-            self.profile[self.db][self.host] = {}
-        if name == "eventname":
-            self.inContent = 1
-            self.contentData = []
-        if name == "stats":
-            self.event["count"] = int(attrs.get("count"))
-        if name == "cputime":
-            self.event["cpu"] = float(attrs.get("total"))
-            self.event["cpusq"] = float(attrs.get("totalsq"))
-        if name == "realtime":
-            self.event["real"] = float(attrs.get("total"))
-            self.event["realsq"] = float(attrs.get("totalsq"))
+       def characters(self,chars):
+               if self.inContent:
+                       self.contentData.append(chars)
 
-    def endElement(self, name):
-        if name == "eventname":
-            self.inContent = 0
-            self.eventname = "".join(self.contentData)
-            self.profile[self.db][self.host][self.eventname] = {}
-            self.event = self.profile[self.db][self.host][self.eventname]
-        if name == "stats":
-            if self.event["count"]:
-                self.event["onereal"] = self.event["real"] / 
self.event["count"]
-                self.event["onecpu"] = self.event["cpu"] / self.event["count"]
-            else:
-                self.event["onereal"] = 0
-                self.event["onecpu"] = 0
+       def getProfile(self):
+               return self.profile
 
-    def characters(self, chars):
-        if self.inContent:
-            self.contentData.append(chars)
-
-    def getProfile(self):
-        return self.profile
-
-    def extract(self, file=False):
-        if not file:
-            file = open("profile.xml")
-        self.profile = {}
-        self.inContent = 0
-        self.parser.parse(file)
-        return self.profile
+       def extract(self,file=False):
+               if (file==False):
+                       file=open("profile.xml")
+               self.profile={}
+               self.inContent=0
+               self.parser.parse(file)
+               return self.profile
 
 if __name__ == '__main__':
         print "\nNot a valid entry point"
diff --git a/files/cgi-bin/noc/ng/admin.py b/files/cgi-bin/noc/ng/admin.py
index 3561bf9..1e2e20e 100755
--- a/files/cgi-bin/noc/ng/admin.py
+++ b/files/cgi-bin/noc/ng/admin.py
@@ -1,58 +1,57 @@
 #!/usr/bin/python
 #####################################################################
-### THIS FILE IS MANAGED BY PUPPET
+### THIS FILE IS MANAGED BY PUPPET 
 ### puppet:///files/cgi-bin/noc/ng/admin.py
 #####################################################################
 
 import shelve
 import cgi
-import cgitb
-cgitb.enable()
+import cgitb; cgitb.enable()
 
 import datetime
 import sys
 import config
 
-password = config.password
+password=config.password
 
 print "Content-type: text/html\n"
 
-form = cgi.SvFormContentDict()
+form=cgi.SvFormContentDict()
 
 if 'password' in form:
-    if form['password'] != "" and form['password'] != password:
-        print "access denied!!!!!!!!!1111oneoneeleven"
-        sys.exit()
-    else:
-        authed = True
+       if form['password'] != "" and form['password'] != password: 
+               print "access denied!!!!!!!!!1111oneoneeleven"
+               sys.exit()
+       else:
+               authed=True
 else:
-    authed = False
+       authed=False
 
 print """
-    <script>function deletesample(sample) 
{form=document.forms['actions'];form['sample'].value=sample;form.submit();}</script>
-    <form name='actions' method='POST' action='admin.py'>
-    <input type='submit' name='action' value='take'>
-    <input type='submit' name='action' value='clear'>
-    <input type='hidden' name='sample' value=''>
-    <input type='%s' name='password' value='%s'
-    </form>""" % ((authed and 'hidden' or 'password'), (authed and password or 
''))
+       <script>function deletesample(sample) 
{form=document.forms['actions'];form['sample'].value=sample;form.submit();}</script>
+       <form name='actions' method='POST' action='admin.py'>
+       <input type='submit' name='action' value='take'>
+       <input type='submit' name='action' value='clear'>
+       <input type='hidden' name='sample' value=''>
+       <input type='%s' name='password' value='%s'
+       </form>""" % ((authed and 'hidden' or 'password'),(authed and password 
or ''))
 
 store = shelve.open('/var/run/profile-baselines')
 
 if 'action' not in form:
-    if 'sample' in form and authed:
-        del store[form['sample']]
+       if 'sample' in form and authed:
+               del store[form['sample']]
 elif form['action'] == 'clear' and authed:
-    from socket import *
-    sock = socket(AF_INET, SOCK_DGRAM)
-    sock.sendto('-truncate', (config.host, config.port))
+       from socket import *
+       sock = socket(AF_INET,SOCK_DGRAM)
+       sock.sendto('-truncate',(config.host,config.port))
 elif form['action'] == 'take' and authed:
-    from extractprofile import SocketProfile
-    store[str(datetime.datetime.now()).replace(" ", "-")] = 
SocketProfile(config.host, config.port).extract()
+       from extractprofile import SocketProfile
+       store[str(datetime.datetime.now()).replace(" ","-")] = 
SocketProfile(config.host,config.port).extract()
 elif 'sample' in form and authed:
-    del store[form['sample']]
+       del store[form['sample']]
 
 for entry in store.keys():
-    print """<div><a href='report.py?sample=%s'>%s</a> <a 
href='javascript:deletesample("%s")'>delete</a></div>""" % (entry, entry, entry)
-
+       print """<div><a href='report.py?sample=%s'>%s</a> <a 
href='javascript:deletesample("%s")'>delete</a></div>""" % (entry,entry,entry)
+       
 print "<div><a href='report.py'>current</a></div>"
diff --git a/files/cgi-bin/noc/ng/extractprofile.py 
b/files/cgi-bin/noc/ng/extractprofile.py
index a2de7ef..8cc92e3 100755
--- a/files/cgi-bin/noc/ng/extractprofile.py
+++ b/files/cgi-bin/noc/ng/extractprofile.py
@@ -2,86 +2,85 @@
 # encoding: utf-8
 
 #####################################################################
-### THIS FILE IS MANAGED BY PUPPET
+### THIS FILE IS MANAGED BY PUPPET 
 ### puppet:///files/cgi-bin/noc/ng/extractprofile.py
 #####################################################################
 
 # showprofile
 # Copyright (c) 2006 Domas Mituzas
 
+
+import sys
+import os
 import socket
 
 import xml.sax
+from xml.sax import saxutils
 from xml.sax import make_parser
 from xml.sax.handler import feature_namespaces
 
-
 # XML SAX parser class, puts stuff into some array!
 class ExtractProfile(xml.sax.handler.ContentHandler):
-    def __init__(self):
-        self.parser = make_parser()
-        self.parser.setFeature(feature_namespaces, 0)
-        self.parser.setContentHandler(self)
+       def __init__(self):
+               self.parser=make_parser()
+               self.parser.setFeature(feature_namespaces,0)
+               self.parser.setContentHandler(self)
+       def startElement(self,name,attrs):
+               if name=="db":
+                       self.db=attrs.get("name")
+                       self.profile[self.db]={}
+               if name=="host":
+                       self.host=attrs.get("name")
+                       self.profile[self.db][self.host]={}
+               if name=="eventname":
+                       self.inContent=1
+                       self.contentData=[]
+               if name=="stats":
+                       self.event["count"]=int(attrs.get("count"))
+               if name=="cputime":
+                       self.event["cpu"]=float(attrs.get("total"))
+                       self.event["cpusq"]=float(attrs.get("totalsq"))
+               if name=="realtime":
+                       self.event["real"]=float(attrs.get("total"))
+                       self.event["realsq"]=float(attrs.get("totalsq"))
+                       
+       def endElement(self,name):
+               if name=="eventname":
+                       self.inContent=0
+                       self.eventname = "".join(self.contentData)
+                       self.profile[self.db][self.host][self.eventname]={}
+                       
self.event=self.profile[self.db][self.host][self.eventname]
+               if name=="stats":
+                       
self.event["onereal"]=self.event["real"]/self.event["count"]
+                       
self.event["onecpu"]=self.event["cpu"]/self.event["count"]
+       def characters(self,chars):
+               if self.inContent:
+                       self.contentData.append(chars)
 
-    def startElement(self, name, attrs):
-        if name == "db":
-            self.db = attrs.get("name")
-            self.profile[self.db] = {}
-        if name == "host":
-            self.host = attrs.get("name")
-            self.profile[self.db][self.host] = {}
-        if name == "eventname":
-            self.inContent = 1
-            self.contentData = []
-        if name == "stats":
-            self.event["count"] = int(attrs.get("count"))
-        if name == "cputime":
-            self.event["cpu"] = float(attrs.get("total"))
-            self.event["cpusq"] = float(attrs.get("totalsq"))
-        if name == "realtime":
-            self.event["real"] = float(attrs.get("total"))
-            self.event["realsq"] = float(attrs.get("totalsq"))
+       def getProfile(self):
+               return self.profile
 
-    def endElement(self, name):
-        if name == "eventname":
-            self.inContent = 0
-            self.eventname = "".join(self.contentData)
-            self.profile[self.db][self.host][self.eventname] = {}
-            self.event = self.profile[self.db][self.host][self.eventname]
-        if name == "stats":
-            self.event["onereal"] = self.event["real"] / self.event["count"]
-            self.event["onecpu"] = self.event["cpu"] / self.event["count"]
-
-    def characters(self, chars):
-        if self.inContent:
-            self.contentData.append(chars)
-
-    def getProfile(self):
-        return self.profile
-
-    def extract(self, file=False):
-        if not file:
-            file = open("profile.xml")
-        self.profile = {}
-        self.inContent = 0
-        self.parser.parse(file)
-        return self.profile
-
-
+       def extract(self,file=False):
+               if (file==False):
+                       file=open("profile.xml")
+               self.profile={}
+               self.inContent=0
+               self.parser.parse(file)
+               return self.profile
+               
 class SocketProfile:
-    def __init__(self, host='localhost', port=3811):
-        self.sock = SocketSource()
-        self.sock.connect((host, port))
-
-    def extract(self):
-        return ExtractProfile().extract(self.sock)
-
-
+       def __init__(self,host='localhost',port=3811):
+               self.sock=SocketSource()
+               self.sock.connect((host,port))
+               
+       def extract(self):
+               return ExtractProfile().extract(self.sock)
+               
 class SocketSource (socket.socket):
-    """Stub class for extending socket object to support file source 
mechanics"""
-    def read(self, what):
-        """Alias recv to read, missing in socket.socket"""
-        return self.recv(what, 0)
+       """Stub class for extending socket object to support file source 
mechanics"""
+       def read(self,what):
+               """Alias recv to read, missing in socket.socket"""
+               return self.recv(what,0)
 
 if __name__ == '__main__':
         print "\nNot a valid entry point"
diff --git a/files/cgi-bin/noc/ng/report.py b/files/cgi-bin/noc/ng/report.py
index 005d8f2..a9e7a8a 100755
--- a/files/cgi-bin/noc/ng/report.py
+++ b/files/cgi-bin/noc/ng/report.py
@@ -1,7 +1,7 @@
 #!/usr/bin/python
 
 #####################################################################
-### THIS FILE IS MANAGED BY PUPPET
+### THIS FILE IS MANAGED BY PUPPET 
 ### puppet:///files/cgi-bin/noc/ng/report.py
 #####################################################################
 
@@ -9,114 +9,108 @@
 
 import config
 
-db = config.db
+db=config.db
 
-sort = "real"
-limit = 50
+sort="real"
+limit=50
 
-prefix = ""
+prefix=""
 
 
 from extractprofile import SocketProfile
 
 import cgi
 import sys
-import cgitb
-cgitb.enable()
+import cgitb; cgitb.enable()
 
+import socket
 import shelve
 
-print "Content-type: text/html"
+print "Content-type: text/html";
 print "\n"
 
-form = cgi.SvFormContentDict()
+form=cgi.SvFormContentDict()
 store = shelve.open('/var/run/profile-baselines')
 
 if "db" in form:
-    db = form["db"]
+       db=form["db"]
 
 if "sort" in form:
-    sort = form["sort"]
+       sort=form["sort"]
 
-if "limit" in form:
-    limit = int(form["limit"])
+if "limit" in form: limit=int(form["limit"])
 
-if "prefix" in form:
-    prefix = form["prefix"]
+if "prefix" in form: prefix=form["prefix"]
 
 if "compare" in form:
-    compare = form["compare"]
-    compared = store[compare]
-else:
-    compare = ""
-    compared = None
+       compare=form["compare"]
+       compared=store[compare]
+else: 
+       compare=""
+       compared=None
 
 if 'sample' not in form:
-    fullprofile = SocketProfile(config.host, config.port).extract()
-    sample = ""
+       fullprofile=SocketProfile(config.host,config.port).extract()
+       sample=""
 else:
-    fullprofile = store[form['sample']]
-    sample = form['sample']
+       fullprofile=store[form['sample']]
+       sample=form['sample']
 
-dbs = fullprofile.keys()
-try:
-    events = fullprofile[db]["-"].items()
-except KeyError:
-    print "<div>OMG YOU DIDNT SELECT DB OR IT DOESNT EXIST</div>"
-    for dbname in dbs:
-            print " [<a href='report.py?db=%s'>%s</a>] " % (dbname, dbname)
-    sys.exit()
-total = fullprofile[db]["-"]["-total"]
+
+
+dbs=fullprofile.keys()
+try: events=fullprofile[db]["-"].items()
+except KeyError: 
+       print "<div>OMG YOU DIDNT SELECT DB OR IT DOESNT EXIST</div>"
+       for dbname in dbs:
+               print " [<a href='report.py?db=%s'>%s</a>] "%(dbname,dbname)
+       sys.exit()
+total=fullprofile[db]["-"]["-total"]
 
 # Limit the scope
 if compare:
-    compared = compared[db]["-"]
-    oldtotal = compared["-total"]
+       compared=compared[db]["-"]
+       oldtotal=compared["-total"]
 
 #cache.close()
-if sort == "name":
-    events.sort(lambda x, y: cmp(x[0], y[0]))
+if sort=="name":
+    events.sort(lambda x,y: cmp(x[0],y[0]))
 else:
-    events.sort(lambda y, x: cmp(x[1][sort], y[1][sort]))
+    events.sort(lambda y,x: cmp(x[1][sort],y[1][sort]))
 
-
-def surl(stype, stext=None, limit=50):
-    """ Simple URL formatter for headers """
-    if stext is None:
-        stext = stype
-    if stype == sort:
-        return """<td><b>%s</b></td>""" % stext
-    return """<td><a 
href='report.py?db=%s&sort=%s&limit=%d&sample=%s&compare=%s&prefix=%s'>%s</a></td>"""
 % (db, stype, limit, sample, compare, prefix, stext)
+def surl(stype,stext=None,limit=50):
+       """ Simple URL formatter for headers """
+       if(stext==None): stext=stype
+       if stype==sort: return """<td><b>%s</b></td>"""%stext
+       return """<td><a 
href='report.py?db=%s&sort=%s&limit=%d&sample=%s&compare=%s&prefix=%s'>%s</a></td>"""%(db,stype,limit,sample,compare,prefix,stext)
 
 print """
 <style>
 table { width: 100%; font-size: 9pt; }
-td { cell-padding: 1px;
-    text-align: right;
-    vertical-align: top;
-    argin: 2px;
-    border: 1px silver dotted;
-    white-space: nowrap;
-    background-color: #eeeeee;
+td { cell-padding: 1px; 
+       text-align: right; 
+       vertical-align: top;
+       argin: 2px;
+       border: 1px silver dotted;
+       white-space: nowrap; 
+       background-color: #eeeeee;
 }
 td.name { text-align: left; width: 100%; white-space: normal;}
 tr.head td { text-align: center; }
 </style>"""
 
 if sample:
-    print "<div>Using old sample: %s, <a href='report.py?db=%s'>reset to 
current</a></div>" % (sample, db)
+       print "<div>Using old sample: %s, <a href='report.py?db=%s'>reset to 
current</a></div>" % (sample,db)
 
 # Top list of databases
 for dbname in dbs:
-    if db == dbname:
-        print " [%s] " % dbname
-    else:
-        print " [<a href='report.py?db=%s'>%s</a>] " % (dbname, dbname)
+       if db == dbname: print " [%s] "%dbname
+       else: print " [<a href='report.py?db=%s'>%s</a>] "%(dbname,dbname)
 
-if limit == 50:
-    print " [ showing %d events, <a 
href='report.py?db=%s&sort=%s&sample=%s&compare=%s&limit=5000'>show more</a> ] 
" % (limit, db, sort, sample, compare)
+if limit==50:
+       print " [ showing %d events, <a 
href='report.py?db=%s&sort=%s&sample=%s&compare=%s&limit=5000'>show more</a> ] 
" % (limit,db,sort,sample,compare)
 else:
-    print " [ showing %d events, <a 
href='report.py?db=%s&sort=%s&sample=%s&compare=%s&limit=50'>show less</a> ] " 
% (limit, db, sort, sample, compare)
+       print " [ showing %d events, <a 
href='report.py?db=%s&sort=%s&sample=%s&compare=%s&limit=50'>show less</a> ] " 
% (limit,db,sort,sample,compare)
 
 print " [ <a href='admin.py'>admin</a> ]</div>"
 
@@ -125,12 +119,12 @@
 <input type='hidden' name='sort' value='%s'>
 <input type='hidden' name='limit' value='%d'>
 <input type='hidden' name='sample' value='%s'>
-<select name='compare'><option></option>""" % (db, sort, limit, sample)
+<select name='compare'><option></option>""" %(db,sort,limit,sample)
 
-samples = store.keys()
+samples=store.keys()
 samples.sort()
 for baseline in samples:
-    print "<option%s>%s</option>" % ((compare == baseline and " SELECTED" or 
""), baseline)
+       print "<option%s>%s</option>" % ((compare==baseline and " SELECTED" or 
""),baseline)
 print "</select><input type='submit' value='compare'></form>"
 
 
@@ -146,13 +140,13 @@
 #print "<td>change</td>"
 #print surl("onecpu","cpu/c")
 #print "<td>change</td>"
-print surl("real", "real%")
+print surl("real","real%")
 print "<td>change</td>"
-print surl("onereal", "real/c")
+print surl("onereal","real/c")
 print "<td>change</td>"
 print "</tr>"
 
-rowformat = """
+rowformat="""
 <tr class="data"><td class="name">%s</td><td>%d</td>
 <td>%.2f</td><td>%.1f</td><td>%.2f</td><td>%.1f</td></tr>"""
 
@@ -162,7 +156,7 @@
 # cputime: total compared percall compared
 # realtime: total compared percall compared
 
-comparedformat = """
+comparedformat="""
 <tr class="data"><td class="name">%s</td>
 <td>%d</td><td>%.2f</td><td>%.1f</td>
 <td>%.2f</td><td>%.1f</td><td>%.1f</td><td>%.1f</td>
@@ -171,69 +165,63 @@
 
 # This is really really hacky way of reporting percentages
 
-# And this is output of results.
+# And this is output of results. 
 for event in events:
-    (name, event) = event
-    if name == "close":
-        continue
-    if not name.startswith(prefix):
-        continue
-    if compared and name in compared:
-        old = compared[name]
-    else:
-        old = None
-
-    limit -= 1
-    if limit < 0:
-        break
-
-    callcount = float(event["count"]) / total["count"]
-    try:
-        cpupct = event["cpu"] / total["cpu"]
-    except ZeroDivisionError:
-        cpupct = 0
-    onecpu = event["onecpu"]
-    realpct = event["real"] / total["real"]
-    onereal = event["onereal"]
-
-    if old:
-        try:
-            oldcount = float(old["count"]) / oldtotal["count"]
-            countdiff = (callcount - oldcount) / oldcount
-
-            oldcpupct = old["cpu"] / oldtotal["cpu"]
-            cpupctdiff = (cpupct - oldcpupct) / oldcpupct
-
-            onecpudiff = (onecpu - old["onecpu"]) / old["onecpu"]
-
-            oldrealpct = old["real"] / oldtotal["real"]
-            realpctdiff = (realpct - oldrealpct) / oldrealpct
-
-            onerealdiff = (onereal - old["onereal"]) / old["onereal"]
-        except ZeroDivisionError:
-            countdiff = 0
-            cpupctdiff = 0
-            onecpudiff = 0
-            realpctdiff = 0
-            onerealdiff = 0
-    else:
-        countdiff = 0
-        cpupctdiff = 0
-        onecpudiff = 0
-        realpctdiff = 0
-        onerealdiff = 0
-
-    dbg = 0
-
-    if dbg and name == "wfMsgReal":
-        print old
-        print oldtotal
-        print event
-        print total
-    if not dbg:
-        print comparedformat % (name.replace(",", ", "),
-                                event["count"], callcount, countdiff * 100,
-                                realpct * 100, realpctdiff * 100,
-                                onereal * 1000, onerealdiff * 100)
+       (name,event)=event
+       if name=="close": continue
+       if not name.startswith(prefix): continue
+       if compared and name in compared: old=compared[name]
+       else: old=None
+       
+       limit-=1
+       if limit<0: break
+       
+       callcount=float(event["count"])/total["count"]
+       try: cpupct=event["cpu"]/total["cpu"]
+       except ZeroDivisionError: cpupct=0
+       onecpu=event["onecpu"]
+       realpct=event["real"]/total["real"]
+       onereal=event["onereal"]
+       
+       if old:
+               try:
+                       oldcount=float(old["count"])/oldtotal["count"]
+                       countdiff = (callcount-oldcount)/oldcount
+               
+                       oldcpupct = old["cpu"]/oldtotal["cpu"]
+                       cpupctdiff = (cpupct-oldcpupct)/oldcpupct
+               
+                       onecpudiff = ( onecpu - old["onecpu"] ) / old["onecpu"]
+               
+                       oldrealpct = old["real"]/oldtotal["real"]
+                       realpctdiff = (realpct-oldrealpct)/oldrealpct
+               
+                       onerealdiff = ( onereal - old["onereal"] ) / 
old["onereal"]
+               except ZeroDivisionError:
+                       countdiff=0
+                       cpupctdiff=0
+                       onecpudiff=0
+                       realpctdiff=0
+                       onerealdiff=0
+       else:
+               countdiff=0
+               cpupctdiff=0
+               onecpudiff=0
+               realpctdiff=0
+               onerealdiff=0
+       
+       dbg=0
+       
+       if dbg and name=="wfMsgReal": 
+               print old
+               print oldtotal
+               print event
+               print total
+       if not dbg: print comparedformat % (
+               name.replace(",",", "),
+               event["count"], callcount,countdiff*100,
+               realpct*100,realpctdiff*100,
+               onereal*1000,onerealdiff*100
+       )
 
 print "</table>"
diff --git a/files/cgi-bin/noc/rep.py b/files/cgi-bin/noc/rep.py
index 6215f7b..c15d590 100755
--- a/files/cgi-bin/noc/rep.py
+++ b/files/cgi-bin/noc/rep.py
@@ -1,7 +1,7 @@
 #!/usr/bin/python
 
 #####################################################################
-### THIS FILE IS MANAGED BY PUPPET
+### THIS FILE IS MANAGED BY PUPPET 
 ### puppet:///files/cgi-bin/noc/rep.py
 #####################################################################
 
@@ -11,95 +11,86 @@
 profileport = 3811
 
 #db="enwiki"
-db = "all"
-sort = "real"
-limit = 50
-prefix = ""
+db="all"
+sort="real"
+limit=50
+prefix=""
 
 
 from extractprofile import ExtractProfile
 
 import cgi
-import cgitb
-cgitb.enable()
+import cgitb; cgitb.enable()
 
 import socket
 
-print "Content-type: text/html"
+print "Content-type: text/html";
 print "\n"
 
-form = cgi.SvFormContentDict()
+form=cgi.SvFormContentDict()
 
 if "db" in form:
-    db = form["db"]
+       db=form["db"]
 
 if "sort" in form:
-    sort = form["sort"]
+       sort=form["sort"]
 
 if "prefix" in form:
-    prefix = form["prefix"]
+       prefix=form["prefix"]
 
-if "limit" in form:
-    limit = int(form["limit"])
+if "limit" in form: limit=int(form["limit"])
 
-compare = "none"
-if "compare" in form:
-    compare = form["compare"]
-
+compare="none"
+if "compare" in form: compare=form["compare"]
 
 class SocketSource (socket.socket):
-    def read(self, what):
-        return self.recv(what, 0)
-sock = SocketSource()
-sock.connect((profilehost, profileport))
+    def read(self,what):
+        return self.recv(what,0)
+sock=SocketSource()
+sock.connect((profilehost,profileport))
 
-cache = {}
-fullprofile = ExtractProfile().extract(sock)
-events = fullprofile[db]["-"].items()
-cache[db] = events
-cache["_dbs"] = fullprofile.keys()
-dbs = cache["_dbs"]
+cache={}
+fullprofile=ExtractProfile().extract(sock)
+events=fullprofile[db]["-"].items()
+cache[db]=events
+cache["_dbs"]=fullprofile.keys()
+dbs=cache["_dbs"]
 
-total = fullprofile[db]["-"]["-total"]
+total=fullprofile[db]["-"]["-total"]
 
 #cache.close()
-if sort == "name":
-    events.sort(lambda x, y: cmp(x[0], y[0]))
+if sort=="name":
+    events.sort(lambda x,y: cmp(x[0],y[0]))
 else:
-    events.sort(lambda y, x: cmp(x[1][sort], y[1][sort]))
+    events.sort(lambda y,x: cmp(x[1][sort],y[1][sort]))
 
-
-def surl(stype, stext=None, limit=50):
-    if(stext is None):
-        stext = stype
-    if stype == sort:
-        return """<td>%s</td>""" % stext
-    return """<td><a href='report.py?db=%s&sort=%s&limit=%d'>%s</a></td>""" % 
(db, stype, limit, stext)
+def surl(stype,stext=None,limit=50):
+       if(stext==None): stext=stype
+       if stype==sort: return """<td>%s</td>"""%stext
+       return """<td><a 
href='report.py?db=%s&sort=%s&limit=%d'>%s</a></td>"""%(db,stype,limit,stext)
 
 print """
 <style>
 table { width: 100%; }
-td { cell-padding: 1px;
-    text-align: right;
-    vertical-align: top;
-    margin: 2px;
-    border: 1px silver dotted;
-    background-color: #eeeeee;
+td { cell-padding: 1px; 
+       text-align: right; 
+       vertical-align: top;
+       argin: 2px;
+       border: 1px silver dotted;
+       background-color: #eeeeee;
 }
 td.name { text-align: left; width: 100%;}
 tr.head td { text-align: center; }
 </style>"""
 
 for dbname in dbs:
-    if db == dbname:
-        print " [%s] " % dbname
-    else:
-        print " [<a href='report.py?db=%s'>%s</a>] " % (dbname, dbname)
+       if db == dbname: print " [%s] "%dbname
+       else: print " [<a href='report.py?db=%s'>%s</a>] "%(dbname,dbname)
 
-if limit == 50:
-    print " [ showing %d events, <a 
href='report.py?db=%s&sort=%s&limit=5000'>show more</a> ] " % (limit, db, sort)
+if limit==50:
+       print " [ showing %d events, <a 
href='report.py?db=%s&sort=%s&limit=5000'>show more</a> ] " % (limit,db,sort)
 else:
-    print " [ showing %d events, <a 
href='report.py?db=%s&sort=%s&limit=50'>show less</a> ] " % (limit, db, sort)
+       print " [ showing %d events, <a 
href='report.py?db=%s&sort=%s&limit=50'>show less</a> ] " % (limit,db,sort)
 
 
 print """
@@ -107,25 +98,22 @@
 <tr class="head">"""
 print surl("name")
 print surl("count")
-print surl("cpu", "cpu%")
-print surl("onecpu", "cpu/c")
-print surl("real", "real%")
-print surl("onereal", "real/c")
+print surl("cpu","cpu%")
+print surl("onecpu","cpu/c")
+print surl("real","real%")
+print surl("onereal","real/c")
 print "</tr>"
 
-rowformat = """<tr class="data"><td class="name">%s</td><td>%d</td>
-    <td>%.3g</td><td>%.3g</td><td>%.3g</td><td>%.3g</td></tr>"""
+rowformat="""<tr class="data"><td class="name">%s</td><td>%d</td>
+       <td>%.3g</td><td>%.3g</td><td>%.3g</td><td>%.3g</td></tr>"""
 
 for event in events:
-    if event[0] == "close":
-        continue
-    if not event[0].startswith(prefix):
-        continue
-    limit -= 1
-    if limit < 0:
-        break
-    print rowformat % \
-        (event[0].replace(",", ", "), event[1]["count"], event[1]["cpu"] / 
total["cpu"] * 100, event[1]["onecpu"] * 1000,
-         event[1]["real"] / total["real"] * 100, event[1]["onereal"] * 1000)
+       if event[0]=="close": continue
+       if not event[0].startswith(prefix): continue 
+       limit-=1
+       if limit<0: break
+       print rowformat % \
+               (event[0].replace(",",", 
"),event[1]["count"],event[1]["cpu"]/total["cpu"]*100,event[1]["onecpu"]*1000,\
+                       
event[1]["real"]/total["real"]*100,event[1]["onereal"]*1000)
 
 print "</table>"
diff --git a/files/cgi-bin/noc/report.py b/files/cgi-bin/noc/report.py
index b772e92..86067e7 100755
--- a/files/cgi-bin/noc/report.py
+++ b/files/cgi-bin/noc/report.py
@@ -10,24 +10,23 @@
 profilehost = "professor.pmtpa.wmnet"
 profileport = 3811
 
-db = "all"
-sort = "real"
-limit = 50
-prefix = ""
+db="all"
+sort="real"
+limit=50
+prefix=""
 
 
 from extractprofile import ExtractProfile
 
 import cgi
-import cgitb
-cgitb.enable()
+import cgitb; cgitb.enable()
 
 import socket
 import codecs
 import sys
 
 
-print "Content-type: text/html; charset=utf-8"
+print "Content-type: text/html; charset=utf-8";
 print "\n"
 
 utf8 = codecs.getencoder("UTF-8")
@@ -43,49 +42,48 @@
     prefix = form["prefix"]
 
 if "limit" in form:
-    limit = int(form["limit"])
+    limit=int(form["limit"])
 
-compare = "none"
+compare="none"
 if "compare" in form:
     compare = form["compare"]
-
 
 class SocketSource (socket.socket):
     def read(self, what):
         enc = self.recv(what, 0)
         return enc.decode('latin-1').encode('utf-8')
 
-sock = SocketSource()
+sock=SocketSource()
 sock.connect((profilehost, profileport))
 
-cache = {}
-fullprofile = ExtractProfile().extract(sock)
+cache={}
+fullprofile=ExtractProfile().extract(sock)
 try:
-    events = fullprofile[db]["-"].items()
+    events=fullprofile[db]["-"].items()
 except KeyError:
     for dbname in fullprofile.keys():
         print " [<a href='report.py?db=%s'>%s</a>] " % (dbname, dbname)
         sys.exit(0)
+    
 
-cache[db] = events
-cache["_dbs"] = fullprofile.keys()
-dbs = cache["_dbs"]
+cache[db]=events
+cache["_dbs"]=fullprofile.keys()
+dbs=cache["_dbs"]
 
-total = fullprofile[db]["-"]["-total"]
+total=fullprofile[db]["-"]["-total"]
 
 #cache.close()
-if sort == "name":
-    events.sort(lambda x, y: cmp(x[0], y[0]))
+if sort=="name":
+    events.sort(lambda x,y: cmp(x[0], y[0]))
 else:
-    events.sort(lambda y, x: cmp(x[1][sort], y[1][sort]))
-
+    events.sort(lambda y,x: cmp(x[1][sort], y[1][sort]))
 
 def surl(stype, stext=None, limit=50):
-    if (stext is None):
+    if (stext == None):
         stext = stype
 
     if stype == sort:
-        return """<td>%s</td>""" % stext
+        return """<td>%s</td>"""%stext
     return """<td><a href='report.py?db=%s&sort=%s&limit=%d'>%s</a></td>""" % 
(db, stype, limit, stext)
 
 print """
@@ -104,11 +102,11 @@
 
 for dbname in dbs:
     if db == dbname:
-        print " [%s] " % dbname
+        print " [%s] "% dbname
     else:
         print " [<a href='report.py?db=%s'>%s</a>] " % (dbname, dbname)
 
-if limit == 50:
+if limit==50:
     print " [ showing %d events, <a 
href='report.py?db=%s&sort=%s&limit=5000'>show more</a> ] " % (limit, db, sort)
 else:
     print " [ showing %d events, <a 
href='report.py?db=%s&sort=%s&limit=50'>show less</a> ] " % (limit, db, sort)
@@ -119,10 +117,10 @@
 <tr class="head">"""
 print surl("name")
 print surl("count")
-print surl("cpu", "cpu%")
-print surl("onecpu", "cpu/c")
-print surl("real", "real%")
-print surl("onereal", "real/c")
+print surl("cpu","cpu%")
+print surl("onecpu","cpu/c")
+print surl("real","real%")
+print surl("onereal","real/c")
 print "</tr>"
 
 rowformat = u"""<tr class="data"><td class="name">%s</td><td>%d</td>
@@ -133,12 +131,12 @@
         continue
     if not event[0].startswith(prefix):
         continue
-
+        
     limit -= 1
     if limit < 0:
         break
     row = rowformat % \
-        (event[0].replace(",", ", "), event[1]["count"], event[1]["cpu"] / 
total["cpu"] * 100, event[1]["onecpu"] * 1000,
+        (event[0].replace(",",", "), event[1]["count"], event[1]["cpu"] / 
total["cpu"] * 100, event[1]["onecpu"]  *1000,
             event[1]["real"] / total["real"] * 100, event[1]["onereal"] * 1000)
     print utf8(row)[0]
 

-- 
To view, visit https://gerrit.wikimedia.org/r/66543
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I050ff93d18e3c466baf1029464c99d5d63c2152e
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Mark Bergsma <m...@wikimedia.org>
Gerrit-Reviewer: Mark Bergsma <m...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to