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]

 



I get the below results using the datetime module.

# mountstats --nfs | grep -w age
  NFS mount age: 688865; 7 days, 23:21:05

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
> >
> >
> >




[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