tcpsynbl.bt(8)
β¨ tcpsynbl.bt(8) β the TCP SYN backlog histogram β¨
okay bestie, welcome to tcpsynbl.bt π this is a manual-page tool for showing the TCP SYN backlog as a histogram. it uses bpftrace/eBPF, so it's giving low-level and very, very cool π§
πΈ NAME
tcpsynbl.bt β Show the TCP SYN backlog as a histogram. Uses bpftrace/eBPF.
π SYNOPSIS
tcpsynbl
π DESCRIPTION
okay so this tool shows the TCP SYN backlog size during SYN arrival as a histogram π it lets you see how close your applications are to hitting the backlog limit and dropping SYNs π which causes performance issues with SYN retransmits. it's basically a measure of workload saturation, so it's a huge vibe check for your servers π₯ the histogram is measured at the time of SYN received, and there's 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 may change in future kernels, so this tool may need maintenance to keep working π
since this uses BPF, only the root user can use this tool. no cap, that's a hard rule π
π«Ά REQUIREMENTS
CONFIG_BPF and bpftrace. that's the whole list, bestie π
π EXAMPLES
show the TCP SYN backlog as a histogram.
# tcpsynbl.bt
π§ 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. iykyk π
π OVERHEAD
inbound SYNs should be relatively low compared to packets and other events, so the overhead of this tool is expected to be negligible π
π SOURCE
this tool originated from the book "BPF Performance Tools", published by Addison Wesley (2019) π
http://www.brendangregg.com/bpf-performance-tools-book.html
see the book for more documentation on this tool, obviously π
this version is in the bpftrace repository:
https://github.com/bpftrace/bpftrace
also look in the bpftrace distribution for a companion _examples.txt file containing example usage, output, and commentary for this tool π
π OS
Linux π§
β STABILITY
Unstable - in development. still cooking, so be gentle π«
π AUTHOR
Brendan Gregg π
π¦ SEE ALSO
tcpsynbl.bt(8) was sourced from the USER COMMANDS section of the 2019-07-03 page, so go forth and histogram responsibly, bestie πβ¨
π¦ where this page comes from
- alpine 3.24: bpftrace-tools-doc 0.26.1-r0 Β· Apache-2.0
- arch rolling: bpftrace 0.27.0-2 Β· Apache-2.0
- centos-stream 10: bpftrace 0.26.1-1.el10 Β· Apache-2.0
- centos-stream 9: bpftrace 0.26.1-1.el9 Β· ASL 2.0
- debian trixie: bpftrace 0.23.2-1 Β· Apache-2.0
- fedora 43: bpftrace 0.24.0-1.fc43 Β· Apache-2.0
- fedora 43: bpftrace 0.24.2-1.fc43 Β· Apache-2.0
- fedora 44: bpftrace 0.24.2-3.fc44 Β· Apache-2.0
- nixos 26.05: bpftrace 0.25.1
- nixpkgs unstable: bpftrace 0.27.1
- opensuse-leap 16.0: bpftrace-tools 0.23.5-160000.1.2 Β· Apache-2.0
- ubuntu questing: bpftrace 0.23.5-1ubuntu1 Β· Apache-2.0
- ubuntu resolute: bpftrace 0.25.0-1ubuntu1 Β· Apache-2.0
- ubuntu stonking: bpftrace 0.25.0-1ubuntu2 Β· Apache-2.0
- π girlified by anthropic/claude-haiku-5.5 on : a language model's rewrite of the original, under its terms