[CalendarServer-changes] [11543] CalendarServer/trunk/contrib/performance/sqlusage/sqlusage.py

source_changes at macosforge.org source_changes at macosforge.org
Mon Jul 22 12:25:12 PDT 2013


Revision: 11543
          http://trac.calendarserver.org//changeset/11543
Author:   cdaboo at apple.com
Date:     2013-07-22 12:25:12 -0700 (Mon, 22 Jul 2013)
Log Message:
-----------
More command line options to control output and which set of tests are done.

Modified Paths:
--------------
    CalendarServer/trunk/contrib/performance/sqlusage/sqlusage.py

Modified: CalendarServer/trunk/contrib/performance/sqlusage/sqlusage.py
===================================================================
--- CalendarServer/trunk/contrib/performance/sqlusage/sqlusage.py	2013-07-22 18:25:38 UTC (rev 11542)
+++ CalendarServer/trunk/contrib/performance/sqlusage/sqlusage.py	2013-07-22 19:25:12 UTC (rev 11543)
@@ -93,12 +93,13 @@
 
 class EventSQLUsage(object):
 
-    def __init__(self, server, port, users, pswds, logFilePath):
+    def __init__(self, server, port, users, pswds, logFilePath, compact):
         self.server = server
         self.port = port
         self.users = users
         self.pswds = pswds
         self.logFilePath = logFilePath
+        self.compact = compact
         self.requestLabels = []
         self.results = {}
         self.currentCount = 0
@@ -114,13 +115,13 @@
 
         # Set of requests to execute
         requests = [
-            MultigetTest("multiget-1", sessions, self.logFilePath, 1),
-            MultigetTest("multiget-50", sessions, self.logFilePath, 50),
-            PropfindTest("propfind-cal", sessions, self.logFilePath, 1),
-            SyncTest("sync-full", sessions, self.logFilePath, True, 0),
-            SyncTest("sync-1", sessions, self.logFilePath, False, 1),
-            QueryTest("query-1", sessions, self.logFilePath, 1),
-            QueryTest("query-10", sessions, self.logFilePath, 10),
+            MultigetTest("mget-1" if self.compact else "multiget-1", sessions, self.logFilePath, 1),
+            MultigetTest("mget-50" if self.compact else "multiget-50", sessions, self.logFilePath, 50),
+            PropfindTest("prop-cal" if self.compact else "propfind-cal", sessions, self.logFilePath, 1),
+            SyncTest("s-full" if self.compact else "sync-full", sessions, self.logFilePath, True, 0),
+            SyncTest("s-1" if self.compact else "sync-1", sessions, self.logFilePath, False, 1),
+            QueryTest("q-1" if self.compact else "query-1", sessions, self.logFilePath, 1),
+            QueryTest("q-10" if self.compact else "query-10", sessions, self.logFilePath, 10),
             PutTest("put", sessions, self.logFilePath),
             InviteTest("invite", sessions, self.logFilePath),
         ]
@@ -187,12 +188,13 @@
 
 class SharerSQLUsage(object):
 
-    def __init__(self, server, port, users, pswds, logFilePath):
+    def __init__(self, server, port, users, pswds, logFilePath, compact):
         self.server = server
         self.port = port
         self.users = users
         self.pswds = pswds
         self.logFilePath = logFilePath
+        self.compact = compact
         self.requestLabels = []
         self.results = {}
         self.currentCount = 0
@@ -212,13 +214,13 @@
 
         # Set of requests to execute
         requests = [
-            MultigetTest("multiget-1", sessions, self.logFilePath, 1),
-            MultigetTest("multiget-50", sessions, self.logFilePath, 50),
+            MultigetTest("mget-1" if self.compact else "multiget-1", sessions, self.logFilePath, 1),
+            MultigetTest("mget-50" if self.compact else "multiget-50", sessions, self.logFilePath, 50),
             PropfindInviteTest("propfind", sessions, self.logFilePath, 1),
-            SyncTest("sync-full", sessions, self.logFilePath, True, 0),
-            SyncTest("sync-1", sessions, self.logFilePath, False, 1),
-            QueryTest("query-1", sessions, self.logFilePath, 1),
-            QueryTest("query-10", sessions, self.logFilePath, 10),
+            SyncTest("s-full" if self.compact else "sync-full", sessions, self.logFilePath, True, 0),
+            SyncTest("s-1" if self.compact else "sync-1", sessions, self.logFilePath, False, 1),
+            QueryTest("q-1" if self.compact else "query-1", sessions, self.logFilePath, 1),
+            QueryTest("q-10" if self.compact else "query-10", sessions, self.logFilePath, 10),
             PutTest("put", sessions, self.logFilePath),
         ]
         self.requestLabels = [request.label for request in requests]
@@ -302,7 +304,11 @@
     --port         Server port
     --user         User name
     --pswd         Password
-    --event_counts       Comma-separated list of event event_counts to test
+    --event        Do event scaling
+    --share        Do sharee sclaing
+    --event-counts       Comma-separated list of event counts to test
+    --sharee-counts      Comma-separated list of sharee counts to test
+    --compact      Make printed tables as thin as possible
 
 Arguments:
     FILE           File name for sqlstats.log to analyze.
@@ -325,11 +331,22 @@
     file = "sqlstats.logs"
     event_counts = EVENT_COUNTS
     sharee_counts = SHAREE_COUNTS
+    compact = False
 
+    do_all = True
+    do_event = False
+    do_share = False
+
     options, args = getopt.getopt(
         sys.argv[1:],
         "h",
-        ["server=", "port=", "user=", "pswd=", "event-counts=", "sharee-counts=", ]
+        [
+            "server=", "port=",
+            "user=", "pswd=",
+            "compact",
+            "event", "share",
+            "event-counts=", "sharee-counts=",
+        ]
     )
 
     for option, value in options:
@@ -343,6 +360,14 @@
             users = value.split(",")
         elif option == "--pswd":
             pswds = value.split(",")
+        elif option == "--compact":
+            compact = True
+        elif option == "--event":
+            do_all = False
+            do_event = True
+        elif option == "--share":
+            do_all = False
+            do_share = True
         elif option == "--event-counts":
             event_counts = [int(i) for i in value.split(",")]
         elif option == "--sharee-counts":
@@ -356,10 +381,12 @@
     elif len(args) != 0:
         usage("Must zero or one file arguments")
 
-    sql = EventSQLUsage(server, port, users, pswds, file)
-    sql.runLoop(event_counts)
-    sql.report()
+    if do_all or do_event:
+        sql = EventSQLUsage(server, port, users, pswds, file, compact)
+        sql.runLoop(event_counts)
+        sql.report()
 
-    sql = SharerSQLUsage(server, port, users, pswds, file)
-    sql.runLoop(sharee_counts)
-    sql.report()
+    if do_all or do_share:
+        sql = SharerSQLUsage(server, port, users, pswds, file, compact)
+        sql.runLoop(sharee_counts)
+        sql.report()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130722/3a332da2/attachment.html>


More information about the calendarserver-changes mailing list