]> 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, 27 Sep 2017 18:18:01 +0000 (14:18 -0400)
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
src/pybind/mgr/prometheus/module.py

index e0492418934a133c015b68cf8c812e23ad155ae3..d621461ac602d7a5fee8002b1cd66dd17f208117 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')