ss: add more tcp socket diagnostics
Display 4 additional tcp socket info fields : backoff : exponential backoff lastsnd : time in milli second since last send lastrcv : time in milli second since last receive lastack : time in milli second since last acknowledgement $ ss -ti dst :22 State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 0 172.16.5.1:58470 172.17.131.143:ssh cubic wscale:7,7 rto:228 rtt:30/20 ato:40 mss:1256 cwnd:6 ssthresh:4 send 2.0Mbps lastsnd:3480 lastrcv:3464 lastack:3464 rcv_rtt:81.5 rcv_space:87812 Signed-off-by: Eric Dumazet <edumazet@google.com>
This commit is contained in:
parent
68ac9ab339
commit
624a06e63f
11
misc/ss.c
11
misc/ss.c
|
|
@ -1554,6 +1554,8 @@ static void tcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r,
|
||||||
info->tcpi_rcv_wscale);
|
info->tcpi_rcv_wscale);
|
||||||
if (info->tcpi_rto && info->tcpi_rto != 3000000)
|
if (info->tcpi_rto && info->tcpi_rto != 3000000)
|
||||||
printf(" rto:%g", (double)info->tcpi_rto/1000);
|
printf(" rto:%g", (double)info->tcpi_rto/1000);
|
||||||
|
if (info->tcpi_backoff)
|
||||||
|
printf(" backoff:%u", info->tcpi_backoff);
|
||||||
if (info->tcpi_rtt)
|
if (info->tcpi_rtt)
|
||||||
printf(" rtt:%g/%g", (double)info->tcpi_rtt/1000,
|
printf(" rtt:%g/%g", (double)info->tcpi_rtt/1000,
|
||||||
(double)info->tcpi_rttvar/1000);
|
(double)info->tcpi_rttvar/1000);
|
||||||
|
|
@ -1583,6 +1585,15 @@ static void tcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r,
|
||||||
/ rtt));
|
/ rtt));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (info->tcpi_last_data_sent)
|
||||||
|
printf(" lastsnd:%u", info->tcpi_last_data_sent);
|
||||||
|
|
||||||
|
if (info->tcpi_last_data_recv)
|
||||||
|
printf(" lastrcv:%u", info->tcpi_last_data_recv);
|
||||||
|
|
||||||
|
if (info->tcpi_last_ack_recv)
|
||||||
|
printf(" lastack:%u", info->tcpi_last_ack_recv);
|
||||||
|
|
||||||
if (info->tcpi_pacing_rate &&
|
if (info->tcpi_pacing_rate &&
|
||||||
info->tcpi_pacing_rate != ~0ULL) {
|
info->tcpi_pacing_rate != ~0ULL) {
|
||||||
printf(" pacing_rate %sbps",
|
printf(" pacing_rate %sbps",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue