[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150120110647.GA17288@angus-think.wlc.globallogic.com>
Date: Tue, 20 Jan 2015 13:06:47 +0200
From: Vadim Kochan <vadim4j@...il.com>
To: Hagen Paul Pfeifer <hagen@...u.net>
Cc: Vadim Kochan <vadim4j@...il.com>, netdev <netdev@...r.kernel.org>,
Stephen Hemminger <stephen@...workplumber.org>,
Eric Dumazet <eric.dumazet@...il.com>
Subject: Re: [PATCH iproute2 3/3] ss: Unify tcp stats output
On Tue, Jan 20, 2015 at 11:29:53AM +0100, Hagen Paul Pfeifer wrote:
> On 18 January 2015 at 21:43, Vadim Kochan <vadim4j@...il.com> wrote:
>
> Hey Stephen,
>
> it is time to think about the format of the ss output - it starts to
> get unreadable. Neither humans nor scripts will parse the output. See
> the patch at the end,to get idea what I mean: who will understand
> "fallback_mode"? I don't want to blame someone - not at all, it is
> just one example. My proposal:
>
> 1) support grouping. E.g. DCTCP could be separated in the following
> manner. I.e. "dctcp:[ ce_state: %d, alpha: %d, ... ]" or
> "dctcp:ce_state.%d;alpha,%d" like the socket memory output.
For me the current socket memory output looks weird, I think this one can be
better:
skmem:(rd=%s,rcv_buf=%s,wr=%s,snd_buf=%s,fwd=%s,wr_queue=%s,oth=%s)
> This makes it easier for humans and scripts to parse the output.
> Since some time ss output is extended really extensive (especially
> Eric make use of this). This is not the end and additional values are
> added - make the current babylon even worse.
>
> 2) add a JSON formater as soon as possible to make the output
> parseable. I would do this - it is required anyway.
>
> Any comments on this?
>
> > + if (s->ssthresh)
> > + printf(" ssthresh:%d", s->ssthresh);
> > +
> > + if (s->dctcp && s->dctcp->enabled) {
> > + struct dctcpstat *dctcp = s->dctcp;
> > +
> > + printf(" ce_state %u alpha %u ab_ecn %u ab_tot %u",
> > + dctcp->ce_state, dctcp->alpha, dctcp->ab_ecn,
> > + dctcp->ab_tot);
> > + } else if (s->dctcp) {
> > + printf(" fallback_mode");
> > + }
> > +
> > + if (s->send_bps)
> > + printf(" send %sbps", sprint_bandw(b1, s->send_bps));
And what about processes list ? I think it would be good to have
something like:
u_str ESTAB 0 0 * 14046 * 8801
process:("process#0",pid=535,fd=2)
("process#1",pid=535,fd=1)
("process#2",pid=535,fd=1)
Instead of:
u_str ESTAB 0 0 * 14046 * 8801
users:(("qtile",pid=535,fd=2),("qtile",pid=535,fd=1))
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists