Topical Takes
Short, opinionated posts on eBPF, Linux internals, and the tools we all run in production.
AlleBPF30linux29yeet26observability12AI agents9security7networking4uprobes4claude-code3exectop3kubernetes3supply chain3tcpdump3tracing3audit2bcc2BSON2ci2containers2execsnoop2HTTP2incident-response2MongoDB2process-attribution2processes2802.111agent-security1ai-sre1auditd1biolatency1bpf-verifier1bpftrace1build-performance1capabilities1cgroups1Cilium1CO-RE1confidential-computing1context-switches1cpu-accounting1cryptojacking1egress1exfiltration1integration-testing1kprobes1kworker1local-llm1make1MCP1memory1n-plus-one1nodejs1npm1off-cpu1ollama1oom1opentelemetry1packet-capture1postinstall1prepared statements1proc-filesystem1process-masquerading1production1profiling1query-shapes1Redis1RESP1rf1root-cause-analysis1runqlat1sandboxing1schedstat1slowlog1SQLite1ssh1stratum1sudo1tcp-retransmits1threat-modeling1tunnels1websocket1wifi1wireguard1wireless1wss1
How to Find Slow MongoDB Queries on Linux in 2026: The Slow Query Is Often Two Hundred Fast Ones
A slow-query log grades one query at a time, so an endpoint that issues two hundred fast queries produces an empty profiler and a 900ms response. Covers query shapes and N+1 detection, the profiler's 100ms threshold, Atlas Query Profiler, explain, mongotail, and reading the commands at the socket with mongosnoop and yeet.
MongoDBeBPFlinuxobservabilityn-plus-onequery-shapesBSONyeet
Read more →Writing an eBPF Protocol Tracer on Linux in 2026: Why the Verifier Wants Your Parser in Userspace
The verifier rejects a parsing loop because it cannot bound a trip count read from user memory, and that is design feedback rather than an obstacle. Compares bpftrace, BCC, libbpf and yeet, then covers back-edge errors, the 512-byte stack limit, per-CPU scratch maps, request/reply correlation and CO-RE field renames across kernels.
eBPFbpf-verifierCO-REkprobesBSONlinuxtracingyeet
Read more →