Re: [PATCH iproute2 net-next 0/3] ss: Allow selection of columns to be displayed
From: David Ahern <hidden>
Date: 2018-10-31 01:29:00
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.