]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
pybind/mgr/prometheus: export cluster-wide pg stats, not per osd
authorJan Fajerski <jfajerski@suse.com>
Fri, 11 Aug 2017 11:09:24 +0000 (13:09 +0200)
committerJohn Spray <john.spray@redhat.com>
Wed, 1 Nov 2017 23:03:24 +0000 (23:03 +0000)
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 13b1236b96d4563e0985cad40d3009b60cc475e7)

src/pybind/mgr/prometheus/module.py

index 057aa31627dde2d179b8751cfb711a0249bd4ef7..cdd679e5d44d3390c8bb5c9c0f6714cf9ddc0598 100644 (file)
@@ -275,7 +275,6 @@ class Module(MgrModule):
                 'gauge',
                 path,
                 'PG {}'.format(state),
-                ('osd',),
             )
         for state in DF_CLUSTER:
             path = 'cluster_{}'.format(state)
@@ -384,18 +383,17 @@ class Module(MgrModule):
 
     def get_pg_status(self):
         # TODO add per pool status?
-        pg_s = self.get('pg_summary')['by_osd']
-        for osd in pg_s:
-            reported_pg_s = [(s,v) for key, v in pg_s[osd].items() for s in
-                             key.split('+')]
-            for state, value in reported_pg_s:
-                path = 'pg_{}'.format(state)
-                self.metrics[path].set(value, (osd,))
-            reported_states = [s[0] for s in reported_pg_s]
-            for state in PG_STATES:
-                path = 'pg_{}'.format(state)
-                if state not in reported_states:
-                    self.metrics[path].set(0, (osd,))
+        pg_s = self.get('pg_summary')['all']
+        reported_pg_s = [(s,v) for key, v in pg_s.items() for s in
+                         key.split('+')]
+        for state, value in reported_pg_s:
+            path = 'pg_{}'.format(state)
+            self.metrics[path].set(value)
+        reported_states = [s[0] for s in reported_pg_s]
+        for state in PG_STATES:
+            path = 'pg_{}'.format(state)
+            if state not in reported_states:
+                self.metrics[path].set(0)
 
     def get_metadata(self):
         osd_map = self.get('osd_map')