fixes/optimizations

This commit is contained in:
Arseniy Kuznetsov
2023-01-17 08:21:34 +01:00
parent 7b2e18b609
commit 01ded0f497
4 changed files with 8 additions and 12 deletions

View File

@@ -29,13 +29,12 @@ class CapsmanCollector(BaseCollector):
return
remote_caps_labels = ['identity', 'version', 'base_mac', 'board', 'base_mac']
router_entry.wifi_package = None
remote_caps_records = CapsmanCapsMetricsDataSource.metric_records(router_entry, metric_labels = remote_caps_labels)
if remote_caps_records:
remote_caps_metrics = BaseCollector.info_collector('capsman_remote_caps', 'CAPsMAN remote caps', remote_caps_records, remote_caps_labels)
yield remote_caps_metrics
registration_labels = ['interface', 'ssid', 'mac_address', 'tx_rate', 'rx_rate', 'rx_signal', 'signal','uptime', 'bytes']
registration_labels = ['interface', 'ssid', 'mac_address', 'tx_rate', 'rx_rate', 'rx_signal', 'signal', 'uptime', 'bytes']
registration_records = CapsmanRegistrationsMetricsDataSource.metric_records(router_entry, metric_labels = registration_labels)
if registration_records:
# calculate number of registrations per interface

View File

@@ -28,7 +28,6 @@ class WLANCollector(BaseCollector):
return
monitor_labels = ['channel', 'noise_floor', 'overall_tx_ccq', 'registered_clients', 'registered_peers']
router_entry.wifi_package = None
monitor_records = InterfaceMonitorMetricsDataSource.metric_records(router_entry, metric_labels = monitor_labels, kind = WirelessMetricsDataSource.wireless_package(router_entry))
if monitor_records:
# sanitize records for relevant labels

View File

@@ -35,7 +35,7 @@ class CollectorHandler:
Thus, the total runtime of this function scales linearly with the number of registered routers.
"""
for router_entry in self.entries_handler.router_entries:
if not router_entry.is_connected():
if not router_entry.is_ready():
# let's pick up on things in the next run
continue
@@ -87,7 +87,7 @@ class CollectorHandler:
print(f'Hit overall timeout while scraping router entry: {router_entry.router_id[MKTXPConfigKeys.ROUTERBOARD_NAME]}')
break
if not router_entry.is_connected():
if not router_entry.is_ready():
# let's pick up on things in the next run
continue

View File

@@ -54,16 +54,14 @@ class RouterEntry:
'MKTXPCollector': 0
}
def is_connected(self):
connected = True
def is_ready(self):
is_ready = True
self.wifi_package = None
if not self.api_connection.is_connected():
connected = False
is_ready = False
# let's get connected now
self.api_connection.connect()
if self.dhcp_entry:
self.dhcp_entry.api_connection.connect()
return connected
return is_ready