[Checkins] SVN: ZODB/trunk/src/ZEO/ Added the client side of server_status.

Jim Fulton jim at zope.com
Tue May 4 11:24:36 EDT 2010


Log message for revision 111928:
  Added the client side of server_status.
  

Changed:
  U   ZODB/trunk/src/ZEO/ClientStorage.py
  U   ZODB/trunk/src/ZEO/ServerStub.py
  U   ZODB/trunk/src/ZEO/tests/testZEO.py

-=-
Modified: ZODB/trunk/src/ZEO/ClientStorage.py
===================================================================
--- ZODB/trunk/src/ZEO/ClientStorage.py	2010-05-04 15:24:33 UTC (rev 111927)
+++ ZODB/trunk/src/ZEO/ClientStorage.py	2010-05-04 15:24:35 UTC (rev 111928)
@@ -1504,7 +1504,10 @@
                 return self._iterator_gc(True)
             self._iterator_ids -= iids
 
+    def server_status(self):
+        return self._server.server_status()
 
+
 class TransactionIterator(object):
 
     def __init__(self, storage, iid, *args):

Modified: ZODB/trunk/src/ZEO/ServerStub.py
===================================================================
--- ZODB/trunk/src/ZEO/ServerStub.py	2010-05-04 15:24:33 UTC (rev 111927)
+++ ZODB/trunk/src/ZEO/ServerStub.py	2010-05-04 15:24:35 UTC (rev 111928)
@@ -296,6 +296,9 @@
     def iterator_gc(self, iids):
         return self.rpc.callAsync('iterator_gc', iids)
 
+    def server_status(self):
+        return self.rpc.call("server_status")
+
 class StorageServer308(StorageServer):
 
     def __init__(self, rpc):

Modified: ZODB/trunk/src/ZEO/tests/testZEO.py
===================================================================
--- ZODB/trunk/src/ZEO/tests/testZEO.py	2010-05-04 15:24:33 UTC (rev 111927)
+++ ZODB/trunk/src/ZEO/tests/testZEO.py	2010-05-04 15:24:35 UTC (rev 111928)
@@ -25,10 +25,13 @@
 from ZODB.tests.MinPO import MinPO
 from ZODB.tests.StorageTestBase import zodb_unpickle
 
+from zope.testing import renormalizing
+
 import doctest
 import logging
 import os
 import persistent
+import re
 import shutil
 import signal
 import stat
@@ -1267,7 +1270,31 @@
     >>> client.close()
     """
 
+def test_server_status():
+    """
+    You can get server status using the server_status method.
 
+    >>> addr, _ = start_server()
+    >>> db = ZEO.DB(addr)
+    >>> import pprint
+    >>> pprint.pprint(db.storage.server_status(), width=1)
+    {'aborts': 0,
+     'active_txns': 0,
+     'commits': 1,
+     'conflicts': 0,
+     'conflicts_resolved': 0,
+     'connections': 1,
+     'loads': 1,
+     'lock_time': None,
+     'start': 'Tue May  4 10:55:20 2010',
+     'stores': 1,
+     'verifying_clients': 0,
+     'waiting': 0}
+
+    >>> db.close()
+    """
+
+
 if sys.version_info >= (2, 6):
     import multiprocessing
 
@@ -1383,7 +1410,11 @@
     zeo = unittest.TestSuite()
     zeo.addTest(unittest.makeSuite(ZODB.tests.util.AAAA_Test_Runner_Hack))
     zeo.addTest(doctest.DocTestSuite(
-        setUp=forker.setUp, tearDown=zope.testing.setupstack.tearDown))
+        setUp=forker.setUp, tearDown=zope.testing.setupstack.tearDown,
+        checker=renormalizing.RENormalizing([
+            (re.compile(r"'start': '[^\n]+'"), 'start'),
+            ]),
+        ))
     zeo.addTest(doctest.DocTestSuite(ZEO.tests.IterationTests,
         setUp=forker.setUp, tearDown=zope.testing.setupstack.tearDown))
     zeo.addTest(doctest.DocFileSuite('registerDB.test'))



More information about the checkins mailing list