Merge branch 'main' into add-support-for-neighbour-info

This commit is contained in:
Gleb Tcivie 2024-07-05 11:48:28 +03:00 committed by GitHub
commit 555885baf9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 18 additions and 5 deletions

View file

@ -461,9 +461,9 @@ class TraceRouteAppProcessor(Processor):
traceroute.ParseFromString(payload)
if traceroute.route:
route = traceroute.route
self.metrics.route_discovery_counter.labels(
self.metrics.route_discovery_gauge.labels(
**client_details.to_dict()
).inc(len(route))
).set(len(route))
@ProcessorRegistry.register_processor(PortNum.NEIGHBORINFO_APP)

View file

@ -324,7 +324,7 @@ class _Metrics:
)
def _init_route_discovery_metrics(self):
self.route_discovery_counter = Counter(
self.route_discovery_gauge = Gauge(
'route_length',
'Number of nodes in the route',
self._get_common_labels(),

14
main.py
View file

@ -35,11 +35,23 @@ def handle_connect(client, userdata, flags, reason_code, properties):
client.subscribe(os.getenv('MQTT_TOPIC', 'msh/israel/#'))
def update_node_status(node_number, status):
with connection_pool.connection() as conn:
with conn.cursor() as cur:
cur.execute("INSERT INTO client_details (node_id, mqtt_status) VALUES (%s, %s)"
"ON CONFLICT(node_id)"
"DO UPDATE SET mqtt_status = %s", (node_number, status, status))
conn.commit()
def handle_message(client, userdata, message):
current_timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(f"Received message on topic '{message.topic}' at {current_timestamp}")
if '/stat/' in message.topic:
print(f"Filtered out message from topic containing '/stat/': {message.topic}")
user_id = message.topic.split('/')[-1] # Hexadecimal user ID
if user_id[0] == '!':
node_number = str(int(user_id[1:], 16))
update_node_status(node_number, message.payload.decode('utf-8'))
return
envelope = ServiceEnvelope()

View file

@ -5,4 +5,5 @@ unishox2-py3~=1.0.0
cryptography~=42.0.8
psycopg~=3.1.19
psycopg_pool~=3.2.2
meshtastic~=2.3.13
meshtastic~=2.3.13
psycopg-binary~=3.1.20