"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "plugins/dstat_disk_avgrq.py" between
dstat-0.7.3.tar.gz and dstat-0.7.4.tar.gz

About: dstat is a versatile resource statistic tool and a replacement for vmstat, iostat and ifstat (using Python).

dstat_disk_avgrq.py  (dstat-0.7.3):dstat_disk_avgrq.py  (dstat-0.7.4)
skipping to change at line 29 skipping to change at line 29
def discover(self, *objlist): def discover(self, *objlist):
ret = [] ret = []
for l in self.splitlines(): for l in self.splitlines():
if len(l) < 13: continue if len(l) < 13: continue
if l[3:] == ['0',] * 11: continue if l[3:] == ['0',] * 11: continue
name = l[2] name = l[2]
ret.append(name) ret.append(name)
for item in objlist: ret.append(item) for item in objlist: ret.append(item)
if not ret: if not ret:
raise Exception, "No suitable block devices found to monitor" raise Exception('No suitable block devices found to monitor')
return ret return ret
def vars(self): def vars(self):
ret = [] ret = []
if op.disklist: if op.disklist:
varlist = op.disklist varlist = op.disklist
else: else:
varlist = [] varlist = []
blockdevices = [os.path.basename(filename) for filename in glob.glob ('/sys/block/*')] blockdevices = [os.path.basename(filename) for filename in glob.glob ('/sys/block/*')]
for name in self.discover: for name in self.discover:
skipping to change at line 60 skipping to change at line 60
return self.vars return self.vars
def extract(self): def extract(self):
for l in self.splitlines(): for l in self.splitlines():
if len(l) < 13: continue if len(l) < 13: continue
if l[3:] == ['0',] * 11: continue if l[3:] == ['0',] * 11: continue
if l[3] == '0' and l[7] == '0': continue if l[3] == '0' and l[7] == '0': continue
name = l[2] name = l[2]
if name not in self.vars or name == 'total': continue if name not in self.vars or name == 'total': continue
self.set2[name] = dict( self.set2[name] = dict(
nr_ios = long(l[3])+long(l[7]), nr_ios = int(l[3])+int(l[7]),
rd_sect = long(l[9]), rd_sect = int(l[9]),
wr_sect = long(l[11]), wr_sect = int(l[11]),
) )
for name in self.vars: for name in self.vars:
tput = ( self.set2[name]['nr_ios'] - self.set1[name]['nr_ios'] ) tput = ( self.set2[name]['nr_ios'] - self.set1[name]['nr_ios'] )
if tput: if tput:
ticks = self.set2[name]['rd_sect'] - self.set1[name]['rd_sect'] + \ ticks = self.set2[name]['rd_sect'] - self.set1[name]['rd_sect'] + \
self.set2[name]['wr_sect'] - self.set1[name]['wr_sect'] self.set2[name]['wr_sect'] - self.set1[name]['wr_sect']
self.val[name] = ( ticks * 1.0 / tput, ) self.val[name] = ( ticks * 1.0 / tput, )
else: else:
self.val[name] = ( 0.0, ) self.val[name] = ( 0.0, )
 End of changes. 2 change blocks. 
4 lines changed or deleted 4 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)