memscope-rs Technical Article Series Index
memscope-rs Technical Article Series Index
This repository contains a set of pragmatic, source-driven articles that decompose memscope-rs by module.
The goal of the series is not to over-market the project, but to explain what the tool actually tracks, how it collects data, where inference starts, and what the current limitations are.
Suggested Reading Order
-
article-single-thread-tracking.mdGlobalAlloctrack!TrackableTrackKind- standard and custom Rust types
-
article-lockfree-multithread-tracking.md- concurrent event capture
SegQueueDashMap- atomics
- CAS peak memory tracking
-
article-unsafe-ffi-memory-passport.md- unsafe allocation
- FFI allocation
- memory passport
- handover/free lifecycle
- audit boundaries
-
article-arc-rc-stackowner.mdArc/Rcshared ownershipStackOwnerstack_ptrheap_ptr- clone/share relation inference
-
article-async-task-memory-attribution.md- async task context
AsyncTrackerspawn_tracked- task-level memory attribution
- zombie task candidates
-
article-ownership-graph-relation-inference.md- relation graph
- ownership graph
- owner/slice/clone/container/shared detectors
- confidence boundaries
-
article-architecture-facade-pipeline.mdMemScopefacade- capture engine
- event store
- snapshot engine
- render engine
-
article-export-dashboard-pipeline.md- JSON export
- dashboard rendering
- memory passports
- async reports
- ownership graph export
-
article-benchmark-deep-dive.md- benchmark coverage
- raw benchmark numbers
- regressions
- limitations of the benchmark suite
Editorial Principle
Each article should preserve three distinctions:
- Runtime facts: data captured directly from allocation events or explicit API calls.
- Explicit metadata: variable names, source locations, task IDs,
TrackKind, and passports. - Inference: ownership, containment, clone, borrow, move, leak, or cycle relationships derived during analysis.
This distinction is central to presenting memscope-rs honestly.
Read other posts →