@cryptotaxi247 / netdata-1 / commits / 463764681

python.d/varnish: multiple storage backends fix (#9668)

florianmagnin committed Aug 16, 2020 at 10:41 UTC 46376468129172ddfa3f13c2b4652c3fc9d86da9
1 file changed +15 -15
collectors/python.d.plugin/varnish/varnish.chart.py
+15 -15
@@ -155,14 +155,14 @@ def backend_charts_template(name):
155 return order, charts
156
157
158 -def disk_charts_template(name):
158 +def storage_charts_template(name):
159 order = [
160 - 'disk_{0}_usage'.format(name),
160 + 'storage_{0}_usage'.format(name),
161 ]
162
163 charts = {
164 order[0]: {
165 - 'options': [None, 'Disk "{0}" Usage'.format(name), 'KiB', 'disk usage', 'varnish.disk_usage', 'stacked'],
165 + 'options': [None, 'Storage "{0}" Usage'.format(name), 'KiB', 'storage usage', 'varnish.storage_usage', 'stacked'],
166 'lines': [
167 ['{0}.g_space'.format(name), 'free', 'absolute', 1, 1 << 10],
168 ['{0}.g_bytes'.format(name), 'allocated', 'absolute', 1, 1 << 10]
@@ -227,7 +227,7 @@ class Service(ExecutableService):
227 self.parser = Parser()
228 self.command = None
229 self.collected_vbe = set()
230 - self.collected_smf = set()
230 + self.collected_smf_sma = set()
231
232 def create_command(self):
233 varnishstat = find_binary(VARNISHSTAT)
@@ -298,7 +298,7 @@ class Service(ExecutableService):
298 data.update(stats)
299
300 self.get_vbe_backends(data, raw)
301 - self.get_smf_disks(server_stats)
301 + self.get_smf_sma_storages(server_stats)
302
303 # varnish 5 uses default.g_bytes and default.g_space
304 data['memory_allocated'] = data.get('s0.g_bytes') or data.get('default.g_bytes')
@@ -320,7 +320,7 @@ class Service(ExecutableService):
320 self.collected_vbe.add(name)
321 self.add_backend_charts(name)
322
323 - def get_smf_disks(self, server_stats):
323 + def get_smf_sma_storages(self, server_stats):
324 # [('SMF.', 'ssdStorage.c_req', '47686'),
325 # ('SMF.', 'ssdStorage.c_fail', '0'),
326 # ('SMF.', 'ssdStorage.c_bytes', '668102656'),
@@ -331,21 +331,21 @@ class Service(ExecutableService):
331 # ('SMF.', 'ssdStorage.g_smf', '40130'),
332 # ('SMF.', 'ssdStorage.g_smf_frag', '311'),
333 # ('SMF.', 'ssdStorage.g_smf_large', '66')]
334 - disks = [name for typ, name, _ in server_stats if typ.startswith('SMF') and name.endswith('g_space')]
335 - if not disks:
334 + storages = [name for typ, name, _ in server_stats if typ.startswith(('SMF', 'SMA')) and name.endswith('g_space')]
335 + if not storages:
336 return
337 - for disk in disks:
338 - disk = disk.split('.')[0] # ssdStorage
339 - if disk in self.collected_smf:
337 + for storage in storages:
338 + storage = storage.split('.')[0]
339 + if storage in self.collected_smf_sma:
340 continue
341 - self.collected_smf.add(disk)
342 - self.add_disk_charts(disk)
341 + self.collected_smf_sma.add(storage)
342 + self.add_storage_charts(storage)
343
344 def add_backend_charts(self, backend_name):
345 self.add_charts(backend_name, backend_charts_template)
346
347 - def add_disk_charts(self, disk_name):
348 - self.add_charts(disk_name, disk_charts_template)
347 + def add_storage_charts(self, storage_name):
348 + self.add_charts(storage_name, storage_charts_template)
349
350 def add_charts(self, name, charts_template):
351 order, charts = charts_template(name)