diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2014-04-30 11:51:35 -0400 |
---|---|---|
committer | Steve Dickson <steved@redhat.com> | 2014-04-30 11:51:35 -0400 |
commit | e46ed1ee82c5e6070089bad0d859a45ca56cb35f (patch) | |
tree | 83dbde1f8870e9d92e39aa85979b61663429ee32 | |
parent | f97a541578f265db558191c6be8e71ff84beea0d (diff) | |
download | nfs-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.py | 28 |
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 |