commit 24a2686530a4aef938a77493031be2e08160682c Author: Damian Johnson atagar@torproject.org Date: Mon Sep 1 14:43:15 2014 -0700
Replacing _halt_time with Controller's connection_time()
Replacing our attribute that tracked when tor disconnected with the Controller's new connection_time() method. --- arm/header_panel.py | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-)
diff --git a/arm/header_panel.py b/arm/header_panel.py index 13194e4..cd037a1 100644 --- a/arm/header_panel.py +++ b/arm/header_panel.py @@ -46,11 +46,6 @@ class HeaderPanel(panel.Panel, threading.Thread): self._halt = False # terminates thread if true self._cond = threading.Condition() # used for pausing the thread
- # Time when the panel was paused or tor was stopped. This is used to - # freeze the uptime statistic (uptime increments normally when None). - - self._halt_time = None - # flag to indicate if we've already given file descriptor warnings
self._is_fd_sixty_percent_warned = False @@ -198,10 +193,8 @@ class HeaderPanel(panel.Panel, threading.Thread): space_left -= x - 43 - initial_x
if space_left >= 7 + len(vals.version_status): - version_color = CONFIG['attr.version_status_colors'].get(vals.version_status, 'white') - x = self.addstr(y, x, ' (') - x = self.addstr(y, x, vals.version_status, version_color) + x = self.addstr(y, x, vals.version_status, vals.version_color) self.addstr(y, x, ')')
def _draw_ports_section(self, x, y, width, vals): @@ -223,13 +216,11 @@ class HeaderPanel(panel.Panel, threading.Thread): self.addstr(y, x, vals.format(', Control Socket: {socket_path}')) else: if width >= x + 19 + len(vals.control_port) + len(vals.auth_type): - auth_color = 'red' if vals.auth_type == 'open' else 'green' - x = self.addstr(y, x, ', Control Port (') - x = self.addstr(y, x, vals.auth_type, auth_color) + x = self.addstr(y, x, vals.auth_type, vals.auth_color) self.addstr(y, x, vals.format('): {control_port}')) else: - self.addstr(y, x, ', Control Port: %s' % vals.control_port) + self.addstr(y, x, vals.format(', Control Port: {control_port}'))
def _draw_disconnected(self, x, y, width, vals): """ @@ -239,7 +230,7 @@ class HeaderPanel(panel.Panel, threading.Thread): """
x = self.addstr(y, x, 'Tor Disconnected', curses.A_BOLD, 'red') - self.addstr(y, x, ' (%s, press r to reconnect)' % vals.last_heartbeat) + self.addstr(y, x, vals.format(' ({last_heartbeat}, press r to reconnect)'))
def _draw_resource_usage(self, x, y, width, vals): """ @@ -249,8 +240,8 @@ class HeaderPanel(panel.Panel, threading.Thread): """
if vals.start_time: - if not self.vals.is_connected: - now = self._halt_time + if not vals.is_connected: + now = vals.connection_time elif self.is_paused(): now = self.get_pause_time() else: @@ -428,7 +419,6 @@ class HeaderPanel(panel.Panel, threading.Thread):
if event_type in (State.INIT, State.RESET): initial_height = self.get_height() - self._halt_time = None
self.vals = Sampling(self.vals)
@@ -442,8 +432,6 @@ class HeaderPanel(panel.Panel, threading.Thread): # just need to redraw ourselves self.redraw(True) elif event_type == State.CLOSED: - self._halt_time = time.time() - self.vals = Sampling(self.vals)
self.redraw(True) @@ -464,6 +452,7 @@ class Sampling(object): tor_resources = arm.util.tracker.get_resource_tracker().get_value()
self.is_connected = controller.is_alive() + self.connection_time = controller.connection_time() self.last_heartbeat = time.strftime('%H:%M %m/%d/%Y', time.localtime(controller.get_latest_heartbeat())) self.retrieved = time.time() self.arm_total_cpu_time = sum(os.times()[:3]) @@ -484,10 +473,12 @@ class Sampling(object): else: self.auth_type = 'open'
+ self.auth_color = 'red' if self.auth_type == 'open' else 'green' self.exit_policy = controller.get_exit_policy(None) self.flags = self._get_flags(controller) self.version = str(controller.get_version('Unknown')).split()[0] self.version_status = controller.get_info('status/version/current', 'Unknown') + self.version_color = CONFIG['attr.version_status_colors'].get(self.version_status, 'white')
self.pid = controller.get_pid('') self.start_time = stem.util.system.get_start_time(controller.get_pid(None))
tor-commits@lists.torproject.org