Skip to content

Commit

Permalink
iocost_monitor: Always use strings for json values
Browse files Browse the repository at this point in the history
Json has limited accuracy for numbers and can silently truncate 64bit
values, which can be extremely confusing.  Let's consistently use
string encapsulated values for json output.

While at it, convert an unnecesary f-string to str().

Signed-off-by: Tejun Heo <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
  • Loading branch information
htejun authored and axboe committed Sep 10, 2019
1 parent e1518f6 commit e742bd5
Showing 1 changed file with 20 additions and 20 deletions.
40 changes: 20 additions & 20 deletions tools/cgroup/iocost_monitor.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,14 +111,14 @@ def __init__(self, ioc):

def dict(self, now):
return { 'device' : devname,
'timestamp' : now,
'enabled' : self.enabled,
'running' : self.running,
'period_ms' : self.period_ms,
'period_at' : self.period_at,
'period_vtime_at' : self.vperiod_at,
'busy_level' : self.busy_level,
'vrate_pct' : self.vrate_pct, }
'timestamp' : str(now),
'enabled' : str(int(self.enabled)),
'running' : str(int(self.running)),
'period_ms' : str(self.period_ms),
'period_at' : str(self.period_at),
'period_vtime_at' : str(self.vperiod_at),
'busy_level' : str(self.busy_level),
'vrate_pct' : str(self.vrate_pct), }

def table_preamble_str(self):
state = ('RUN' if self.running else 'IDLE') if self.enabled else 'OFF'
Expand Down Expand Up @@ -171,19 +171,19 @@ def __init__(self, iocg):

def dict(self, now, path):
out = { 'cgroup' : path,
'timestamp' : now,
'is_active' : self.is_active,
'weight' : self.weight,
'weight_active' : self.active,
'weight_inuse' : self.inuse,
'hweight_active_pct' : self.hwa_pct,
'hweight_inuse_pct' : self.hwi_pct,
'inflight_pct' : self.inflight_pct,
'use_delay' : self.use_delay,
'delay_ms' : self.delay_ms,
'usage_pct' : self.usage }
'timestamp' : str(now),
'is_active' : str(int(self.is_active)),
'weight' : str(self.weight),
'weight_active' : str(self.active),
'weight_inuse' : str(self.inuse),
'hweight_active_pct' : str(self.hwa_pct),
'hweight_inuse_pct' : str(self.hwi_pct),
'inflight_pct' : str(self.inflight_pct),
'use_delay' : str(self.use_delay),
'delay_ms' : str(self.delay_ms),
'usage_pct' : str(self.usage) }
for i in range(len(self.usages)):
out[f'usage_pct_{i}'] = f'{self.usages[i]}'
out[f'usage_pct_{i}'] = str(self.usages[i])
return out

def table_row_str(self, path):
Expand Down

0 comments on commit e742bd5

Please sign in to comment.