[CalendarServer-changes] [1763] CalendarServer/trunk/twistedcaldav/admin

source_changes at macosforge.org source_changes at macosforge.org
Mon Aug 6 20:32:10 PDT 2007


Revision: 1763
          http://trac.macosforge.org/projects/calendarserver/changeset/1763
Author:   cdaboo at apple.com
Date:     2007-08-06 20:32:10 -0700 (Mon, 06 Aug 2007)

Log Message:
-----------
Display stats on response status codes.

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/admin/formatters.py
    CalendarServer/trunk/twistedcaldav/admin/logs.py

Modified: CalendarServer/trunk/twistedcaldav/admin/formatters.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/admin/formatters.py	2007-08-07 02:31:32 UTC (rev 1762)
+++ CalendarServer/trunk/twistedcaldav/admin/formatters.py	2007-08-07 03:32:10 UTC (rev 1763)
@@ -260,10 +260,19 @@
             self.writeFrequencies(freqs)
             self.write('\n')
 
+        self.write('  Response Status: total=%d\n' % (len(report['data']['statusStats']),))
+
+        sorted_list = [item for item in report['data']['statusStats'].iteritems()]
+        sorted_list.sort(cmp=lambda x,y: int(x[0]) - int(y[0]))
+        for status, count in sorted_list:
+            self.write('    %s: %s\n' % (status, count))
+        self.write('\n')
+
         self.write('  User Agents: total=%d\n' % (len(report['data']['userAgents']),))
 
         for ua, count in report['data']['userAgents'].iteritems():
             self.write('    %s: %s\n' % (ua, count))
+        self.write('\n')
 
         self.write('  Active Users: total=%d\n' % (len(report['data']['activeUsers']),))
 
@@ -572,6 +581,17 @@
             self.writeFrequencies(freqs)
             self.write('<br>\n')
 
+        self.write('<h3>Response Status: total=%d</h3>\n' % (len(report['data']['statusStats']),))
+
+        self.write("<table border='1'>")
+        self.write('  <tr><td>Status</td><td># Responses</td></tr>\n')
+
+        sorted_list = [item for item in report['data']['statusStats'].iteritems()]
+        sorted_list.sort(cmp=lambda x,y: int(x[0]) - int(y[0]))
+        for status, count in sorted_list:
+            self.write('  <tr><td>%s:</td><td align=\'right\'>%s</td></tr>\n' % (status, count))
+        self.write('</table>\n')
+
         self.write('<h3>User Agents: total=%d</h3>\n' % (len(report['data']['userAgents']),))
 
         self.write("<table border='1'>")

Modified: CalendarServer/trunk/twistedcaldav/admin/logs.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/admin/logs.py	2007-08-07 02:31:32 UTC (rev 1762)
+++ CalendarServer/trunk/twistedcaldav/admin/logs.py	2007-08-07 03:32:10 UTC (rev 1763)
@@ -40,6 +40,7 @@
     requestStats={},
     timeOfDayStats=[0] * 96,
     requestByTimeOfDayStats={},
+    statusStats={},
     invitations={
         "day":0, 
         "week":0, 
@@ -74,12 +75,12 @@
     def getDateRange(self):
         return (self._data.startDate, self._data.endDate)
 
+    def addBytes(self, bytes):
+        self._data.bytesOut = _strAdd(self._data.bytesOut, bytes)
+
     def getBytes(self):
         return long(self._data.bytesOut)
 
-    def addBytes(self, bytes):
-        self._data.bytesOut = _strAdd(self._data.bytesOut, bytes)
-
     def addRequestStats(self, request, status, bytes, time):
         if request in self._data.requestStats:
             request_stat = self._data.requestStats[request]
@@ -143,6 +144,13 @@
     def getRequestByTimeOfDayStats(self):
         return self._data.requestByTimeOfDayStats
 
+    def addStatusStats(self, status):
+        old = self._data.statusStats.get(str(status), "0")
+        self._data.statusStats[str(status)] = _strAdd(old, 1)
+
+    def getStatusStats(self):
+        return self._data.statusStats
+
     def addUserAgent(self, useragent):
         if useragent in self._data.userAgents:
             self._data.userAgents[useragent] += 1
@@ -240,6 +248,7 @@
                         self.stats.addBytes(int(pline[6]))
                         self.stats.addRequestStats(pline[4].split(' ')[0], int(pline[5]), int(pline[6]), float(pline[9][:-3]))
                         self.stats.addTimeOfDayStats(pline[4].split(' ')[0], pline[3][pline[3].find(":") + 1:][:5])
+                        self.stats.addStatusStats(int(pline[5]))
     
                         if len(pline) > 7:
                             self.stats.addUserAgent(pline[8])
@@ -269,6 +278,7 @@
                     'requestStats': self.stats.getRequestStats(),
                     'timeOfDayStats': self.stats.getTimeOfDayStats(),
                     'requestByTimeOfDayStats': self.stats.getRequestByTimeOfDayStats(),
+                    'statusStats': self.stats.getStatusStats(),
                     'userAgents': self.stats.getUserAgents(),
                     'activeUsers': self.stats.getActiveUsers(),
                     }

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20070806/cb3a7d9c/attachment.html


More information about the calendarserver-changes mailing list