Skip to content

Commit 625f2f4

Browse files
committed
Adding some info stats
1 parent 33b8557 commit 625f2f4

5 files changed

Lines changed: 12 additions & 17 deletions

File tree

receptor/entrypoints.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,6 @@ def run_as_controller(config):
4545
logger.info(f'Starting stats on port {config.node_stats_port}')
4646
start_http_server(config.controller_stats_port)
4747
controller.enable_server(config.controller_listen)
48-
if config.controller_websocket_listen:
49-
controller.enable_websocket_server(config.controller_websocket_listen)
5048
controller.loop.create_task(controller.receptor.watch_expire())
5149
controller.run()
5250

receptor/receptor.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import pkg_resources
12
import asyncio
23
import copy
34
import json
@@ -9,7 +10,7 @@
910
from . import exceptions
1011
from .messages import directive, envelope
1112
from .router import MeshRouter
12-
from .stats import messages_received_counter
13+
from .stats import messages_received_counter, receptor_info
1314
from .work import WorkManager
1415

1516
RECEPTOR_DIRECTIVE_NAMESPACE = 'receptor'
@@ -31,6 +32,7 @@ def __init__(self, config, node_id=None, router_cls=None,
3132
self.connection_manifest_path = os.path.join(self.base_path, "connection_manifest")
3233
self.buffer_mgr = self.config.components_buffer_manager
3334
self.stop = False
35+
receptor_info.info(dict(node_id=self.node_id, receptor_version=pkg_resources.get_distribution("receptor").version))
3436

3537
def _find_node_id(self):
3638
if 'RECEPTOR_NODE_ID' in os.environ:

receptor/router.py

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from .exceptions import ReceptorBufferError, UnrouteableError
99
from .messages import envelope
10-
from .stats import route_counter
10+
from .stats import route_counter, route_info
1111

1212
logger = logging.getLogger(__name__)
1313

@@ -20,16 +20,7 @@ class MeshRouter:
2020
def __init__(self, receptor):
2121
self.receptor = receptor
2222
self.node_id = receptor.node_id
23-
24-
def debug_router(self):
25-
logger.debug("Receptor Edges: {}".format(self._edges))
26-
if self.receptor.config.default_debug:
27-
fd = open("graph_{}.dot".format(self.receptor.node_id), "w")
28-
fd.write("graph {")
29-
for left, right, weight in self._edges:
30-
fd.write("{} -- {};".format(left, right))
31-
fd.write("}")
32-
fd.close()
23+
route_info.info(dict(edges="()"))
3324

3425
def node_is_known(self, node_id):
3526
return node_id in self._nodes or node_id == self.node_id
@@ -57,7 +48,7 @@ def register_edge(self, left, right, cost):
5748
edge = self.update_node(left, right, cost)
5849
if not edge:
5950
self._edges.add((*sorted([left, right]), cost))
60-
self.debug_router()
51+
route_info.info(dict(edges=str(self._edges)))
6152

6253
def update_node(self, left, right, cost):
6354
edge = self.find_edge(left, right)

receptor/stats.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1-
from prometheus_client import Counter, Gauge
1+
from prometheus_client import Counter, Gauge, Info
22

33
messages_received_counter = Counter("incoming_messages", "Messages received from Receptor Peers")
44
connected_peers_gauge = Gauge("connected_peers", "Number of active peer connections")
55
work_counter = Counter("work_events", "A count of the number of work events that have been received")
66
active_work_gauge = Gauge("active_work", "Amount of work currently being performed")
77
route_counter = Counter("route_events", "A count of the number of messages that have been routed elsewhere in the mesh")
8+
route_info = Info("routing_table", "This nodes view of the mesh routing table")
9+
receptor_info = Info("receptor_info", "Version and Node information of the current node")
10+
work_info = Info("worker_info", "Plugin information and versions")

receptor/work.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@
55

66
from . import exceptions
77
from .messages import envelope
8-
from .stats import active_work_gauge, work_counter
8+
from .stats import active_work_gauge, work_counter, work_info
99

1010
logger = logging.getLogger(__name__)
1111

1212

1313
class WorkManager:
1414
def __init__(self, receptor):
1515
self.receptor = receptor
16+
work_info.info(dict(plugins=str(self.get_capabilities())))
1617
self.active_work = []
1718

1819
def load_receptor_worker(self, name):

0 commit comments

Comments
 (0)