From: Mykola Golub Date: Sun, 2 Dec 2018 16:31:53 +0000 (+0200) Subject: mgr/osd_perf_query: add query to test all supported subkeys X-Git-Tag: v14.1.0~718^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=99d22c5dfd655c0610596f8cecf38ca309ec1ff4;p=ceph-ci.git mgr/osd_perf_query: add query to test all supported subkeys Signed-off-by: Mykola Golub --- diff --git a/src/pybind/mgr/osd_perf_query/module.py b/src/pybind/mgr/osd_perf_query/module.py index 56604d44b84..44f8e1192dd 100644 --- a/src/pybind/mgr/osd_perf_query/module.py +++ b/src/pybind/mgr/osd_perf_query/module.py @@ -23,7 +23,8 @@ class OSDPerfQuery(MgrModule): COMMANDS = [ { "cmd": "osd perf query add " - "name=query,type=CephChoices,strings=client_id|rbd_image_id", + "name=query,type=CephChoices," + "strings=client_id|rbd_image_id|all_subkeys", "desc": "add osd perf query", "perm": "w" }, @@ -62,14 +63,32 @@ class OSDPerfQuery(MgrModule): ], } + ALL_SUBKEYS_QUERY = { + 'key_descriptor': [ + {'type': 'client_id', 'regex': '^.*$'}, + {'type': 'client_address', 'regex': '^.*$'}, + {'type': 'pool_id', 'regex': '^.*$'}, + {'type': 'namespace', 'regex': '^.*$'}, + {'type': 'osd_id', 'regex': '^.*$'}, + {'type': 'pg_id', 'regex': '^.*$'}, + {'type': 'object_name', 'regex': '^.*$'}, + {'type': 'snap_id', 'regex': '^.*$'}, + ], + 'performance_counter_descriptors': [ + 'write_ops', 'read_ops', + ], + } + queries = {} def handle_command(self, inbuf, cmd): if cmd['prefix'] == "osd perf query add": if cmd['query'] == 'rbd_image_id': query = self.RBD_IMAGE_ID_QUERY - else: + elif cmd['query'] == 'rbd_image_id': query = self.CLIENT_ID_QUERY + else: + query = self.ALL_SUBKEYS_QUERY query_id = self.add_osd_perf_query(query) if query_id is None: return -errno.EINVAL, "", "Invalid query" @@ -94,7 +113,7 @@ class OSDPerfQuery(MgrModule): if query == self.RBD_IMAGE_ID_QUERY: column_names = ["pool_id", "rbd image_id"] else: - column_names = ["client_id"] + column_names = [sk['type'] for sk in query['key_descriptor']] for d in descriptors: desc = d if d in ['write_bytes', 'read_bytes']: @@ -109,7 +128,7 @@ class OSDPerfQuery(MgrModule): if query == self.RBD_IMAGE_ID_QUERY: row = [c['k'][0][0], c['k'][1][1]] else: - row = [c['k'][0][0]] + row = [sk[0] for sk in c['k']] counters = c['c'] for i in range(len(descriptors)): if descriptors[i] in ['write_bytes', 'read_bytes']: