diff options
-rw-r--r-- | include/gras/top_block.hpp | 5 | ||||
-rw-r--r-- | lib/top_block_stats.cpp | 2 | ||||
-rw-r--r-- | python/gras/GRAS_HierBlock.i | 4 | ||||
-rw-r--r-- | python/gras/stats/__init__.py | 6 | ||||
-rw-r--r-- | tests/stats_test.py | 2 |
5 files changed, 10 insertions, 9 deletions
diff --git a/include/gras/top_block.hpp b/include/gras/top_block.hpp index 34ee98d..fc86e30 100644 --- a/include/gras/top_block.hpp +++ b/include/gras/top_block.hpp @@ -78,10 +78,11 @@ struct GRAS_API TopBlock : HierBlock virtual bool wait(const double timeout); /*! - * Get block usage statistics in XML format. + * Get block usage statistics in some format. + * Args are used to set the query parameters. * An external app will visualize the data. */ - virtual std::string get_stats_xml(void); + virtual std::string get_stats(const std::string &args); }; } //namespace gras diff --git a/lib/top_block_stats.cpp b/lib/top_block_stats.cpp index 5d206e2..2a6d36c 100644 --- a/lib/top_block_stats.cpp +++ b/lib/top_block_stats.cpp @@ -22,7 +22,7 @@ struct GetStatsReceiver : Theron::Receiver std::vector<GetStatsMessage> messages; }; -std::string TopBlock::get_stats_xml(void) +std::string TopBlock::get_stats(const std::string &) { GetStatsReceiver receiver; (*this)->executor->post_all(GetStatsMessage(), receiver); diff --git a/python/gras/GRAS_HierBlock.i b/python/gras/GRAS_HierBlock.i index 1d2ba6e..481bb0e 100644 --- a/python/gras/GRAS_HierBlock.i +++ b/python/gras/GRAS_HierBlock.i @@ -96,10 +96,10 @@ struct TopBlockPython : TopBlock return TopBlock::wait(timeout); } - std::string get_stats_xml(void) + std::string get_stats(const std::string &args) { PyTSPhondler phil; - return TopBlock::get_stats_xml(); + return TopBlock::get_stats(args); } }; diff --git a/python/gras/stats/__init__.py b/python/gras/stats/__init__.py index ce570b0..6f68d1f 100644 --- a/python/gras/stats/__init__.py +++ b/python/gras/stats/__init__.py @@ -4,7 +4,7 @@ import BaseHTTPServer import os __path__ = os.path.abspath(os.path.dirname(__file__)) -get_stats_registry = [lambda: ""] +server_registry = dict() class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler): @@ -19,7 +19,7 @@ class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler): s.send_response(200) s.send_header("Content-type", "text/xml") s.end_headers() - s.wfile.write(get_stats_registry[0]()) + s.wfile.write(server_registry[s.server].get_stats("")) return path = s.path if path.startswith('/'): path = path[1:] @@ -40,9 +40,9 @@ import select class http_server(object): def __init__(self, args, top_block): - get_stats_registry[0] = top_block.get_stats_xml server_class = BaseHTTPServer.HTTPServer self._httpd = server_class(args, MyHandler) + server_registry[self._httpd] = top_block def serve_forever(self): while True: diff --git a/tests/stats_test.py b/tests/stats_test.py index 9d937e9..1c4ff5e 100644 --- a/tests/stats_test.py +++ b/tests/stats_test.py @@ -22,7 +22,7 @@ class StatsTest(unittest.TestCase): self.assertEqual(vec_sink.get_vector(), (0, 9, 8, 7, 6)) - print self.tb.get_stats_xml() + print self.tb.get_stats("") if __name__ == '__main__': unittest.main() |