[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