pouriyajamshidi / flat

Measure UDP and TCP connection latency for IPv4 and IPv6 using eBPF and Go
GNU General Public License v3.0
20 stars 3 forks source link
c ebpf go ipv4 ipv6 latency-monitor tcp udp

flat

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/.

flat in action

Running The Program

Clone the repository.

git clone https://github.com/pouriyajamshidi/flat .

Change directory to flat:

cd flat

While 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.go

Run it with elevated privileges:

# Replace eth0 with your desired interface name
sudo ./flat -i eth0

Acknolegments

Heavily inspired by flowlat.