tcpsynbl(8)
π¦ NAME π¦
okay bestie, meet tcpsynbl(8) π it's a tool that shows the TCP SYN backlog as a histogram β¨ and it uses BCC/eBPF π₯ so it's giving low-level main character energy.
π SYNOPSIS π
tcpsynbl [-4 | -6]
β¨ DESCRIPTION β¨
okay so this tool shows you the TCP SYN backlog size at the moment a SYN arrives, and it shows it as a histogram π the way that this helps you see how close your apps are to hitting the backlog limit π and when that happens, SYNs get dropped, which causes performance issues with SYN retransmits. it's basically a measure of workload saturation π«Ά The histogram is measured at the time of SYN received, and you get a separate histogram for each backlog limit π
this works by tracing the tcp_v4_syn_recv_sock() and tcp_v6_syn_recv_sock() kernel functions using dynamic instrumentation π§ but ngl, these functions might change in future kernels, so this tool may need maintenance to keep working β οΈ
also, since this uses BPF, only the root user can use this tool π no cap.
π REQUIREMENTS π
you'll need CONFIG_BPF and BCC π
πΈ OPTIONS πΈ
-hβ print the usage message π-4β trace the IPv4 family only π-6β trace the IPv6 family only π
π EXAMPLES π
show the TCP SYN backlog as a histogram β¨
# tcpsynbl
trace the IPv4 family only:
# tcpsynbl -4
trace the IPv6 family only:
# tcpsynbl -6
π FIELDS π
backlogβ the backlog size when a SYN was received π―countβ the number of times this backlog size was encountered π’distributionβ an ASCII visualization of thecountcolumn π¨
π«§ OVERHEAD π«§
inbound SYNs should be relatively low compared to packets and other events, so the overhead of this tool is expected to be negligible π lowkey the best kind of overhead.
π SOURCE π
this originated as a bpftrace tool from the book "BPF Performance Tools", published by Addison Wesley (2019) π the book is here:
http://www.brendangregg.com/bpf-performance-tools-book.html
see the book for more documentation on this tool π€
this version lives in the BCC repository:
https://github.com/iovisor/bcc
also look in the bcc distribution for a companion _examples.txt file containing example usage, output, and commentary for this tool π«Ά
π OS π
Linux π§
π§ͺ STABILITY π§ͺ
Unstable - in development. it's still cooking, so don't be shocked if things shift π
π AUTHOR π
Brendan Gregg π
π SEE ALSO π
tcptop(8) π¦
bestie, that's the whole page π it's from the BCC-era manpages, the source/version line says USER COMMANDS and the date is 2019-07-03 πΈ and the manual is tcpsynbl(8) π§ slay forever β¨
π¦ where this page comes from
- alpine 3.24: bcc-doc 0.36.1-r1 Β· Apache-2.0
- nixpkgs unstable: bcc 0.37.0
- opensuse-leap 16.0: bcc-tools 0.35.0-160000.2.2 Β· Apache-2.0
- opensuse-leap 16.0: bcc-tools 0.35.0-160000.2.2 Β· Apache-2.0
- opensuse-leap 16.0: bcc-tools 0.35.0-160000.2.2 Β· Apache-2.0
- opensuse-leap 16.0: bcc-tools 0.35.0-160000.2.2 Β· Apache-2.0
- π girlified by anthropic/claude-haiku-5.5 on : a language model's rewrite of the original, under its terms