Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

hotpath-rs dev blog

Notes on Rust performance, profiling techniques, and development updates from building hotpath-rs by Paweł Urbanek.

Profiling Async and Concurrent Rust: Channels and Lock Contention

June 23, 2026

Traditional Rust profilers can reveal where your application spends CPU time, but they often cannot explain why async or concurrent code is waiting. Queue buildup, channel throughput, message processing latency, and lock contention can be difficult or impossible to observe with standard profilers. In this blog post I’ll describe instrumentation APIs recently introduced to hotpath-rs that provide observability into async and concurrency bottlenecks. I’ll also explain the new "wrap" channel instrumentation introduced in hotpath 0.18.0.

Lessons Learned Building High-Performance Rust Profiler

May 12, 2026

The Rust performance book features over a dozen different profiling tools. So I’m not sure if the world needed a new Rust profiler. Still, I spent the last 6+ months building hotpath-rs. In this post, I’ll describe the design decisions behind the library and share a few performance challenges I encountered while working on it. We’ll go deep into the low-level details: cache-line contention, async futures instrumentation, and decoding raw CPU traces back into Rust symbols.

Cargo Flamegraph Alternatives for Rust Performance Profiling

December 17, 2025

In this post, we’ll compare hotpath with popular Rust performance profilers such as cargo flamegraph, samply, and perf. We’ll walk through three common Rust performance profiling scenarios - CPU-bound code, blocking I/O, and async I/O - to show where traditional sampling profilers excel and where runtime instrumentation provides a different perspective.


Archive