From b6cf0730a395b4e388d5a968f14ef0a1b317b434 Mon Sep 17 00:00:00 2001 From: Scott Mayhew Date: Mon, 20 Oct 2014 14:55:07 -0400 Subject: mountstats: Fix up NFS event counters The event counters in the mountstats program aren't in sync with the event counters in the kernel. Removed syncinodes and added vfsupdatepage, vfssetattr, congestionwait, pnfsreads, and pnfswrites. Signed-off-by: Scott Mayhew Signed-off-by: Steve Dickson --- tools/mountstats/mountstats.py | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) (limited to 'tools') diff --git a/tools/mountstats/mountstats.py b/tools/mountstats/mountstats.py index 247a64a..5fc93f4 100644 --- a/tools/mountstats/mountstats.py +++ b/tools/mountstats/mountstats.py @@ -74,25 +74,29 @@ class DeviceData: self.__nfs_data['dentryrevalidates'] = int(words[2]) self.__nfs_data['datainvalidates'] = int(words[3]) self.__nfs_data['attrinvalidates'] = int(words[4]) - self.__nfs_data['syncinodes'] = int(words[5]) - self.__nfs_data['vfsopen'] = int(words[6]) - self.__nfs_data['vfslookup'] = int(words[7]) - self.__nfs_data['vfspermission'] = int(words[8]) + self.__nfs_data['vfsopen'] = int(words[5]) + self.__nfs_data['vfslookup'] = int(words[6]) + self.__nfs_data['vfspermission'] = int(words[7]) + self.__nfs_data['vfsupdatepage'] = int(words[8]) self.__nfs_data['vfsreadpage'] = int(words[9]) self.__nfs_data['vfsreadpages'] = int(words[10]) self.__nfs_data['vfswritepage'] = int(words[11]) self.__nfs_data['vfswritepages'] = int(words[12]) self.__nfs_data['vfsreaddir'] = int(words[13]) - self.__nfs_data['vfsflush'] = int(words[14]) - self.__nfs_data['vfsfsync'] = int(words[15]) - self.__nfs_data['vfslock'] = int(words[16]) - self.__nfs_data['vfsrelease'] = int(words[17]) - self.__nfs_data['setattrtrunc'] = int(words[18]) - self.__nfs_data['extendwrite'] = int(words[19]) - self.__nfs_data['sillyrenames'] = int(words[20]) - self.__nfs_data['shortreads'] = int(words[21]) - self.__nfs_data['shortwrites'] = int(words[22]) - self.__nfs_data['delay'] = int(words[23]) + self.__nfs_data['vfssetattr'] = int(words[14]) + self.__nfs_data['vfsflush'] = int(words[15]) + self.__nfs_data['vfsfsync'] = int(words[16]) + self.__nfs_data['vfslock'] = int(words[17]) + self.__nfs_data['vfsrelease'] = int(words[18]) + self.__nfs_data['congestionwait'] = int(words[19]) + self.__nfs_data['setattrtrunc'] = int(words[20]) + self.__nfs_data['extendwrite'] = int(words[21]) + self.__nfs_data['sillyrenames'] = int(words[22]) + self.__nfs_data['shortreads'] = int(words[23]) + self.__nfs_data['shortwrites'] = int(words[24]) + self.__nfs_data['delay'] = int(words[25]) + self.__nfs_data['pnfsreads'] = int(words[26]) + self.__nfs_data['pnfswrites'] = int(words[27]) elif words[0] == 'bytes:': self.__nfs_data['normalreadbytes'] = int(words[1]) self.__nfs_data['normalwritebytes'] = int(words[2]) @@ -202,7 +206,6 @@ class DeviceData: print('Cache events:') print(' data cache invalidated %d times' % self.__nfs_data['datainvalidates']) print(' attribute cache invalidated %d times' % self.__nfs_data['attrinvalidates']) - print(' inodes synced %d times' % self.__nfs_data['syncinodes']) print() print('VFS calls:') print(' VFS requested %d inode revalidations' % self.__nfs_data['inoderevalidates']) -- cgit