more netwatch metrics (#97)

This commit is contained in:
Arseniy Kuznetsov
2024-04-14 17:56:13 +02:00
parent ae1ea85a2f
commit e473d1ee26
4 changed files with 51 additions and 21 deletions

View File

@@ -20,7 +20,7 @@ class KidDeviceMetricsDataSource:
"""
@staticmethod
def metric_records(router_entry, *, metric_labels=None, translation_table = None):
def metric_records(router_entry, *, metric_labels=None, translation_table=None):
if metric_labels is None:
metric_labels = []
try:

View File

@@ -19,13 +19,12 @@ class NetwatchMetricsDataSource:
''' Netwatch Metrics data provider
'''
@staticmethod
def metric_records(router_entry, *, metric_labels = None):
def metric_records(router_entry, *, metric_labels=None, translation_table=None):
if metric_labels is None:
metric_labels = []
try:
netwatch_records = router_entry.api_connection.router_api().get_resource('/tool/netwatch').get(disabled='false')
if 'name' in metric_labels:
for netwatch_record in netwatch_records:
comment = netwatch_record.get('comment')
host = netwatch_record.get('host')
@@ -33,11 +32,6 @@ class NetwatchMetricsDataSource:
netwatch_record['name'] = f'{host} ({comment[0:20]})' if not router_entry.config_entry.use_comments_over_names else comment
else:
netwatch_record['name'] = host
# translation rules
translation_table = {}
if 'status' in metric_labels:
translation_table['status'] = lambda value: '1' if value == 'up' else '0'
return BaseDSProcessor.trimmed_records(router_entry, router_records = netwatch_records, translation_table = translation_table, metric_labels = metric_labels)
except Exception as exc: