[CalendarServer-changes] [6906] CalendarServer/trunk/contrib/tools/pg_stats_analysis.py

source_changes at macosforge.org source_changes at macosforge.org
Mon Feb 7 14:10:31 PST 2011


Revision: 6906
          http://trac.macosforge.org/projects/calendarserver/changeset/6906
Author:   cdaboo at apple.com
Date:     2011-02-07 14:10:29 -0800 (Mon, 07 Feb 2011)
Log Message:
-----------
Include average number of rows in tables.

Modified Paths:
--------------
    CalendarServer/trunk/contrib/tools/pg_stats_analysis.py

Modified: CalendarServer/trunk/contrib/tools/pg_stats_analysis.py
===================================================================
--- CalendarServer/trunk/contrib/tools/pg_stats_analysis.py	2011-02-07 21:38:27 UTC (rev 6905)
+++ CalendarServer/trunk/contrib/tools/pg_stats_analysis.py	2011-02-07 22:10:29 UTC (rev 6906)
@@ -74,11 +74,13 @@
 
 def sqlStatementsReport(entries):
     
-    dcount = collections.defaultdict(int)    
-    dtime = collections.defaultdict(float)    
+    dcount = collections.defaultdict(int)
+    dtime = collections.defaultdict(float)
+    drows = collections.defaultdict(int)
     for entry in entries:
         dcount[entry[COLUMN_query]] += int(entry[COLUMN_calls])
         dtime[entry[COLUMN_query]] += float(entry[COLUMN_total_time])
+        drows[entry[COLUMN_query]] += int(entry[COLUMN_rows])
     
     daverage = {}
     for k in dcount.keys():
@@ -94,7 +96,7 @@
         ("average time", [i[0] for i in sorted(daverage.iteritems(), key=lambda x:x[1], reverse=True)],),
     ):
         table = tables.Table()
-        table.addHeader(("Statement", "Count", "Count %", "Total Time", "Total Time %", "Av. Time", "Av. Time %",))
+        table.addHeader(("Statement", "Count", "Count %", "Total Time", "Total Time %", "Av. Time", "Av. Time %", "Av. rows",))
         table.setDefaultColumnFormats((
             tables.Table.ColumnFormat("%s", tables.Table.ColumnFormat.LEFT_JUSTIFY), 
             tables.Table.ColumnFormat("%d", tables.Table.ColumnFormat.RIGHT_JUSTIFY),
@@ -103,6 +105,7 @@
             tables.Table.ColumnFormat("%.2f%%", tables.Table.ColumnFormat.RIGHT_JUSTIFY),
             tables.Table.ColumnFormat("%f", tables.Table.ColumnFormat.RIGHT_JUSTIFY),
             tables.Table.ColumnFormat("%.2f%%", tables.Table.ColumnFormat.RIGHT_JUSTIFY),
+            tables.Table.ColumnFormat("%.1f", tables.Table.ColumnFormat.RIGHT_JUSTIFY),
         ))
     
         for key in sortedkeys:
@@ -116,6 +119,7 @@
                 safePercent(dtime[key], timetotal, 100.0),
                 daverage[key],
                 safePercent(daverage[key], averagetotal, 100.0),
+                float(drows[key])/dcount[key],
             ))
             
             for keyline in keylines[1:]:
@@ -127,6 +131,7 @@
                     None,
                     None,
                     None,
+                    None,
                 ))
 
         print "Queries sorted by %s" % (sorttype,)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20110207/b868fbb5/attachment.html>


More information about the calendarserver-changes mailing list