flat
v0.3.0
Measure UDP and TCP flow latency for both IPv4 and IPv6 using eBPF.
This repo is the companion to my blog posts about eBPF at https://thegraynode.io/tags/flat/.

You can install flat in two ways.
wget https://github.com/pouriyajamshidi/flat/releases/latest/download/flatThen check out the examples.
Clone the repository:
git clone https://github.com/pouriyajamshidi/flat .Change directory to flat:
cd flatWhile at the root of project directory, to compile the C code and generate the helper functions, run:
go generate ./...Compile the Go program:
go build -ldflags "-s -w" -o flat cmd/flat.goRun it with elevated privileges:
# Replace eth0 with your desired interface name
sudo ./flat -i eth0
# Or
sudo ./flat -i eth0 -ip 1.1.1.1
# Or
sudo ./flat -i eth0 -port 53
# Or
sudo ./flat -i eth0 -ip 1.1.1.1 -port 53flat supports four flags at the moment:
| flag | Description |
|---|---|
| -i | interface to attach the probe to |
| -ip | IP address to filter on (optional) |
| -port | Port number to filter on (optional) |
| -h | Show help message |
Heavily inspired by flowlat.