Module async_memory

Module async_memory 

Source
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