]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
pybind/mgr/dashboard: expose get_counter and get_perf_schema
authorDan Mick <dan.mick@redhat.com>
Wed, 12 Jul 2017 05:27:01 +0000 (22:27 -0700)
committerDan Mick <dan.mick@redhat.com>
Tue, 18 Jul 2017 20:27:10 +0000 (13:27 -0700)
Useful for experimentation/development; not required

Signed-off-by: Dan Mick <dan.mick@redhat.com>
src/pybind/mgr/dashboard/module.py

index 42f62a8c8af8d5d4291a9715b73a5cc911f54cb6..539cfd3f7c5f89eb31b54103e665f6062b810803 100644 (file)
@@ -730,6 +730,27 @@ class Module(MgrModule):
 
                 return dict(result)
 
+            @cherrypy.expose
+            @cherrypy.tools.json_out()
+            def get_counter(self, type, id, path):
+                return global_instance().get_counter(type, id, path)
+
+            @cherrypy.expose
+            @cherrypy.tools.json_out()
+            def get_perf_schema(self, **args):
+                type = args.get('type', '')
+                id = args.get('id', '')
+                schema = global_instance().get_perf_schema(type, id)
+                ret = dict()
+                for k1 in schema.keys():    # 'perf_schema'
+                    ret[k1] = collections.OrderedDict()
+                    for k2 in sorted(schema[k1].keys()):
+                        sorted_dict = collections.OrderedDict(
+                            sorted(schema[k1][k2].items(), key=lambda i: i[0])
+                        )
+                        ret[k1][k2] = sorted_dict
+                return ret
+
         server_addr = self.get_localized_config('server_addr', '::')
         server_port = self.get_localized_config('server_port', '7000')
         if server_addr is None: