]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
test/no_network.py: add a basic stats provider
authorBrian Warner <warner@lothar.com>
Tue, 24 Feb 2009 00:39:37 +0000 (17:39 -0700)
committerBrian Warner <warner@lothar.com>
Tue, 24 Feb 2009 00:39:37 +0000 (17:39 -0700)
src/allmydata/test/no_network.py

index 731d7d9986691343c8b5055de331e9759a5fd817..d75cc04abd975335fc708757fe849e375f17cb27 100644 (file)
@@ -135,6 +135,24 @@ class NoNetworkClient(Client):
     def get_nickname_for_peerid(self, peerid):
         return None
 
+class SimpleStats:
+    def __init__(self):
+        self.counters = {}
+        self.stats_producers = []
+
+    def count(self, name, delta=1):
+        val = self.counters.setdefault(name, 0)
+        self.counters[name] = val + delta
+
+    def register_producer(self, stats_producer):
+        self.stats_producers.append(stats_producer)
+
+    def get_stats(self):
+        stats = {}
+        for sp in self.stats_producers:
+            stats.update(sp.get_stats())
+        ret = { 'counters': self.counters, 'stats': stats }
+        return ret
 
 class NoNetworkGrid(service.MultiService):
     def __init__(self, basedir, num_clients=1, num_servers=10,
@@ -181,7 +199,7 @@ class NoNetworkGrid(service.MultiService):
         serverdir = os.path.join(self.basedir, "servers",
                                  idlib.shortnodeid_b2a(serverid))
         fileutil.make_dirs(serverdir)
-        ss = StorageServer(serverdir, serverid)
+        ss = StorageServer(serverdir, serverid, stats_provider=SimpleStats())
         return ss
 
     def add_server(self, i, ss):