[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a2c4e045-c354-5ccb-4d53-5336f18ea717@gmail.com>
Date: Tue, 30 Oct 2018 10:45:33 -0600
From: David Ahern <dsahern@...il.com>
To: Stephen Hemminger <stephen@...workplumber.org>
Cc: Stefano Brivio <sbrivio@...hat.com>,
"Yoann P." <yoann.p.public@...il.com>, netdev@...r.kernel.org
Subject: Re: [PATCH iproute2 net-next 0/3] ss: Allow selection of columns to
be displayed
On 10/30/18 10:38 AM, Stephen Hemminger wrote:
> On Tue, 30 Oct 2018 10:34:45 -0600
> David Ahern <dsahern@...il.com> wrote:
>
>> On 10/30/18 9:05 AM, Stefano Brivio wrote:
>>> Now that we have an abstraction for columns, it's relatively easy to
>>> selectively display only some of them, and Yoann has a use case for it.
>>>
>>> Patch 1/3 fixes a rendering issue that shows up only when display of
>>> arbitrary columns is disabled. Patch 2/3 implements the relevant option,
>>> and patch 3/3 makes the output more readable when some columns are
>>> disabled.
>>>
>>>
>>
>> I like the intent, and I have prototyped something similar for 'ip'.
>>
>> A more flexible approach is to use format strings to allow users to
>> customize the output order and whitespace as well. So for ss and your
>> column list (winging it here):
>>
>> netid = %N
>> state = %S
>> recv Q = %Qr
>> send Q = %Qs
>> local address = %Al
>> lport port = %Pl
>> remote address = %Ar
>> remote port = %Pr
>> process data = %p
>> ...
>>
>> then a format string could be: "%S %Qr %Qs %Al:%Pl %Ar:%Pr %p\n"
>>
>> or for csv output: "%S,%Qr,%Qs,%Al,%Pl,%Ar,%Pr,%p\n"
>>
>> I have not had time to look into an implementation for ip. Conceptually
>> - and scanning the kernel's vsprintf code - it does not look that
>> difficult, just time consuming on the frontend with the initial setup.
>
> The problem with custom formats is that you lose all ability for Gcc
> to check format strings.
>
Sure, trade-offs. A custom print string is powerful.
While selecting columns is an improvement, column ordering is also
important - even handling other output formats (csv).
Powered by blists - more mailing lists