| .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] [\-p LPORT] [\-P RPORT] [\-a LADDR] [\-A RADDR] [\-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) |