* [PATCH 2/4] nfs-utils: nfs-iostat.py autofs cleanup and option to sort by ops/s
@ 2009-08-26 4:59 Lans Carstensen
2009-08-26 14:28 ` Chuck Lever
0 siblings, 1 reply; 10+ messages in thread
From: Lans Carstensen @ 2009-08-26 4:59 UTC (permalink / raw)
To: NFS list
commit d3bb692a8c26c2d4e0dc70d7d0359daf79090e1e
Author: Lans Carstensen <Lans.Carstensen@dreamworks.com>
Date: Tue Aug 25 21:52:03 2009 -0700
Bump nfs-iostat.py version up to 0.3 to reflect new features.
diff --git a/tools/nfs-iostat/nfs-iostat.py b/tools/nfs-iostat/nfs-iostat.py
index ea02db4..6ce31fc 100644
--- a/tools/nfs-iostat/nfs-iostat.py
+++ b/tools/nfs-iostat/nfs-iostat.py
@@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307 USA
import sys, os, time
-Iostats_version = '0.2'
+Iostats_version = '0.3'
def difference(x, y):
"""Used for a map() function
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH 2/4] nfs-utils: nfs-iostat.py autofs cleanup and option to sort by ops/s
2009-08-26 4:59 [PATCH 2/4] nfs-utils: nfs-iostat.py autofs cleanup and option to sort by ops/s Lans Carstensen
@ 2009-08-26 14:28 ` Chuck Lever
2009-08-26 15:13 ` Steve Dickson
0 siblings, 1 reply; 10+ messages in thread
From: Chuck Lever @ 2009-08-26 14:28 UTC (permalink / raw)
To: Lans Carstensen; +Cc: NFS list
On Aug 26, 2009, at 12:59 AM, Lans Carstensen wrote:
> commit d3bb692a8c26c2d4e0dc70d7d0359daf79090e1e
> Author: Lans Carstensen <Lans.Carstensen@dreamworks.com>
> Date: Tue Aug 25 21:52:03 2009 -0700
>
> Bump nfs-iostat.py version up to 0.3 to reflect new features.
Now that nfs-iostat.py has been integrated into nfs-utils, I'm not
sure we want to maintain an individual version number for it. Maybe
it should use the nfs-utils package's versioning instead... Steve,
your thoughts?
> diff --git a/tools/nfs-iostat/nfs-iostat.py b/tools/nfs-iostat/nfs-
> iostat.py
> index ea02db4..6ce31fc 100644
> --- a/tools/nfs-iostat/nfs-iostat.py
> +++ b/tools/nfs-iostat/nfs-iostat.py
> @@ -22,7 +22,7 @@ Foundation, Inc., 59 Temple Place, Suite 330,
> Boston, MA 02111-1307 USA
>
> import sys, os, time
>
> -Iostats_version = '0.2'
> +Iostats_version = '0.3'
>
> def difference(x, y):
> """Used for a map() function
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs"
> in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/4] nfs-utils: nfs-iostat.py autofs cleanup and option to sort by ops/s
2009-08-26 14:28 ` Chuck Lever
@ 2009-08-26 15:13 ` Steve Dickson
2009-08-26 15:35 ` Chuck Lever
0 siblings, 1 reply; 10+ messages in thread
From: Steve Dickson @ 2009-08-26 15:13 UTC (permalink / raw)
To: Chuck Lever; +Cc: Lans Carstensen, NFS list
On 08/26/2009 10:28 AM, Chuck Lever wrote:
>
> On Aug 26, 2009, at 12:59 AM, Lans Carstensen wrote:
>
>> commit d3bb692a8c26c2d4e0dc70d7d0359daf79090e1e
>> Author: Lans Carstensen <Lans.Carstensen@dreamworks.com>
>> Date: Tue Aug 25 21:52:03 2009 -0700
>>
>> Bump nfs-iostat.py version up to 0.3 to reflect new features.
>
> Now that nfs-iostat.py has been integrated into nfs-utils, I'm not sure
> we want to maintain an individual version number for it. Maybe it
> should use the nfs-utils package's versioning instead... Steve, your
> thoughts?
Hmm... I don't think we tie any of other commands versions to
the package version.... Although it might be a good idea to do so,
but for this instance, since these commands are still incognito (there
are not man pages, which is on my plate), I think just bumping the
version is fine..
steved.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/4] nfs-utils: nfs-iostat.py autofs cleanup and option to sort by ops/s
2009-08-26 15:13 ` Steve Dickson
@ 2009-08-26 15:35 ` Chuck Lever
2009-08-26 18:03 ` Steve Dickson
0 siblings, 1 reply; 10+ messages in thread
From: Chuck Lever @ 2009-08-26 15:35 UTC (permalink / raw)
To: Steve Dickson; +Cc: Lans Carstensen, NFS list
On Aug 26, 2009, at 11:13 AM, Steve Dickson wrote:
> On 08/26/2009 10:28 AM, Chuck Lever wrote:
>>
>> On Aug 26, 2009, at 12:59 AM, Lans Carstensen wrote:
>>
>>> commit d3bb692a8c26c2d4e0dc70d7d0359daf79090e1e
>>> Author: Lans Carstensen <Lans.Carstensen@dreamworks.com>
>>> Date: Tue Aug 25 21:52:03 2009 -0700
>>>
>>> Bump nfs-iostat.py version up to 0.3 to reflect new features.
>>
>> Now that nfs-iostat.py has been integrated into nfs-utils, I'm not
>> sure
>> we want to maintain an individual version number for it. Maybe it
>> should use the nfs-utils package's versioning instead... Steve, your
>> thoughts?
> Hmm... I don't think we tie any of other commands versions to
> the package version....
Actually many of the C commands do grab a macro defined during
autoconfiguration: PACKAGE_VERSION.
> Although it might be a good idea to do so,
> but for this instance, since these commands are still incognito (there
> are not man pages, which is on my plate), I think just bumping the
> version is fine..
>
> steved.
--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/4] nfs-utils: nfs-iostat.py autofs cleanup and option to sort by ops/s
2009-08-26 15:35 ` Chuck Lever
@ 2009-08-26 18:03 ` Steve Dickson
2009-08-26 20:28 ` Chuck Lever
0 siblings, 1 reply; 10+ messages in thread
From: Steve Dickson @ 2009-08-26 18:03 UTC (permalink / raw)
To: Chuck Lever; +Cc: Lans Carstensen, NFS list
On 08/26/2009 11:35 AM, Chuck Lever wrote:
> On Aug 26, 2009, at 11:13 AM, Steve Dickson wrote:
>> On 08/26/2009 10:28 AM, Chuck Lever wrote:
>>>
>>> On Aug 26, 2009, at 12:59 AM, Lans Carstensen wrote:
>>>
>>>> commit d3bb692a8c26c2d4e0dc70d7d0359daf79090e1e
>>>> Author: Lans Carstensen <Lans.Carstensen@dreamworks.com>
>>>> Date: Tue Aug 25 21:52:03 2009 -0700
>>>>
>>>> Bump nfs-iostat.py version up to 0.3 to reflect new features.
>>>
>>> Now that nfs-iostat.py has been integrated into nfs-utils, I'm not sure
>>> we want to maintain an individual version number for it. Maybe it
>>> should use the nfs-utils package's versioning instead... Steve, your
>>> thoughts?
>> Hmm... I don't think we tie any of other commands versions to
>> the package version....
>
> Actually many of the C commands do grab a macro defined during
> autoconfiguration: PACKAGE_VERSION.
>
Interesting.. I do see PACKAGE_VERSION being defined in support/include/config.h
I guess I didn't know that was there and it does not seem to be used
by anybody... which is probably a problem but I don't think its a problem
with this script...
steved.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/4] nfs-utils: nfs-iostat.py autofs cleanup and option to sort by ops/s
2009-08-26 18:03 ` Steve Dickson
@ 2009-08-26 20:28 ` Chuck Lever
2009-08-26 23:56 ` Lans Carstensen
0 siblings, 1 reply; 10+ messages in thread
From: Chuck Lever @ 2009-08-26 20:28 UTC (permalink / raw)
To: Steve Dickson; +Cc: Lans Carstensen, NFS list
On Aug 26, 2009, at 2:03 PM, Steve Dickson wrote:
> On 08/26/2009 11:35 AM, Chuck Lever wrote:
>> On Aug 26, 2009, at 11:13 AM, Steve Dickson wrote:
>>> On 08/26/2009 10:28 AM, Chuck Lever wrote:
>>>>
>>>> On Aug 26, 2009, at 12:59 AM, Lans Carstensen wrote:
>>>>
>>>>> commit d3bb692a8c26c2d4e0dc70d7d0359daf79090e1e
>>>>> Author: Lans Carstensen <Lans.Carstensen@dreamworks.com>
>>>>> Date: Tue Aug 25 21:52:03 2009 -0700
>>>>>
>>>>> Bump nfs-iostat.py version up to 0.3 to reflect new features.
>>>>
>>>> Now that nfs-iostat.py has been integrated into nfs-utils, I'm
>>>> not sure
>>>> we want to maintain an individual version number for it. Maybe it
>>>> should use the nfs-utils package's versioning instead... Steve,
>>>> your
>>>> thoughts?
>>> Hmm... I don't think we tie any of other commands versions to
>>> the package version....
>>
>> Actually many of the C commands do grab a macro defined during
>> autoconfiguration: PACKAGE_VERSION.
>>
> Interesting.. I do see PACKAGE_VERSION being defined in support/
> include/config.h
> I guess I didn't know that was there and it does not seem to be used
> by anybody... which is probably a problem but I don't think its a
> problem
> with this script...
Right, I'm suggesting now would be a good time to switch these scripts
over to the package-wide versioning scheme.
But take a look at mount, statd, showmount, and nfsstat, at least:
these, for example, use the VERSION macro in their -V and usage
messages.
--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/4] nfs-utils: nfs-iostat.py autofs cleanup and option to sort by ops/s
2009-08-26 20:28 ` Chuck Lever
@ 2009-08-26 23:56 ` Lans Carstensen
2009-08-27 14:04 ` Chuck Lever
0 siblings, 1 reply; 10+ messages in thread
From: Lans Carstensen @ 2009-08-26 23:56 UTC (permalink / raw)
To: Chuck Lever; +Cc: Steve Dickson, NFS list
Chuck Lever wrote:
> On Aug 26, 2009, at 2:03 PM, Steve Dickson wrote:
>> On 08/26/2009 11:35 AM, Chuck Lever wrote:
>>> On Aug 26, 2009, at 11:13 AM, Steve Dickson wrote:
>>>> On 08/26/2009 10:28 AM, Chuck Lever wrote:
>>>>>
>>>>> On Aug 26, 2009, at 12:59 AM, Lans Carstensen wrote:
>>>>>
>>>>>> commit d3bb692a8c26c2d4e0dc70d7d0359daf79090e1e
>>>>>> Author: Lans Carstensen <Lans.Carstensen@dreamworks.com>
>>>>>> Date: Tue Aug 25 21:52:03 2009 -0700
>>>>>>
>>>>>> Bump nfs-iostat.py version up to 0.3 to reflect new features.
>>>>>
>>>>> Now that nfs-iostat.py has been integrated into nfs-utils, I'm not
>>>>> sure
>>>>> we want to maintain an individual version number for it. Maybe it
>>>>> should use the nfs-utils package's versioning instead... Steve, your
>>>>> thoughts?
>>>> Hmm... I don't think we tie any of other commands versions to
>>>> the package version....
>>>
>>> Actually many of the C commands do grab a macro defined during
>>> autoconfiguration: PACKAGE_VERSION.
>>>
>> Interesting.. I do see PACKAGE_VERSION being defined in
>> support/include/config.h
>> I guess I didn't know that was there and it does not seem to be used
>> by anybody... which is probably a problem but I don't think its a problem
>> with this script...
>
> Right, I'm suggesting now would be a good time to switch these scripts
> over to the package-wide versioning scheme.
>
> But take a look at mount, statd, showmount, and nfsstat, at least:
> these, for example, use the VERSION macro in their -V and usage messages.
I agree with that concept but I'll kindly defer on the implementation as
I'm not exactly sure what would be required. I guess maybe generation
of a Makefile.am that uses sed or somesuch to patch the script?
-- Lans Carstensen, Systems Engineering, Dreamworks Animation
Because they consistently observe and listen, the humble improve.
-- Wynton Marsalis
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH 2/4] nfs-utils: nfs-iostat.py autofs cleanup and option to sort by ops/s
2009-08-26 23:56 ` Lans Carstensen
@ 2009-08-27 14:04 ` Chuck Lever
2009-08-27 14:17 ` Steve Dickson
0 siblings, 1 reply; 10+ messages in thread
From: Chuck Lever @ 2009-08-27 14:04 UTC (permalink / raw)
To: Lans Carstensen; +Cc: Steve Dickson, NFS list
On Aug 26, 2009, at 7:56 PM, Lans Carstensen wrote:
> Chuck Lever wrote:
>> On Aug 26, 2009, at 2:03 PM, Steve Dickson wrote:
>>> On 08/26/2009 11:35 AM, Chuck Lever wrote:
>>>> On Aug 26, 2009, at 11:13 AM, Steve Dickson wrote:
>>>>> On 08/26/2009 10:28 AM, Chuck Lever wrote:
>>>>>>
>>>>>> On Aug 26, 2009, at 12:59 AM, Lans Carstensen wrote:
>>>>>>
>>>>>>> commit d3bb692a8c26c2d4e0dc70d7d0359daf79090e1e
>>>>>>> Author: Lans Carstensen <Lans.Carstensen@dreamworks.com>
>>>>>>> Date: Tue Aug 25 21:52:03 2009 -0700
>>>>>>>
>>>>>>> Bump nfs-iostat.py version up to 0.3 to reflect new features.
>>>>>>
>>>>>> Now that nfs-iostat.py has been integrated into nfs-utils, I'm
>>>>>> not sure
>>>>>> we want to maintain an individual version number for it. Maybe
>>>>>> it
>>>>>> should use the nfs-utils package's versioning instead... Steve,
>>>>>> your
>>>>>> thoughts?
>>>>> Hmm... I don't think we tie any of other commands versions to
>>>>> the package version....
>>>>
>>>> Actually many of the C commands do grab a macro defined during
>>>> autoconfiguration: PACKAGE_VERSION.
>>>>
>>> Interesting.. I do see PACKAGE_VERSION being defined in support/
>>> include/config.h
>>> I guess I didn't know that was there and it does not seem to be used
>>> by anybody... which is probably a problem but I don't think its a
>>> problem
>>> with this script...
>> Right, I'm suggesting now would be a good time to switch these
>> scripts over to the package-wide versioning scheme.
>> But take a look at mount, statd, showmount, and nfsstat, at least:
>> these, for example, use the VERSION macro in their -V and usage
>> messages.
>
> I agree with that concept but I'll kindly defer on the
> implementation as I'm not exactly sure what would be required.
That's quite alright. Probably Steve should cook something up for
this one.
--
Chuck Lever
chuck[dot]lever[at]oracle[dot]com
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/4] nfs-utils: nfs-iostat.py autofs cleanup and option to sort by ops/s
2009-08-27 14:04 ` Chuck Lever
@ 2009-08-27 14:17 ` Steve Dickson
0 siblings, 0 replies; 10+ messages in thread
From: Steve Dickson @ 2009-08-27 14:17 UTC (permalink / raw)
To: Chuck Lever; +Cc: Lans Carstensen, NFS list
On 08/27/2009 10:04 AM, Chuck Lever wrote:
> On Aug 26, 2009, at 7:56 PM, Lans Carstensen wrote:
>> Chuck Lever wrote:
>>> On Aug 26, 2009, at 2:03 PM, Steve Dickson wrote:
>>>> On 08/26/2009 11:35 AM, Chuck Lever wrote:
>>>>> On Aug 26, 2009, at 11:13 AM, Steve Dickson wrote:
>>>>>> On 08/26/2009 10:28 AM, Chuck Lever wrote:
>>>>>>>
>>>>>>> On Aug 26, 2009, at 12:59 AM, Lans Carstensen wrote:
>>>>>>>
>>>>>>>> commit d3bb692a8c26c2d4e0dc70d7d0359daf79090e1e
>>>>>>>> Author: Lans Carstensen <Lans.Carstensen@dreamworks.com>
>>>>>>>> Date: Tue Aug 25 21:52:03 2009 -0700
>>>>>>>>
>>>>>>>> Bump nfs-iostat.py version up to 0.3 to reflect new features.
>>>>>>>
>>>>>>> Now that nfs-iostat.py has been integrated into nfs-utils, I'm
>>>>>>> not sure
>>>>>>> we want to maintain an individual version number for it. Maybe it
>>>>>>> should use the nfs-utils package's versioning instead... Steve, your
>>>>>>> thoughts?
>>>>>> Hmm... I don't think we tie any of other commands versions to
>>>>>> the package version....
>>>>>
>>>>> Actually many of the C commands do grab a macro defined during
>>>>> autoconfiguration: PACKAGE_VERSION.
>>>>>
>>>> Interesting.. I do see PACKAGE_VERSION being defined in
>>>> support/include/config.h
>>>> I guess I didn't know that was there and it does not seem to be used
>>>> by anybody... which is probably a problem but I don't think its a
>>>> problem
>>>> with this script...
>>> Right, I'm suggesting now would be a good time to switch these
>>> scripts over to the package-wide versioning scheme.
>>> But take a look at mount, statd, showmount, and nfsstat, at least:
>>> these, for example, use the VERSION macro in their -V and usage
>>> messages.
>>
>> I agree with that concept but I'll kindly defer on the implementation
>> as I'm not exactly sure what would be required.
>
> That's quite alright. Probably Steve should cook something up for this
> one.
Yeah... don't get get hung up on this one... I'll deal with it...
steved.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/4] nfs-utils: nfs-iostat.py autofs cleanup and option to sort by ops/s
@ 2009-09-15 4:57 Lans Carstensen
0 siblings, 0 replies; 10+ messages in thread
From: Lans Carstensen @ 2009-09-15 4:57 UTC (permalink / raw)
To: linux-nfs
Update list of mount points at each interval and check for differences
when producing comparative stats. This ensures proper stats collection
for autofs mountpoints.
Original patch corrected with email feedback from Chuck Lever
Signed-off-by: Lans Carstensen <Lans.Carstensen-hCDZnVt6e3JSwrhanM7KvQ@public.gmane.org>
---
tools/nfs-iostat/nfs-iostat.py | 60
+++++++++++++++++++++++++++++----------
1 files changed, 44 insertions(+), 16 deletions(-)
mode change 100644 => 100755 tools/nfs-iostat/nfs-iostat.py
diff --git a/tools/nfs-iostat/nfs-iostat.py b/tools/nfs-iostat/nfs-iostat.py
old mode 100644
new mode 100755
index ea02db4..b3f335a
--- a/tools/nfs-iostat/nfs-iostat.py
+++ b/tools/nfs-iostat/nfs-iostat.py
@@ -447,7 +447,14 @@ def parse_stats_file(filename):
return ms_dict
def print_iostat_summary(old, new, devices, time, ac):
- for device in devices:
+ if old:
+ # Trim device list to only include intersection of old and new
data,
+ # this addresses umounts due to autofs mountpoints
+ devicelist = filter(lambda x:x in devices,old)
+ else:
+ devicelist = devices
+
+ for device in devicelist:
stats = DeviceData()
stats.parse_stats(new[device])
if not old:
@@ -458,11 +465,32 @@ def print_iostat_summary(old, new, devices, time, ac):
diff_stats = stats.compare_iostats(old_stats)
diff_stats.display_iostats(time, ac)
+def list_nfs_mounts(givenlist, mountstats):
+ """return a list of NFS mounts given a list to validate or
+ return a full list if the given list is empty -
+ may return an empty list if none found
+ """
+ list = []
+ if len(givenlist) > 0:
+ for device in givenlist:
+ stats = DeviceData()
+ stats.parse_stats(mountstats[device])
+ if stats.is_nfs_mountpoint():
+ list += [device]
+ else:
+ for device, descr in mountstats.iteritems():
+ stats = DeviceData()
+ stats.parse_stats(descr)
+ if stats.is_nfs_mountpoint():
+ list += [device]
+ return list
+
def iostat_command(name):
"""iostat-like command for NFS mount points
"""
mountstats = parse_stats_file('/proc/self/mountstats')
devices = []
+ origdevices = []
which = 0
interval_seen = False
count_seen = False
@@ -492,7 +520,7 @@ def iostat_command(name):
continue
if arg in mountstats:
- devices += [arg]
+ origdevices += [arg]
elif not interval_seen:
interval = int(arg)
if interval > 0:
@@ -509,23 +537,11 @@ def iostat_command(name):
return
# make certain devices contains only NFS mount points
- if len(devices) > 0:
- check = []
- for device in devices:
- stats = DeviceData()
- stats.parse_stats(mountstats[device])
- if stats.is_nfs_mountpoint():
- check += [device]
- devices = check
- else:
- for device, descr in mountstats.iteritems():
- stats = DeviceData()
- stats.parse_stats(descr)
- if stats.is_nfs_mountpoint():
- devices += [device]
+ devices = list_nfs_mounts(origdevices, mountstats)
if len(devices) == 0:
print 'No NFS mount points were found'
return
+
old_mountstats = None
sample_time = 0.0
@@ -541,6 +557,12 @@ def iostat_command(name):
time.sleep(interval)
sample_time = interval
mountstats = parse_stats_file('/proc/self/mountstats')
+ # automount mountpoints add and drop, if automount is involved
+ # we need to recheck the devices list when reparsing
+ devices = list_nfs_mounts(origdevices,mountstats)
+ if len(devices) == 0:
+ print 'No NFS mount points were found'
+ return
count -= 1
else:
while True:
@@ -549,6 +571,12 @@ def iostat_command(name):
time.sleep(interval)
sample_time = interval
mountstats = parse_stats_file('/proc/self/mountstats')
+ # automount mountpoints add and drop, if automount is involved
+ # we need to recheck the devices list when reparsing
+ devices = list_nfs_mounts(origdevices,mountstats)
+ if len(devices) == 0:
+ print 'No NFS mount points were found'
+ return
#
# Main
--
1.5.5.6
^ permalink raw reply related [flat|nested] 10+ messages in thread
end of thread, other threads:[~2009-09-15 5:00 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-26 4:59 [PATCH 2/4] nfs-utils: nfs-iostat.py autofs cleanup and option to sort by ops/s Lans Carstensen
2009-08-26 14:28 ` Chuck Lever
2009-08-26 15:13 ` Steve Dickson
2009-08-26 15:35 ` Chuck Lever
2009-08-26 18:03 ` Steve Dickson
2009-08-26 20:28 ` Chuck Lever
2009-08-26 23:56 ` Lans Carstensen
2009-08-27 14:04 ` Chuck Lever
2009-08-27 14:17 ` Steve Dickson
-- strict thread matches above, loose matches on Subject: below --
2009-09-15 4:57 Lans Carstensen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).