mmnode-blocks-info: add totals stats
This commit is contained in:
parent
52fb93ba73
commit
db87c8e62e
1 changed files with 21 additions and 1 deletions
|
|
@ -95,7 +95,7 @@ class BlocksInfo:
|
|||
)
|
||||
fs_lsqueeze2 = ('interval',)
|
||||
|
||||
all_stats = ['avg','range','diff']
|
||||
all_stats = ['avg','totals','range','diff']
|
||||
dfl_stats = ['range','diff']
|
||||
noindent_stats = ['avg']
|
||||
|
||||
|
|
@ -522,6 +522,26 @@ class BlocksInfo:
|
|||
fs = ''.join(self.gen_fs(self.fnames,fill=skip,add_name=True)).strip()
|
||||
return ('averages', ('Averages:', (fs, dict(gen())) ))
|
||||
|
||||
async def create_totals_stats(self):
|
||||
coin = self.rpc.proto.coin
|
||||
fields = {
|
||||
'interval': ('Solve Time: {} h/m/s', secs_to_dhms),
|
||||
'subsidy': ('Subsidy: {} %s' % coin, self.fmt_funcs['su']),
|
||||
'totalfee': ('Fees: {} %s' % coin, self.fmt_funcs['tf']),
|
||||
'earnings': ('Subsidy+Fees: {} %s' % coin, self.fmt_funcs['tf']),
|
||||
'nTx': ('nTx: {}', int),
|
||||
'inputs': ('Inputs: {}', int),
|
||||
'outputs': ('Outputs: {}', int),
|
||||
'utxo_inc': ('UTXO change: {:<+}', int),
|
||||
}
|
||||
fnames = list( set(fields) & set(self.fnames) )
|
||||
vals = dict( ( name, sum(getattr(blk,name) for blk in self.res) ) for name in fnames )
|
||||
if 'subsidy' in vals and 'totalfee' in vals:
|
||||
vals['earnings'] = vals['subsidy'] + vals['totalfee']
|
||||
fnames.append('earnings')
|
||||
res = [( v[0], k, v[1], vals[k] ) for k,v in fields.items() if k in fnames]
|
||||
return ( 'totals', ['Totals:'] + res )
|
||||
|
||||
def process_stats_pre(self,i):
|
||||
if self.fnames or i != 0:
|
||||
Msg('')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue