.TH tcprtt 8 "2020-08-23" "USER COMMANDS" .SH NAME tcprtt \- Trace TCP RTT of established connections. Uses Linux eBPF/bcc. .SH SYNOPSIS .B tcprtt [\-h] [\-T] [\-D] [\-m] [\-i INTERVAL] [\-d DURATION] [\-b] [\-B] [\-e] [\-4 | \-6] .SH DESCRIPTION This tool traces established connections RTT(round-trip time) to analyze the quality of network. This can be useful for general troubleshooting to distinguish the network latency is from user process or physical network. Since this uses BPF, only the root user can use this tool. .SH REQUIREMENTS CONFIG_BPF and bcc. .SH OPTIONS .TP \-h Print usage message. .TP \-T Include a time column on output (HH:MM:SS). .TP \-D Show debug infomation of bpf text. .TP \-m Output histogram in milliseconds. .TP \-i INTERVAL Print output every interval seconds. .TP \-d DURATION Total duration of trace in seconds. .TP \-p LPORT Filter for local port. .TP \-P RPORT Filter for remote port. .TP \-a LADDR Filter for local address. .TP \-A RADDR Filter for remote address. .TP \-b Show sockets histogram by local address. .TP \-B Show sockets histogram by remote address. .TP \-e Show extension summary(average). .TP \-4 Trace IPv4 family only. .TP \-6 Trace IPv6 family only. .SH EXAMPLES .TP Trace TCP RTT and print 1 second summaries, 10 times: # .B tcprtt \-i 1 \-d 10 .TP Summarize in millisecond, and timestamps: # .B tcprtt \-m \-T .TP Only trace TCP RTT for remote address 192.168.1.100 and remote port 80: # .B tcprtt \-i 1 \-d 10 \-A 192.168.1.100 \-P 80 .TP Trace local port and show a breakdown of remote hosts RTT: # .B tcprtt \-i 3 --lport 80 --byraddr .TP Trace IPv4 family only: # .B tcprtt \-4 .TP Trace IPv6 family only: # .B tcprtt \-6 .SH OVERHEAD This traces the kernel tcp_rcv_established function and collects TCP RTT. The rate of this depends on your server application. If it is a web or proxy server accepting many tens of thousands of connections per second. .SH SOURCE This is from bcc. .IP https://github.com/iovisor/bcc .PP Also look in the bcc distribution for a companion _examples.txt file containing example usage, output, and commentary for this tool. .SH OS Linux .SH STABILITY Unstable - in development. .SH AUTHOR zhenwei pi .SH SEE ALSO tcptracer(8), tcpconnect(8), funccount(8), tcpdump(8)