Re: [PATCH v2] mountstats: Adding 'Day:Hour:Min:Sec' format along with 'age' to "mountstats --nfs" for ease of understanding.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> On Jun 4, 2020, at 3:23 PM, Kenneth Dsouza <kdsouza@xxxxxxxxxx> wrote:
> 
> I get the below results using the datetime module.
> 
> # mountstats --nfs | grep -w age
>  NFS mount age: 688865; 7 days, 23:21:05

For pretty-printing the mount point's age, you probably don't need
to display the raw delta seconds value.


> On Fri, Jun 5, 2020 at 12:23 AM Kenneth Dsouza <kdsouza@xxxxxxxxxx> wrote:
>> 
>> Using the datetime module?
>> 
>> datetime.timedelta(seconds = n)
>> Should print in below format
>> 0:11:05
>> 
>> On Thu, Jun 4, 2020 at 11:45 PM Chuck Lever <chuck.lever@xxxxxxxxxx> wrote:
>>> 
>>> 
>>> 
>>>> On Jun 4, 2020, at 1:52 PM, Rohan Sable <rsable@xxxxxxxxxx> wrote:
>>>> 
>>>> This patch adds printing of 'Age' in 'Sec' and 'Day:Hours:Min:Sec' like below to --nfs in mountstats :
>>>> NFS mount age: 9479; 0 Day(s) 2 Hour(s) 37 Min(s) 59 Sec(s)
>>>> 
>>>> Signed-off-by: Rohan Sable <rsable@xxxxxxxxxx>
>>>> ---
>>>> tools/mountstats/mountstats.py | 12 ++++++++++++
>>>> 1 file changed, 12 insertions(+)
>>>> 
>>>> diff --git a/tools/mountstats/mountstats.py b/tools/mountstats/mountstats.py
>>>> index d565385d..c4f4f9e6 100755
>>>> --- a/tools/mountstats/mountstats.py
>>>> +++ b/tools/mountstats/mountstats.py
>>>> @@ -233,6 +233,16 @@ Nfsv4ops = [
>>>>    'COPY_NOTIFY'
>>>> ]
>>>> 
>>>> +# Function to convert sec from age to Day:Hours:Min:Sec.
>>>> +def sec_conv(rem):
>>>> +    day = int(rem / (24 * 3600))
>>>> +    rem %= (24 * 3600)
>>>> +    hrs = int(rem / 3600)
>>>> +    rem %= 3600
>>>> +    min = int(rem / 60)
>>>> +    sec = rem % 60
>>>> +    print(day, "Day(s)", hrs, "Hour(s)", min, "Min(s)", sec, "Sec(s)")
>>>> +
>>> 
>>> Just wondering if there's a Python module that can do this for us?
>>> 
>>> 
>>>> class DeviceData:
>>>>    """DeviceData objects provide methods for parsing and displaying
>>>>    data for a single mount grabbed from /proc/self/mountstats
>>>> @@ -391,6 +401,8 @@ class DeviceData:
>>>>        """Pretty-print the NFS options
>>>>        """
>>>>        print('  NFS mount options: %s' % ','.join(self.__nfs_data['mountoptions']))
>>>> +        print('  NFS mount age: %d' % self.__nfs_data['age'], end="; ")
>>>> +        sec_conv(self.__nfs_data['age'])
>>>>        print('  NFS server capabilities: %s' % ','.join(self.__nfs_data['servercapabilities']))
>>>>        if 'nfsv4flags' in self.__nfs_data:
>>>>            print('  NFSv4 capability flags: %s' % ','.join(self.__nfs_data['nfsv4flags']))
>>>> --
>>>> 2.25.4
>>>> 
>>> 
>>> --
>>> Chuck Lever
>>> 
>>> 
>>> 
> 

--
Chuck Lever







[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux