Expand description
Async Task-Centric Memory Tracking
This module provides task-aware memory tracking for async/await applications. Unlike thread-based tracking, this system tracks memory allocation at the granularity of individual async tasks (Futures).
Key features:
- Zero-overhead task identification using Context waker addresses
- Lock-free event buffering with quality monitoring
- Dual-track approach: TrackedFuture + tracing::Subscriber integration
- Production-grade reliability with data integrity monitoring
Performance characteristics:
- < 5ns per allocation tracking overhead
- < 0.1% CPU overhead in typical workloads
- < 1MB memory overhead per thread
- Lock-free, unwrap-free, clone-free design
Re-exports§
pub use api::create_tracked;
pub use api::get_memory_snapshot;
pub use api::initialize;
pub use api::spawn_tracked;
pub use api::AsyncMemorySnapshot;
pub use error::AsyncError;
pub use profile::TaskMemoryProfile;
pub use profile::TaskPerformanceMetrics;
pub use resource_monitor::AsyncResourceMonitor;
pub use resource_monitor::BottleneckType;
pub use resource_monitor::CpuMetrics;
pub use resource_monitor::GpuMetrics;
pub use resource_monitor::IoMetrics;
pub use resource_monitor::MemoryMetrics;
pub use resource_monitor::NetworkMetrics;
pub use resource_monitor::TaskResourceProfile;
pub use resource_monitor::TaskType;
pub use task_id::TaskId;
pub use task_id::TaskInfo;
pub use tracker::TaskMemoryTracker;
pub use tracker::TrackedFuture;
pub use visualization::CategoryRanking;
pub use visualization::ComparisonType;
pub use visualization::PerformanceBaselines;
pub use visualization::PerformanceComparison;
pub use visualization::Theme;
pub use visualization::VisualizationConfig;
pub use visualization::VisualizationError;
pub use visualization::VisualizationGenerator;
Modules§
- allocator
- Usage:
- api
- High-level API for async memory tracking
- buffer
- Lock-free event buffering for async memory tracking
- error
- Error handling for async memory tracking
- profile
- Task memory profiling and performance metrics
- resource_
monitor - Comprehensive resource monitoring for async tasks
- system_
monitor - System resource monitoring for async tasks
- task_id
- Task identification and propagation for async memory tracking
- tracker
- Task memory tracker for aggregating and analyzing allocation data
- visualization
- Async Task Performance Visualization Module
Constants§
- DEFAULT_
BUFFER_ SIZE - Default buffer size per thread for allocation events
- MAX_
TRACKED_ TASKS - Maximum number of tracked tasks before oldest are evicted
- VERSION
- Current version of the async memory tracking system