flat icon indicating copy to clipboard operation
flat copied to clipboard

Measure UDP and TCP connection latency for IPv4 and IPv6 using eBPF and Go

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.