mirror of
https://github.com/ntop/n2n.git
synced 2024-09-19 16:41:11 +02:00
Add a last_seen column to n2n-ctl with human readable values
This commit is contained in:
parent
4f54649eeb
commit
e9659e3b9a
|
@ -7,6 +7,7 @@ import argparse
|
||||||
import socket
|
import socket
|
||||||
import json
|
import json
|
||||||
import collections
|
import collections
|
||||||
|
import time
|
||||||
|
|
||||||
|
|
||||||
class JsonUDP():
|
class JsonUDP():
|
||||||
|
@ -171,6 +172,24 @@ def str_table(rows, columns, orderby):
|
||||||
return ''.join(result)
|
return ''.join(result)
|
||||||
|
|
||||||
|
|
||||||
|
def num2timestr(seconds):
|
||||||
|
"""Convert a number of seconds into a human time"""
|
||||||
|
days, seconds = divmod(seconds, (60*60*24))
|
||||||
|
hours, seconds = divmod(seconds, (60*60))
|
||||||
|
minutes, seconds = divmod(seconds, 60)
|
||||||
|
|
||||||
|
r = []
|
||||||
|
if days:
|
||||||
|
r += [f"{days}d"]
|
||||||
|
if hours:
|
||||||
|
r += [f"{hours}h"]
|
||||||
|
if minutes:
|
||||||
|
r += [f"{minutes}m"]
|
||||||
|
if seconds:
|
||||||
|
r += [f"{seconds}s"]
|
||||||
|
return "".join(r)
|
||||||
|
|
||||||
|
|
||||||
def subcmd_show_supernodes(rpc, args):
|
def subcmd_show_supernodes(rpc, args):
|
||||||
rows = rpc.read('supernodes')
|
rows = rpc.read('supernodes')
|
||||||
columns = [
|
columns = [
|
||||||
|
@ -179,8 +198,13 @@ def subcmd_show_supernodes(rpc, args):
|
||||||
'macaddr',
|
'macaddr',
|
||||||
'sockaddr',
|
'sockaddr',
|
||||||
'uptime',
|
'uptime',
|
||||||
|
'last_seen',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
now = int(time.time())
|
||||||
|
for row in rows:
|
||||||
|
row["last_seen"] = num2timestr(now - row["last_seen"])
|
||||||
|
|
||||||
return str_table(rows, columns, args.orderby)
|
return str_table(rows, columns, args.orderby)
|
||||||
|
|
||||||
|
|
||||||
|
@ -192,8 +216,13 @@ def subcmd_show_edges(rpc, args):
|
||||||
'macaddr',
|
'macaddr',
|
||||||
'sockaddr',
|
'sockaddr',
|
||||||
'desc',
|
'desc',
|
||||||
|
'last_seen',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
now = int(time.time())
|
||||||
|
for row in rows:
|
||||||
|
row["last_seen"] = num2timestr(now - row["last_seen"])
|
||||||
|
|
||||||
return str_table(rows, columns, args.orderby)
|
return str_table(rows, columns, args.orderby)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user