Expand description
hotpath-rs is a simple async Rust profiler. It instruments functions, channels, futures, and streams to quickly find bottlenecks and focus optimizations where they matter most. It can provide actionable insights into time, memory, and data flow with minimal setup.
§Setup & Usage
For a complete setup guide, examples, and advanced configuration, visit hotpath.rs.
Re-exports§
Modules§
- wrap
- Mirror of
stdpaths so instrumented types can be used as drop-in replacements by prefixing imports withhotpath_meta::wrap::(e.g.hotpath_meta::wrap::std::sync::RwLock).
Macros§
Structs§
- Counting
Allocator - No-op counterpart of the tracking allocator: a pure pass-through to the
inner allocator, so a
#[global_allocator]declaration compiles unchanged with thehotpath-metafeature disabled. - Gauge
Handle - Hotpath
Guard - Hotpath
Guard Builder - ValHandle
Enums§
Traits§
Functions§
- io_
unwrap - No-op counterpart of the enabled-mode
io_unwrap.io!returns its argument unchanged when profiling is disabled, so unwrapping is the identity and call sites compile identically in both modes. - measure_
async - measure_
async_ future - measure_
async_ future_ log - measure_
async_ log - measure_
sync - measure_
sync_ log
Attribute Macros§
- future_
fn - Instruments an async function to track its lifecycle as a Future.
- main
- Initializes the hotpath profiling system and generates a performance report on program exit.
- measure
- Instruments a function to measure execution time or memory allocations.
- measure_
all - Instruments all functions in a module or impl block with
measure. - skip
- Marks a function to be excluded from profiling when used with
measure_all.