uringscope: Portable, Low-Overhead Observability for io_uring
A paper on why io_uring workloads are so hard to see into. Submission and completion happen in rings shared with the kernel, so strace catches only the setup call and you are left guessing when something goes wrong. uringscope is a single binary eBPF tool that watches those rings and rebuilds the life of each request from raw kernel events, using CO-RE, BTF probes, and flexible field lookups so one build survives the tracepoint churn across kernel versions. On real NVMe workloads it costs about 0.7 to 9.9 percent of throughput, cheaper than the other tools measured at the same level of detail. The same data feeds a doctor mode that turns raw measurements into named problems with the evidence behind them, aimed at someone chasing a tail latency bug rather than browsing histograms.