mmgen-node-tools/mmnode-netrate

39 lines
894 B
Text
Raw Normal View History

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import time
from mmgen.common import *
opts_data = lambda: {
'desc': 'Bitcoin daemon network rate monitor',
'usage': '[opts]',
'options': """
-h, --help Print this help message
--, --longhelp Print help message for long options (common options)
"""
}
cmd_args = opts.init(opts_data)
ERASE_LINE,CUR_UP = '\033[K','\033[1A'
c = rpc_connection()
def do_loop():
def get_data():
d = c.getnettotals()
return [float(e) for e in (d['totalbytesrecv'],d['totalbytessent'],d['timemillis'])]
r,s,t = get_data()
time.sleep(0.2)
while True:
rs,ss,ts = r,s,t
r,s,t = get_data()
td = t-ts
sys.stderr.write('\rrcvd: {:9.2f} kB/s\nsent: {:9.2f} kB/s '.format((r-rs)/td,(s-ss)/td))
time.sleep(2)
sys.stderr.write('{}{}{}'.format(ERASE_LINE,CUR_UP,ERASE_LINE))
try:
do_loop()
except KeyboardInterrupt:
sys.stderr.write('\n')