From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [PATCH iproute2 net-next 0/3] ss: Allow selection of columns to be displayed Date: Tue, 30 Oct 2018 09:38:42 -0700 Message-ID: <20181030093842.0e174ea6@xeon-e3> References: <7ffc00c8-bdf6-5c75-564e-2663494bda5d@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Stefano Brivio , "Yoann P." , netdev@vger.kernel.org To: David Ahern Return-path: Received: from mail-pf1-f193.google.com ([209.85.210.193]:44067 "EHLO mail-pf1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727008AbeJaBdH (ORCPT ); Tue, 30 Oct 2018 21:33:07 -0400 Received: by mail-pf1-f193.google.com with SMTP id j13-v6so2617534pff.11 for ; Tue, 30 Oct 2018 09:38:56 -0700 (PDT) In-Reply-To: <7ffc00c8-bdf6-5c75-564e-2663494bda5d@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: On Tue, 30 Oct 2018 10:34:45 -0600 David Ahern 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.