@cryptotaxi247 / netdata-1 / commits / 63d80e022

Refactoring 'for' loops

lets00 committed Jan 12, 2018 at 14:54 UTC 63d80e0224b6710477c9f90be95917d2112de5e9
1 file changed +12 -18
python.d/ceph.chart.py
+12 -18
@@ -96,9 +96,11 @@ class Service(SimpleService):
96 try:
97 data = {}
98 data.update(self._get_general())
99 - data.update(self._get_pool_usage())
100 - data.update(self._get_pool_objects())
101 - data.update(self._get_osd_usage())
99 + for pool in self._get_df()['pools']:
100 + data.update(self._get_pool_usage(pool))
101 + data.update(self._get_pool_objects(pool))
102 + for osd in self._get_osd_df()['nodes']:
103 + data.update(self._get_osd_usage(osd))
104 return data
105 except (ValueError, AttributeError) as error:
106 self.error(error)
@@ -114,35 +116,26 @@ class Service(SimpleService):
116 'general_available': info['total_avail_bytes']
117 }
118
117 - def _get_pool_usage(self):
119 + def _get_pool_usage(self, pool):
120 """
121 Process raw data into pool usage dict information
122 :return: A pool dict with pool name's key and usage bytes' value
123 """
122 - pool_usage = {}
123 - for df in self._get_df()['pools']:
124 - pool_usage[df['name']] = df['stats']['kb_used']
125 - return pool_usage
124 + return {pool['name']: pool['stats']['kb_used']}
125
127 - def _get_pool_objects(self):
126 + def _get_pool_objects(self, pool):
127 """
128 Process raw data into pool usage dict information
129 :return: A pool dict with pool name's key and object numbers
130 """
132 - pool_objects = {}
133 - for df in self._get_df()['pools']:
134 - pool_objects["obj_{0}".format(df['name'])] = df['stats']['objects']
135 - return pool_objects
131 + return {'obj_{0}'.format(pool['name']): pool['stats']['objects']}
132
137 - def _get_osd_usage(self):
133 + def _get_osd_usage(self, osd):
134 """
135 Process raw data into osd dict information to get osd usage
136 :return: A osd dict with osd name's key and usage bytes' value
137 """
142 - osd_usage = {}
143 - for osd in self._get_osd_df()['nodes']:
144 - osd_usage[osd['name']] = float(osd['kb_used'])
145 - return osd_usage
138 + return {osd['name']: float(osd['kb_used'])}
139
140 def _get_df(self):
141 """
@@ -163,3 +156,4 @@ class Service(SimpleService):
156 'prefix': 'osd df',
157 'format': 'json'
158 }), '')[1])
159 +