Skip to content

Commit

Permalink
cleanup, move label extension to a dedicated function
Browse files Browse the repository at this point in the history
  • Loading branch information
richardtief committed Feb 26, 2024
1 parent 438c9b6 commit 569cdf3
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 14 deletions.
6 changes: 6 additions & 0 deletions BaseCollector.py
Original file line number Diff line number Diff line change
Expand Up @@ -374,6 +374,12 @@ def generate_alert_metrics(self, label_names: list) -> InfoMetricFamily:
labels=label_names)
return alert_metric

def add_metric_labels(self, metric_object: GaugeMetricFamily, labels):
if labels[0] not in metric_object._labelnames:
for label in labels:
metric_object._labelnames += (label,)
return

def describe(self):
collector_config = self.read_collector_config()
for metric in collector_config[self.name]:
Expand Down
15 changes: 5 additions & 10 deletions collectors/PropertiesCollector.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,21 +67,17 @@ def collect(self):

if statkey in self.nested_value_metric_keys:
add_labels, add_label_value_list, add_value = self.unlock_nested_values(statkey, metric_value)
if add_labels[0] not in metrics[statkey]['gauge']._labelnames:
for add_label in add_labels:
metrics[statkey]['gauge']._labelnames += (add_label,)

self.add_metric_labels(metrics[statkey]['gauge'], add_labels)

for add_label_value in add_label_value_list:
_ = [labels.append(l) for l in add_label_value]
metrics[statkey]['gauge'].add_metric(labels=labels, value=add_value)
_ = [labels.remove(l) for l in add_label_value]
metrics[statkey]['gauge'].add_metric(labels=labels+add_label_value, value=add_value)
continue

if statkey in metrics:
# enum metrics
if metrics[statkey]['expected']:
if 'state' not in metrics[statkey]['gauge']._labelnames:
metrics[statkey]['gauge']._labelnames += ('state',)
self.add_metric_labels(metrics[statkey]['gauge'], ['state'])

state = metric_value if metric_value else 'n/a'
labels.append(state)
Expand All @@ -91,8 +87,7 @@ def collect(self):
# string values
elif metric_value:
metric_suffix = metrics[statkey]['metric_suffix']
if metric_suffix not in metrics[statkey]['gauge']._labelnames:
metrics[statkey]['gauge']._labelnames += (metric_suffix,)
self.add_metric_labels(metrics[statkey]['gauge'], [metric_suffix])

labels.append(metric_value)
metrics[statkey]['gauge'].add_metric(labels=labels, value=1)
Expand Down
6 changes: 2 additions & 4 deletions collectors/SDRSPropertiesCollector.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,8 @@ def config_sdrsconfig_vmStorageAntiAffinityRules(self, metric_value):
rule_labels = ['rule', 'rule_name', 'rule_type', 'valid', 'virtualmachine']
rule_label_values = []

value = 0

for i, rule in enumerate(rules):
mapped_vms = self.vm_mapping_helper(rule.get('virtualMachines'), [])
mapped_vms = self.vm_mapping_helper(rule.get('virtualMachines', []))
for vm in mapped_vms:
rule_label_values.append([
f'{i+1}/{amount_rules}',
Expand All @@ -47,7 +45,7 @@ def config_sdrsconfig_vmStorageAntiAffinityRules(self, metric_value):
str(rule.get('valid')).lower(),
vm
])
return rule_labels, rule_label_values, len(mapped_vms)
return rule_labels, rule_label_values, 1

def vm_mapping_helper(self, vm_list):
mapped_vms = []
Expand Down

0 comments on commit 569cdf3

Please sign in to comment.