r/csharp • u/hez2010 • 22h ago
Showcase I built Satori Insight, an open-source .NET heap and GC profiler with live region map
I've been working on Satori Insight, a desktop app for exploring .NET memory usage and GC behavior. Built with Avalonia and NativeAOT.
The initial idea was a defrag-style map of the managed heap, where each block represents a region. It grew into a profiler that combines continuous telemetry with deeper heap inspection.
Some of the features:
- Live heap metrics, allocation rate, CPU time, and RSS history.
- Region maps by generation, occupancy, fragmentation, or queue.
- Collection logs with memory stats, pause duration, and latency mode.
- Pause histograms with p50, p90, p95, p99, p99.9, average, minimum, and maximum.
- Timeline selection: click a time point or drag across a period to inspect its stats.
- Heap captures for exploring types, objects, references, root paths, and snapshot comparisons.
- Session recording and offline replay.
It supports standard Workstation and Server GC as well as Satori GC of course (see the name of the app).
It's now open-sourced at GitHub:
https://github.com/hez2010/SatoriInsight
You can try it out by downloading the binary for your platform from GitHub Releases.