[CalendarServer-changes] [1630]
CalendarServer/trunk/twistedcaldav/admin
source_changes at macosforge.org
source_changes at macosforge.org
Thu Jun 28 19:51:13 PDT 2007
Revision: 1630
http://trac.macosforge.org/projects/calendarserver/changeset/1630
Author: cdaboo at apple.com
Date: 2007-06-28 19:51:13 -0700 (Thu, 28 Jun 2007)
Log Message:
-----------
Add active user counts to stats and output.
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-06-28 17:48:30 UTC (rev 1629)
+++ CalendarServer/trunk/twistedcaldav/admin/formatters.py 2007-06-29 02:51:13 UTC (rev 1630)
@@ -260,11 +260,18 @@
self.writeFrequencies(freqs)
self.write('\n')
- self.write(' User Agents:\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(' Active Users: total=%d\n' % (len(report['data']['activeUsers']),))
+
+ sorted_list = [item for item in report['data']['activeUsers'].iteritems()]
+ sorted_list.sort(cmp=lambda x,y: x[1] - y[1])
+ for user, count in sorted_list:
+ self.write(' %s: %s\n' % (user, count))
+
registerFormatter(PlainFormatter)
@@ -565,13 +572,24 @@
self.writeFrequencies(freqs)
self.write('<br>\n')
- self.write('<h3>User Agents:</h3>\n')
+ self.write('<h3>User Agents: total=%d</h3>\n' % (len(report['data']['userAgents']),))
self.write("<table border='1'>")
self.write(' <tr><td>User Agent</td><td># Requests</td></tr>\n')
for ua, count in report['data']['userAgents'].iteritems():
self.write(' <tr><td>%s:</td><td align=\'right\'>%s</td></tr>\n' % (ua, count))
self.write('</table>\n')
+
+ self.write('<h3>Active Users: total=%d</h3>\n' % (len(report['data']['activeUsers']),))
+
+ self.write("<table border='1'>")
+ self.write(' <tr><td>User Principal</td><td># Requests</td></tr>\n')
+
+ sorted_list = [item for item in report['data']['activeUsers'].iteritems()]
+ sorted_list.sort(cmp=lambda x,y: y[1] - x[1],)
+ for user, count in sorted_list:
+ self.write(' <tr><td>%s:</td><td align=\'right\'>%s</td></tr>\n' % (user, count))
+ self.write('</table>\n')
self.write('</body>\n</html>\n')
Modified: CalendarServer/trunk/twistedcaldav/admin/logs.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/admin/logs.py 2007-06-28 17:48:30 UTC (rev 1629)
+++ CalendarServer/trunk/twistedcaldav/admin/logs.py 2007-06-29 02:51:13 UTC (rev 1630)
@@ -30,22 +30,23 @@
from twistedcaldav.admin import util
-PLIST_VERSION = 3
+PLIST_VERSION = 4
statsTemplate = plistlib.Dict(
version=PLIST_VERSION,
bytesOut="0",
startDate="",
endDate="",
- requestStats=plistlib.Dict(),
+ requestStats={},
timeOfDayStats=[0] * 96,
- requestByTimeOfDayStats=plistlib.Dict(),
- invitations=plistlib.Dict(
- day=0,
- week=0,
- month=0,
- ),
- userAgents=plistlib.Dict(),
+ requestByTimeOfDayStats={},
+ invitations={
+ "day":0,
+ "week":0,
+ "month":0,
+ },
+ userAgents={},
+ activeUsers={},
)
def _strAdd(value, add):
@@ -151,6 +152,15 @@
def getUserAgents(self):
return self._data.userAgents
+ def addActiveUser(self, principal):
+ if principal in self._data.activeUsers:
+ self._data.activeUsers[principal] += 1
+ else:
+ self._data.activeUsers[principal] = 1
+
+ def getActiveUsers(self):
+ return self._data.activeUsers
+
def save(self):
plistlib.writePlist(self._data, self.fp.path)
@@ -232,6 +242,9 @@
if len(pline) > 7:
self.stats.addUserAgent(pline[8])
+
+ if pline[2] != "-":
+ self.stats.addActiveUser(pline[2])
if (50 * line_count) / total_count > last_count:
sys.stdout.write(".")
@@ -253,6 +266,7 @@
'timeOfDayStats': self.stats.getTimeOfDayStats(),
'requestByTimeOfDayStats': self.stats.getRequestByTimeOfDayStats(),
'userAgents': self.stats.getUserAgents(),
+ 'activeUsers': self.stats.getActiveUsers(),
}
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20070628/fb40640f/attachment.html
More information about the calendarserver-changes
mailing list