]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - tools/mountstats/mountstats.py
mountstats: Breaks on 3.1 kernels
[nfs-utils.git] / tools / mountstats / mountstats.py
index f55595e223ebb4b66c371999ae51ae6caf64ffe0..b95b71d27ef3f43ff9d47bac3753e6b82ad08e90 100644 (file)
@@ -17,7 +17,8 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+MA 02110-1301 USA
 """
 
 import sys, os, time
@@ -45,6 +46,12 @@ class DeviceData:
             self.__nfs_data['fstype'] = words[7]
             if words[7].find('nfs') != -1:
                 self.__nfs_data['statvers'] = words[8]
+        elif 'nfs' in words or 'nfs4' in words:
+            self.__nfs_data['export'] = words[0]
+            self.__nfs_data['mountpoint'] = words[3]
+            self.__nfs_data['fstype'] = words[6]
+            if words[6].find('nfs') != -1:
+                self.__nfs_data['statvers'] = words[7]
         elif words[0] == 'age:':
             self.__nfs_data['age'] = long(words[1])
         elif words[0] == 'opts:':
@@ -317,7 +324,7 @@ class DeviceData:
         else:
             print '\t0.00'
 
-        # reads:  ops/s, Kb/s, avg rtt, and avg exe
+        # reads:  ops/s, kB/s, avg rtt, and avg exe
         # XXX: include avg xfer size and retransmits?
         read_rpc_stats = self.__rpc_data['READ']
         ops = float(read_rpc_stats[0])
@@ -325,7 +332,7 @@ class DeviceData:
         rtt = float(read_rpc_stats[6])
         exe = float(read_rpc_stats[7])
 
-        print '\treads:\tops/s\t\tKb/s\t\tavg RTT (ms)\tavg exe (ms)'
+        print '\treads:\tops/s\t\tkB/s\t\tavg RTT (ms)\tavg exe (ms)'
         print '\t\t%.2f' % (ops / sample_time),
         print '\t\t%.2f' % (kilobytes / sample_time),
         if ops != 0:
@@ -335,7 +342,7 @@ class DeviceData:
             print '\t\t0.00',
             print '\t\t0.00'
 
-        # writes:  ops/s, Kb/s, avg rtt, and avg exe
+        # writes:  ops/s, kB/s, avg rtt, and avg exe
         # XXX: include avg xfer size and retransmits?
         write_rpc_stats = self.__rpc_data['WRITE']
         ops = float(write_rpc_stats[0])
@@ -343,7 +350,7 @@ class DeviceData:
         rtt = float(write_rpc_stats[6])
         exe = float(write_rpc_stats[7])
 
-        print '\twrites:\tops/s\t\tKb/s\t\tavg RTT (ms)\tavg exe (ms)'
+        print '\twrites:\tops/s\t\tkB/s\t\tavg RTT (ms)\tavg exe (ms)'
         print '\t\t%.2f' % (ops / sample_time),
         print '\t\t%.2f' % (kilobytes / sample_time),
         if ops != 0:
@@ -370,6 +377,9 @@ def parse_stats_file(filename):
         if words[0] == 'device':
             key = words[4]
             new = [ line.strip() ]
+        elif 'nfs' in words or 'nfs4' in words:
+            key = words[3]
+            new = [ line.strip() ]
         else:
             new += [ line.strip() ]
         ms_dict[key] = new