[arm/master] Revising ConnectionStats class

commit 7b3830cee45711a69a8473ca4f4b7d35852c7f68 Author: Damian Johnson <atagar@torproject.org> Date: Tue Oct 21 08:24:00 2014 -0700 Revising ConnectionStats class Nothing much. Minor rename of the class, tweaks to the code. Only functional difference is that we now won't cause a stacktrace if our GETINFO calls fail. --- arm/graph_panel.py | 40 ++++++++++++++++------------------------ 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/arm/graph_panel.py b/arm/graph_panel.py index 1608cc6..e65e623 100644 --- a/arm/graph_panel.py +++ b/arm/graph_panel.py @@ -340,33 +340,33 @@ class BandwidthStats(GraphCategory): self.title_stats = stats -class ConnStats(GraphCategory): +class ConnectionStats(GraphCategory): """ - Tracks number of connections, counting client and directory connections as - outbound. Control connections are excluded from counts. + Tracks number of inbound and outbound connections. """ TITLE = 'Connection Count' - def bandwidth_event(self, event): - """ - Fetches connection stats from cached information. - """ + def primary_header(self, width): + avg = self.primary.total / max(1, self.primary.tick) + return 'Inbound (%s, avg: %s):' % (self.primary.latest_value, avg) + def secondary_header(self, width): + avg = self.secondary.total / max(1, self.secondary.tick) + return 'Outbound (%s, avg: %s):' % (self.secondary.latest_value, avg) + + def bandwidth_event(self, event): inbound_count, outbound_count = 0, 0 controller = tor_controller() - - or_ports = controller.get_ports(Listener.OR) - dir_ports = controller.get_ports(Listener.DIR) - control_ports = controller.get_ports(Listener.CONTROL) + or_ports = controller.get_ports(Listener.OR, []) + dir_ports = controller.get_ports(Listener.DIR, []) + control_ports = controller.get_ports(Listener.CONTROL, []) for entry in arm.util.tracker.get_connection_tracker().get_value(): - local_port = entry.local_port - - if local_port in or_ports or local_port in dir_ports: + if entry.local_port in or_ports or entry.local_port in dir_ports: inbound_count += 1 - elif local_port in control_ports: + elif entry.local_port in control_ports: pass # control connection else: outbound_count += 1 @@ -374,14 +374,6 @@ class ConnStats(GraphCategory): self.primary.update(inbound_count) self.secondary.update(outbound_count) - def primary_header(self, width): - avg = self.primary.total / max(1, self.primary.tick) - return 'Inbound (%s, avg: %s):' % (self.primary.latest_value, avg) - - def secondary_header(self, width): - avg = self.secondary.total / max(1, self.secondary.tick) - return 'Outbound (%s, avg: %s):' % (self.secondary.latest_value, avg) - class ResourceStats(GraphCategory): """ @@ -448,7 +440,7 @@ class GraphPanel(panel.Panel): } if CONFIG['features.panels.show.connection']: - self.stats[GraphStat.CONNECTIONS] = ConnStats() + self.stats[GraphStat.CONNECTIONS] = ConnectionStats() self.set_pause_attr('stats') self.set_pause_attr('_accounting_stats')
participants (1)
-
atagar@torproject.org