Application targets
Probe real workloads end to end: an nginx server, a three-signal OpenTelemetry capstone, and a postgres database, tying together kernel and user-space techniques.
Probing nginx: latency inside a real server
Turn the toolkit on production software: attach uprobes to a containerized nginx's request functions, key timing by the request object to measure per-request handling latency without touching nginx, and confront the real-world frictions โ symbols and container namespaces.
Capstone: tying the three signals together
A short capstone for the applications part. We can't symbol-probe Java or Python the way we did nginx โ so we instrument at the kernel socket layer, the way the OpenTelemetry eBPF Instrumentation (OBI) project does, and turn one request into three correlated signals: a span, a log, and a RED metric sharing a trace_id. Then we watch the click-through correlation in Grafana and place it against the production tool.
Probing postgres: queries and lock waits
A harder target: a postgres database. Attach uprobes to a multi-process server so one probe covers every backend, capture per-query latency with the SQL text, and measure the lock-wait time that is invisible from outside the database. Meet USDT โ the stable probe API databases ship โ and cross-check against postgres's own statistics views.