summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2014-04-30 11:51:35 -0400
committerSteve Dickson <steved@redhat.com>2014-04-30 11:51:35 -0400
commite46ed1ee82c5e6070089bad0d859a45ca56cb35f (patch)
tree83dbde1f8870e9d92e39aa85979b61663429ee32
parentf97a541578f265db558191c6be8e71ff84beea0d (diff)
downloadnfs-utils-e46ed1ee82c5e6070089bad0d859a45ca56cb35f.tar.gz
nfs-utils-e46ed1ee82c5e6070089bad0d859a45ca56cb35f.tar.xz
nfs-utils-e46ed1ee82c5e6070089bad0d859a45ca56cb35f.zip
nfs-iostat: Fix attribute cache statistics
"nfs-iostat.py --attr" was displaying nonsense (like negative counts and percentages). Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
-rw-r--r--tools/nfs-iostat/nfs-iostat.py28
1 files changed, 8 insertions, 20 deletions
diff --git a/tools/nfs-iostat/nfs-iostat.py b/tools/nfs-iostat/nfs-iostat.py
index 6831c12..b324cd8 100644
--- a/tools/nfs-iostat/nfs-iostat.py
+++ b/tools/nfs-iostat/nfs-iostat.py
@@ -243,27 +243,15 @@ class DeviceData:
"""Print attribute cache efficiency stats
"""
nfs_stats = self.__nfs_data
- getattr_stats = self.__rpc_data['GETATTR']
-
- if nfs_stats['inoderevalidates'] != 0:
- getattr_ops = float(getattr_stats[1])
- opens = float(nfs_stats['vfsopen'])
- revalidates = float(nfs_stats['inoderevalidates']) - opens
- if revalidates != 0:
- ratio = ((revalidates - getattr_ops) * 100) / revalidates
- else:
- ratio = 0.0
-
- data_invalidates = float(nfs_stats['datainvalidates'])
- attr_invalidates = float(nfs_stats['attrinvalidates'])
- print()
- print('%d inode revalidations, hitting in cache %4.2f%% of the time' % \
- (revalidates, ratio))
- print('%d open operations (mandatory GETATTR requests)' % opens)
- if getattr_ops != 0:
- print('%4.2f%% of GETATTRs resulted in data cache invalidations' % \
- ((data_invalidates * 100) / getattr_ops))
+ print()
+ print('%d VFS opens' % (nfs_stats['vfsopen']))
+ print('%d inoderevalidates (forced GETATTRs)' % \
+ (nfs_stats['inoderevalidates']))
+ print('%d page cache invalidations' % \
+ (nfs_stats['datainvalidates']))
+ print('%d attribute cache invalidations' % \
+ (nfs_stats['attrinvalidates']))
def __print_dir_cache_stats(self, sample_time):
"""Print directory stats