[CalendarServer-changes] [11834] CalendarServer/branches/users/cdaboo/performance-tweaks/txdav/ common/datastore/sql.py
source_changes at macosforge.org
source_changes at macosforge.org
Wed Mar 12 11:16:17 PDT 2014
Revision: 11834
http://trac.calendarserver.org//changeset/11834
Author: cdaboo at apple.com
Date: 2013-10-28 10:21:24 -0700 (Mon, 28 Oct 2013)
Log Message:
-----------
Add more timing information to sqlstats.
Modified Paths:
--------------
CalendarServer/branches/users/cdaboo/performance-tweaks/txdav/common/datastore/sql.py
Modified: CalendarServer/branches/users/cdaboo/performance-tweaks/txdav/common/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/cdaboo/performance-tweaks/txdav/common/datastore/sql.py 2013-10-28 17:20:30 UTC (rev 11833)
+++ CalendarServer/branches/users/cdaboo/performance-tweaks/txdav/common/datastore/sql.py 2013-10-28 17:21:24 UTC (rev 11834)
@@ -314,6 +314,7 @@
self.label = label
self.logFileName = logFileName
self.statements = []
+ self.startTime = time.time()
def startStatement(self, sql, args):
@@ -329,7 +330,7 @@
"""
args = ["%s" % (arg,) for arg in args]
args = [((arg[:10] + "...") if len(arg) > 40 else arg) for arg in args]
- self.statements.append(["%s %s" % (sql, args,), 0, 0])
+ self.statements.append(["%s %s" % (sql, args,), 0, 0, 0])
return len(self.statements) - 1, time.time()
@@ -343,8 +344,10 @@
@type rows: C{int}
"""
index, tstamp = context
+ t = time.time()
self.statements[index][1] = len(rows) if rows else 0
- self.statements[index][2] = time.time() - tstamp
+ self.statements[index][2] = t - tstamp
+ self.statements[index][3] = t
def printReport(self):
@@ -364,11 +367,16 @@
toFile.write("Total statements: %d\n" % (total_statements,))
toFile.write("Total rows: %d\n" % (total_rows,))
toFile.write("Total time (ms): %.3f\n" % (total_time,))
- for sql, rows, t in self.statements:
+ t_last_end = self.startTime
+ for sql, rows, t_taken, t_end in self.statements:
toFile.write("\n")
toFile.write("SQL: %s\n" % (sql,))
toFile.write("Rows: %s\n" % (rows,))
- toFile.write("Time (ms): %.3f\n" % (t * 1000.0,))
+ toFile.write("Time (ms): %.3f\n" % (t_taken * 1000.0,))
+ toFile.write("Idle (ms): %.3f\n" % ((t_end - t_taken - t_last_end) * 1000.0,))
+ toFile.write("Elapsed (ms): %.3f\n" % ((t_end - self.startTime) * 1000.0,))
+ t_last_end = t_end
+ toFile.write("Commit (ms): %.3f\n" % ((time.time() - t_last_end) * 1000.0,))
toFile.write("***\n\n")
if self.logFileName:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20140312/e744d4a3/attachment.html>
More information about the calendarserver-changes
mailing list