X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=tools%2Fmountstats%2Fmountstats.py;h=280e15ca3b102e8e25804de8a2de208fdfa4d593;hb=7b00283f5a6f8b1d3d1acece1da6df1c30cb6279;hp=5f20db63f0f966f3f55f137e1e26a713c09905f9;hpb=c761709ad3abb9c36a68c269f78118bf49d79639;p=nfs-utils.git diff --git a/tools/mountstats/mountstats.py b/tools/mountstats/mountstats.py index 5f20db6..280e15c 100644 --- a/tools/mountstats/mountstats.py +++ b/tools/mountstats/mountstats.py @@ -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 @@ -116,6 +117,26 @@ class DeviceData: self.__rpc_data['badxids'] = int(words[9]) self.__rpc_data['inflightsends'] = long(words[10]) self.__rpc_data['backlogutil'] = int(words[11]) + elif words[1] == 'rdma': + self.__rpc_data['port'] = words[2] + self.__rpc_data['bind_count'] = int(words[3]) + self.__rpc_data['connect_count'] = int(words[4]) + self.__rpc_data['connect_time'] = int(words[5]) + self.__rpc_data['idle_time'] = int(words[6]) + self.__rpc_data['rpcsends'] = int(words[7]) + self.__rpc_data['rpcreceives'] = int(words[8]) + self.__rpc_data['badxids'] = int(words[9]) + self.__rpc_data['backlogutil'] = int(words[10]) + self.__rpc_data['read_chunks'] = int(words[11]) + self.__rpc_data['write_chunks'] = int(words[12]) + self.__rpc_data['reply_chunks'] = int(words[13]) + self.__rpc_data['total_rdma_req'] = int(words[14]) + self.__rpc_data['total_rdma_rep'] = int(words[15]) + self.__rpc_data['pullup'] = int(words[16]) + self.__rpc_data['fixup'] = int(words[17]) + self.__rpc_data['hardway'] = int(words[18]) + self.__rpc_data['failed_marshal'] = int(words[19]) + self.__rpc_data['bad_reply'] = int(words[20]) elif words[0] == 'per-op': self.__rpc_data['per-op'] = words else: @@ -297,7 +318,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]) @@ -305,7 +326,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: @@ -315,7 +336,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]) @@ -323,7 +344,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: