[CalendarServer-changes] [5478] CalendarServer/branches/users/wsanchez/deployment/contrib/tools/ request_monitor

source_changes at macosforge.org source_changes at macosforge.org
Wed Apr 14 10:36:10 PDT 2010


Revision: 5478
          http://trac.macosforge.org/projects/calendarserver/changeset/5478
Author:   sagen at apple.com
Date:     2010-04-14 10:36:09 -0700 (Wed, 14 Apr 2010)
Log Message:
-----------
Better error handling, also looks at multiple ports

Modified Paths:
--------------
    CalendarServer/branches/users/wsanchez/deployment/contrib/tools/request_monitor

Modified: CalendarServer/branches/users/wsanchez/deployment/contrib/tools/request_monitor
===================================================================
--- CalendarServer/branches/users/wsanchez/deployment/contrib/tools/request_monitor	2010-04-14 17:26:55 UTC (rev 5477)
+++ CalendarServer/branches/users/wsanchez/deployment/contrib/tools/request_monitor	2010-04-14 17:36:09 UTC (rev 5478)
@@ -36,16 +36,13 @@
         stdout=PIPE, stderr=STDOUT,
     )
     output, error = child.communicate()
+    ssl = nonssl = 0   
     for line in output.split("\n"):
-        try:
-            line.index(".8443")
-            q = line.split("/")[0]
-            return q
-            break
-        except ValueError:
-            pass
-    else: # Nobody is listening on 8443
-        return "0"
+        if line.find("8443") != -1:
+           ssl = int(line.split("/")[0])
+        elif line.find("8008") != -1:
+           nonssl = int(line.split("/")[0])
+    return "%s+%s" % (ssl, nonssl)
 
 _listenQueueHistory = []
 
@@ -145,7 +142,7 @@
         extended["or"] = int(line[startPos:endPos])
     else:
         items = line[startPos:].split()
-        extended = dict([item.split('=') for item in items])
+        extended = dict([item.split('=') for item in items if '=' in item])
 
     return userId, logTime, method, uri, status, bytes, referer, client, extended
 
@@ -196,7 +193,11 @@
 
             numRequests += 1
 
-            userId, logTime, method, uri, status, bytes, _ignore_referer, client, extended = parseLine(line)
+            try:
+                userId, logTime, method, uri, status, bytes, _ignore_referer, client, extended = parseLine(line)
+            except Exception, e:
+                print "Could not parse: ", line, e
+                continue
 
             logTime = dateparse(logTime, fuzzy=True)
             times.append(logTime)
@@ -240,7 +241,7 @@
                 if key not in ('i', 't'):
                     if key == "cl":
                         value = float(value)/1024
-                        value = "%.1fkb" % (value,)
+                        value = "%.1fKB" % (value,)
                         key = "req"
                     ext.append("%s:%s" % (key, value))
             ext = ", ".join(ext)
@@ -291,7 +292,7 @@
         print "- " * 40
         q = listenQueueHistory()
         print datetime.datetime.now().strftime("%Y/%m/%d %H:%M:%S"), 
-        print "Listen queue:", q[0], " (Recent", ", ".join(q[1:]), "Oldest)"
+        print "Listenq (ssl+non):", q[0], " (Recent", ", ".join(q[1:]), "Oldest)"
         q = idleHistory()
         print "CPU idle %:", q[0], " (Recent", ", ".join(q[1:]), "Oldest)"
 
@@ -346,9 +347,9 @@
                     if _logId == logId and _logTime > reqStartTime and _reqStartTime < logTime:
                         overlapCount += 1
 
-                print "%7.1fms  %-12s %s res:%.1fkb, %s [%s] #%d +%d %s->%s" % (respTime, userId, method, kb, ext, client, logId, overlapCount, reqStartTime.strftime("%H:%M:%S"), logTime.strftime("%H:%M:%S"),)
+                print "%7.1fms  %-12s %s res:%.1fKB, %s [%s] #%d +%d %s->%s" % (respTime, userId, method, kb, ext, client, logId, overlapCount, reqStartTime.strftime("%H:%M:%S"), logTime.strftime("%H:%M:%S"),)
                 """
-                print "%7.1fms  %-12s %s res:%.1fkb, %s [%s] #%d %s->%s" % (respTime, userId, method, kb, ext, client, logId, reqStartTime.strftime("%H:%M:%S"), logTime.strftime("%H:%M:%S"),)
+                print "%7.1fms  %-12s %s res:%.1fKB, %s [%s] #%d %s->%s" % (respTime, userId, method, kb, ext, client, logId, reqStartTime.strftime("%H:%M:%S"), logTime.strftime("%H:%M:%S"),)
             except:
                 pass
 
@@ -382,4 +383,4 @@
 
     except Exception, e:
         print "Script failure", e
-
+        raise
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100414/02ca562a/attachment.html>


More information about the calendarserver-changes mailing list