Add network load tmux segment
This commit is contained in:
parent
7eca187d02
commit
0ea7615167
|
@ -18,6 +18,7 @@
|
||||||
"user": { "fg": "white", "bg": "mediumblue", "attr": ["bold"] },
|
"user": { "fg": "white", "bg": "mediumblue", "attr": ["bold"] },
|
||||||
"date": { "fg": "white", "bg": "mediumblue" },
|
"date": { "fg": "white", "bg": "mediumblue" },
|
||||||
"weather": { "fg": "brightestblue", "bg": "darkblue" },
|
"weather": { "fg": "brightestblue", "bg": "darkblue" },
|
||||||
|
"network_load": { "fg": "brightestblue", "bg": "darkblue" },
|
||||||
"external_ip": { "fg": "brightestblue", "bg": "darkblue" },
|
"external_ip": { "fg": "brightestblue", "bg": "darkblue" },
|
||||||
"system_load": { "fg": "brightblue", "bg": "darkestblue" },
|
"system_load": { "fg": "brightblue", "bg": "darkestblue" },
|
||||||
"system_load_good": { "fg": "green", "bg": "darkestblue" },
|
"system_load_good": { "fg": "green", "bg": "darkestblue" },
|
||||||
|
|
|
@ -88,3 +88,26 @@ def weather(unit='c', location_query=None):
|
||||||
if condition_code in codes:
|
if condition_code in codes:
|
||||||
break
|
break
|
||||||
return u'{0} {1}°{2}'.format(icon, condition['temp'], unit.upper())
|
return u'{0} {1}°{2}'.format(icon, condition['temp'], unit.upper())
|
||||||
|
|
||||||
|
|
||||||
|
def network_load(interface='eth0', measure_interval=1, suffix='B/s', binary_prefix=False):
|
||||||
|
import time
|
||||||
|
from powerline.lib import humanize_bytes
|
||||||
|
|
||||||
|
def get_bytes():
|
||||||
|
try:
|
||||||
|
with open('/sys/class/net/{interface}/statistics/rx_bytes'.format(interface=interface), 'rb') as file_obj:
|
||||||
|
rx = int(file_obj.read())
|
||||||
|
with open('/sys/class/net/{interface}/statistics/tx_bytes'.format(interface=interface), 'rb') as file_obj:
|
||||||
|
tx = int(file_obj.read())
|
||||||
|
return (rx, tx)
|
||||||
|
except IOError:
|
||||||
|
return (0, 0)
|
||||||
|
|
||||||
|
b1 = get_bytes()
|
||||||
|
time.sleep(measure_interval)
|
||||||
|
b2 = get_bytes()
|
||||||
|
return u'⬇ {rx_diff} ⬆ {tx_diff}'.format(
|
||||||
|
rx_diff=humanize_bytes((b2[0] - b1[0]) / measure_interval, suffix, binary_prefix),
|
||||||
|
tx_diff=humanize_bytes((b2[1] - b1[1]) / measure_interval, suffix, binary_prefix),
|
||||||
|
)
|
||||||
|
|
|
@ -9,6 +9,9 @@
|
||||||
"name": "external_ip",
|
"name": "external_ip",
|
||||||
"before": "ⓦ "
|
"before": "ⓦ "
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "network_load"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "uptime",
|
"name": "uptime",
|
||||||
"before": "⇑ "
|
"before": "⇑ "
|
||||||
|
|
Loading…
Reference in New Issue