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 return
remote_caps_labels = ['identity', 'version', 'base_mac', 'board', 'base_mac'] 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) remote_caps_records = CapsmanCapsMetricsDataSource.metric_records(router_entry, metric_labels = remote_caps_labels)
if remote_caps_records: if remote_caps_records:
remote_caps_metrics = BaseCollector.info_collector('capsman_remote_caps', 'CAPsMAN remote caps', remote_caps_records, remote_caps_labels) remote_caps_metrics = BaseCollector.info_collector('capsman_remote_caps', 'CAPsMAN remote caps', remote_caps_records, remote_caps_labels)
yield remote_caps_metrics 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) registration_records = CapsmanRegistrationsMetricsDataSource.metric_records(router_entry, metric_labels = registration_labels)
if registration_records: if registration_records:
# calculate number of registrations per interface # calculate number of registrations per interface

View File

@@ -28,7 +28,6 @@ class WLANCollector(BaseCollector):
return return
monitor_labels = ['channel', 'noise_floor', 'overall_tx_ccq', 'registered_clients', 'registered_peers'] 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)) monitor_records = InterfaceMonitorMetricsDataSource.metric_records(router_entry, metric_labels = monitor_labels, kind = WirelessMetricsDataSource.wireless_package(router_entry))
if monitor_records: if monitor_records:
# sanitize records for relevant labels # 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. Thus, the total runtime of this function scales linearly with the number of registered routers.
""" """
for router_entry in self.entries_handler.router_entries: 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 # let's pick up on things in the next run
continue continue
@@ -87,7 +87,7 @@ class CollectorHandler:
print(f'Hit overall timeout while scraping router entry: {router_entry.router_id[MKTXPConfigKeys.ROUTERBOARD_NAME]}') print(f'Hit overall timeout while scraping router entry: {router_entry.router_id[MKTXPConfigKeys.ROUTERBOARD_NAME]}')
break break
if not router_entry.is_connected(): if not router_entry.is_ready():
# let's pick up on things in the next run # let's pick up on things in the next run
continue continue

View File

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