RE: [PATCH iproute2 v5 2/4] ifstat: Add extended statistics to ifstat
From: Nogah Frankel <hidden>
Date: 2017-02-07 12:59:16
-----Original Message----- From: Stephen Hemminger [mailto:stephen@networkplumber.org] Sent: Friday, February 03, 2017 8:07 PM To: Nogah Frankel <redacted> Cc: netdev@vger.kernel.org; roopa@cumulusnetworks.com; roszenrami@gmail.com; jbenc@redhat.com; sergei.shtylyov@cogentembedded.com; Jiri Pirko [off-list ref]; Elad Raz [off-list ref]; Ido Schimmel [off-list ref]; Yotam Gigi [off-list ref]; Or Gerlitz [off-list ref] Subject: Re: [PATCH iproute2 v5 2/4] ifstat: Add extended statistics to ifstat On Thu, 26 Jan 2017 14:44:39 +0200 Nogah Frankel [off-list ref] wrote:quoted
Extended stats are part of the RTM_GETSTATS method. This patch adds them to ifstat. While extended stats can come in many forms, we support only the rtnl_link_stats64 struct for them (which is the 64 bits version of struct rtnl_link_stats). We support stats in the main nesting level, or one lower. The extension can be called by its name or any shorten of it. If there is more than one matched, the first one will be picked. To get the extended stats the flag -x <stats type> is used. Signed-off-by: Nogah Frankel <redacted> Reviewed-by: Jiri Pirko <redacted>Sorry I was confused because RTM_GETSTATS contains multiple statistics. Your patch is about getting LINK_XSTATS and after looking in more detail, you are correct this should be an option. Although it would make sense to show this as addition to the basic statistics. And when I tested it no output happens which seems confusing. $ ./misc/ifstat -p -x cpu_hits #kernel Interface RX Pkts/Rate TX Pkts/Rate RX Data/Rate TX Data/Rate RX Errs/Drop TX Errs/Drop RX Over/Rate TX Coll/Rate
Not all devices support this xstat. Do you prefer another print in this case? About printing both the xstat and the default stats together, it may be problematic since ifstat is about diffs. I think it is better that one ifstat call for a specific stats, won't change the other stats data. (And since we are talking about diffs, reading data meaning changing it).
What I was intending in earlier discussion was using IFLA_STATS_LINK_64 which would allow supporting 64 bit statistics on 32 bit platforms.