On Thu, Sep 03, 2015 at 04:36:18PM +0200, Tobias Klauser wrote: > On 2015-09-02 at 01:31:16 +0200, Vadim Kochan <vadi...@gmail.com> wrote: > > From: Vadim Kochan <vadi...@gmail.com> > > > > Show human readable time since flow was created by Linux > > > > Signed-off-by: Vadim Kochan <vadi...@gmail.com> > > --- > > flowtop.c | 38 ++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 38 insertions(+) > > > > diff --git a/flowtop.c b/flowtop.c > > index d988590..d073715 100644 > > --- a/flowtop.c > > +++ b/flowtop.c > > @@ -41,6 +41,10 @@ > > #include "proc.h" > > #include "sysctl.h" > > > > +#ifndef NSEC_PER_SEC > > +#define NSEC_PER_SEC 1000000000L > > +#endif > > + > > struct flow_entry { > > uint32_t flow_id, use, status; > > uint8_t l3_proto, l4_proto; > > @@ -750,6 +754,37 @@ static void presenter_print_counters(uint64_t bytes, > > uint64_t pkts, int color) > > printw(")"); > > } > > > > +static void presenter_print_flow_entry_time(struct flow_entry *n) > > +{ > > + int secs = n->timestamp_start / NSEC_PER_SEC; > > + int mns_sub, sec_sub; > > + int mns, hrs; > > + time_t now; > > + > > + time(&now); > > + sec_sub = secs = now - secs; > > + > > + if (secs <= 0) > > + return; > > + > > + mns_sub = mns = secs / 60; > > + hrs = secs / 3600; > > + > > + if (secs > 60) > > + sec_sub = secs - mns * 60; > > + if (mns > 60) > > + mns_sub = mns - hrs * 60; > > + > > + printw(" [ time"); > > + if (hrs > 0) > > + printw(" %dh", hrs); > > + if (mns_sub > 0) > > + printw(" %dm", mns_sub); > > + if (sec_sub > 0) > > + printw(" %ds", sec_sub); > > + printw(" ]"); > > +} > > This could be done a bit easier, using less variables and more straight > forward to read: > > static void presenter_print_flow_entry_time(struct flow_entry *n) > { > int h, m, s; > time_t now; > > time(&now); > > s = now - (n->timestamp_start / NSEC_PER_SEC); > if (s <= 0) > return; > > h = s / 3600; > s -= h * 3600; > m = s / 60; > s -= m * 60; > > printw(" [ time"); > if (h > 0) > printw(" %dh", h); > if (m > 0) > printw(" %dm", m); > if (s > 0) > printw(" %ds", s); > printw(" ]"); > } > > I applied the patch with this version instead.
What do you think if it is better to show time duration only by '-t' option ? Is it possible that time duration counting for each flow might stress someone ? Regards, -- You received this message because you are subscribed to the Google Groups "netsniff-ng" group. To unsubscribe from this group and stop receiving emails from it, send an email to netsniff-ng+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.