All of lore.kernel.org
 help / color / mirror / Atom feed
From: Scott Mayhew <smayhew@redhat.com>
To: linux-nfs@vger.kernel.org
Subject: [nfs-utils PATCH v4 00/14] A few enhancements to mountstats.py
Date: Fri, 12 Dec 2014 14:14:43 -0500	[thread overview]
Message-ID: <1418411697-65535-1-git-send-email-smayhew@redhat.com> (raw)

These are also available in the 'mountstats-improvements-v4' branch at
https://github.com/scottmayhew/nfs-utils.git

v4 changes:

- SteveD was not a fan of the ms-iostat and ms-nfsstat command names. 
  Rather than think up new names, I decided to make these all sub-commands.
  If no sub-command is given by the user then the 'mountstats' sub-command
  will run by default (so any existing scripts that run older versions of
  the mountstats command should still work).

- Rather than have 3 tiny man pages, I documented the main command and the
  three sub-commands on a single man page.

v3 changes:

- Rebased on top of the lastest mountstats version

- Added exception processing to fail more gracefully when the argparse
  module is not installed

- Corrected some issues with the man pages (filenames not italicized,
  unmatched braces in the synopses)

v2 changes:

- Changed the parsing to use the argparse module instead of optparse

- Added per-mountpoint headers to the output of 'mountstats --rpc'

- Revamped the ms-nfsstat command to take a variable list of mountpoints
  (so now mountstats, ms-iostat, and ms-nfsstat all behave in the same
  manner).  Added -3 and -4 options which behave the same way they do in
  nfsstat.c.  The output doesn't still doesn't match up 100% with that
  of nfsstat.c though (I'm just taking the first 12 characters of the
  operation name and converting them to lowercase to use as labels, while
  nfsstat.c defines its own labels, but also it looks to me like nfsstat.c
  is missing some operations altoegether).

- Updated the man page for mountstats and added man pages for ms-iostat
  and ms-nfsstat.

Original cover letter:

-------------------8<------------------

The following patches add a couple of enhancements to mountstats.py.  I
also fixed a few bugs I encountered along the way.  Highlights include:

- added support for -f/--file to allow stats to be parsed from an
  aritrary input file instead of /proc/self/mountstats

- added support for -S/--since to show just the changes that have
  occurred between the current and a previous set of statisics (works
  with and without the -f option)

- added support for -R/--raw to generate 'raw' statistics (i.e. in the
  same format as /proc/self/mountstats).  It's intended to be used with
  the -f and -S options.

- implemented the ms-nfsstat command to generate client-side
  nfsstat-like statisics (only works with a single mountpoint)

My motivation for these changes was so that I could take various copies
of /proc/self/mountstats and massage them into data that I could feed
into the 'report' option of Dros's nfsometer tool for scenarios where
it's not feasible to run nfsometer itself (e.g. systems where we can't
start with an 'idle' state (i.e. no NFS filesystems initially
mounted), systems with multiple NFS filesystems mounted, and workloads
that can't easily be boiled down into an nfsometer workload file or run
via the custom workload environment variables).

Scott Mayhew (14):
  mountstats: Fix up NFS event counters
  mountstats: Add lists of various counters
  mountstats: Refactor __parse_nfs_line and __parse_rpc_line
  mountstats: Refactor compare_iostats
  mountstats: Convert existing option parsing to use the argparse module
  mountstats: Make the iostat sub-command output match that of
    nfs-iostat.py
  mountstats: Make print_iostat_summary handle newly appearing mounts
  mountstats: Add support for -f/--file
  mountstats: Add support for -S/--since
  mountstats: Fix IndexError in __parse_nfs_line
  mountstats: Allow mountstats_command to take a variable number of
    mountpoints
  mountstats: Add support for -R/--raw to mountstats_command
  mountstats: Implement the nfsstat sub-command
  mountstats: Updated the mountstats(8) man page.

 tools/mountstats/mountstats.man | 142 +++++-
 tools/mountstats/mountstats.py  | 927 ++++++++++++++++++++++++++++------------
 2 files changed, 775 insertions(+), 294 deletions(-)

-- 
1.9.3


             reply	other threads:[~2014-12-12 19:14 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-12 19:14 Scott Mayhew [this message]
2014-12-12 19:14 ` [nfs-utils PATCH v4 01/14] mountstats: Fix up NFS event counters Scott Mayhew
2014-12-12 19:14 ` [nfs-utils PATCH v4 02/14] mountstats: Add lists of various counters Scott Mayhew
2014-12-12 19:14 ` [nfs-utils PATCH v4 03/14] mountstats: Refactor __parse_nfs_line and __parse_rpc_line Scott Mayhew
2014-12-12 19:14 ` [nfs-utils PATCH v4 04/14] mountstats: Refactor compare_iostats Scott Mayhew
2014-12-12 19:14 ` [nfs-utils PATCH v4 05/14] mountstats: Convert existing option parsing to use the argparse module Scott Mayhew
2014-12-12 19:14 ` [nfs-utils PATCH v4 06/14] mountstats: Make the iostat sub-command output match that of nfs-iostat.py Scott Mayhew
2014-12-12 19:14 ` [nfs-utils PATCH v4 07/14] mountstats: Make print_iostat_summary handle newly appearing mounts Scott Mayhew
2014-12-12 19:14 ` [nfs-utils PATCH v4 08/14] mountstats: Add support for -f/--file Scott Mayhew
2014-12-12 19:14 ` [nfs-utils PATCH v4 09/14] mountstats: Add support for -S/--since Scott Mayhew
2014-12-12 19:14 ` [nfs-utils PATCH v4 10/14] mountstats: Fix IndexError in __parse_nfs_line Scott Mayhew
2014-12-12 19:14 ` [nfs-utils PATCH v4 11/14] mountstats: Allow mountstats_command to take a variable number of mountpoints Scott Mayhew
2014-12-12 19:14 ` [nfs-utils PATCH v4 12/14] mountstats: Add support for -R/--raw to mountstats_command Scott Mayhew
2014-12-12 19:14 ` [nfs-utils PATCH v4 13/14] mountstats: Implement the nfsstat sub-command Scott Mayhew
2014-12-12 19:14 ` [nfs-utils PATCH v4 14/14] mountstats: Updated the mountstats(8) man page Scott Mayhew
2014-12-13 15:42 ` [nfs-utils PATCH v4 00/14] A few enhancements to mountstats.py Steve Dickson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1418411697-65535-1-git-send-email-smayhew@redhat.com \
    --to=smayhew@redhat.com \
    --cc=linux-nfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.