Overview
I wrote a lightweight, high-performance monitoring agent in Go. It talks directly to the Linux kernel through the cilium/ebpf framework, so it needs no sidecar.
How it works
- Tracing. It attaches user-space probes (uprobes) to
ngx_http_process_requestandngx_http_free_requestin Nginx. The time between the two is the HTTP request latency, measured with microsecond precision. - Processing. A concurrent pipeline in Go built on worker pools and buffered channels. Custom sliding-window aggregation groups the high-frequency kernel events.
- Export. The aggregated data goes to an OpenTelemetry-compatible backend.
Built from October to November 2025.