[monitor] Add uptime

master
Daniel Edgecumbe 7 years ago
parent 11ce261f03
commit fe888bd27b

@ -161,6 +161,9 @@ def create_tasks(client, window):
monitorview.on_estimatesmartfee, 15.0, params=[5]),
poll_client(client, "estimatesmartfee",
monitorview.on_estimatesmartfee, 15.0, params=[10]),
# This is a bit lazy because we could just do it once and calculate it.
poll_client(client, "uptime",
monitorview.on_uptime, 5.0, params=[10]),
tick(on_tick, 1.0),
handle_hotkeys(window, footerview.on_mode_change, on_window_resize)
]

@ -27,6 +27,7 @@ class MonitorView(object):
self._mempoolinfo = None # raw mempoolinfo
self._estimatesmartfee = {} # blocks -> feerate/kB
self._dt = None
self._uptime = None # raw uptime from bitcoind (seconds)
self._window_size = MIN_WINDOW_SIZE
@ -128,6 +129,9 @@ class MonitorView(object):
)
self._pad.addstr(11, 1, "estimatesmartfee: {}".format(estimates))
if self._uptime:
self._pad.addstr(13, 1, "uptime: {}".format(datetime.timedelta(seconds=self._uptime)))
self._draw_pad_to_screen()
def _draw_pad_to_screen(self):
@ -193,6 +197,15 @@ class MonitorView(object):
if self._visible:
await self.draw()
async def on_uptime(self, key, obj):
try:
self._uptime = obj["result"]
except KeyError:
return
if self._visible:
await self.draw()
async def on_mode_change(self, newmode):
if newmode != "monitor":
self._visible = False

Loading…
Cancel
Save