From d791e75d74ffe212563c271f9ffa8a2e371770d5 Mon Sep 17 00:00:00 2001 From: Tomasz Torcz Date: Tue, 2 Jul 2019 08:53:39 +0200 Subject: [PATCH] ss: in --numeric mode, print raw numbers for data rates ss by default shows data rates in human-readable form - as Mbps/Gbps etc. Enhance --numeric mode to show raw values in bps, without conversion. Signed-of-by: Tomasz Torcz Signed-off-by: Stephen Hemminger --- man/man8/ss.8 | 2 +- misc/ss.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/man/man8/ss.8 b/man/man8/ss.8 index 9054fab9..f428e60c 100644 --- a/man/man8/ss.8 +++ b/man/man8/ss.8 @@ -28,7 +28,7 @@ Suppress header line. Print each socket's data on a single line. .TP .B \-n, \-\-numeric -Do not try to resolve service names. +Do not try to resolve service names. Show exact bandwidth values, instead of human-readable. .TP .B \-r, \-\-resolve Try to resolve numeric address/ports. diff --git a/misc/ss.c b/misc/ss.c index 99c06d31..3d9d1d8f 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -2361,7 +2361,9 @@ static int proc_inet_split_line(char *line, char **loc, char **rem, char **data) static char *sprint_bw(char *buf, double bw) { - if (bw > 1000000.) + if (!resolve_services) + sprintf(buf, "%.0f", bw); + else if (bw > 1000000.) sprintf(buf, "%.1fM", bw / 1000000.); else if (bw > 1000.) sprintf(buf, "%.1fK", bw / 1000.); -- 2.39.2