Memview is a memory profiler that helps understand how your program allocates memory, and a visualizer to see how the allocations are actually laid out in memory.

It provides an embeddable component for use in a host application that needs to be profiled. The user needs to manually instrument allocations with the provided API. At runtime, the host transfers this information over the network to the Memview app, where the data is indexed and displayed.

This project was made for the Visualization Jam, so functionality is primitive and mostly proof-of-concept.

Recent Activity

Didn't have much time during the day to jam, but managed to whack in a couple UX features before 12am tonight: colored allocation blocks based on a string tag, and frame markers. &memview

Instrumented DOOM and got its Z_Malloc()/Z_Free() allocations streaming live to &memview. Added a couple UX improvements. Unfortunately due to a bug in the Windows version of Zig, callstacks are currently only available for zig modules. The linux version should work fine, though I need to finish the port tomorrow.

I don't have a lot of free time each day, so to get this project to a reasonable state of completion I needed to do some pregaming. At the beginning of the jam, Memview could read allocation messages over the network, and visualize them within a scrubbable timeline and zoomable memory view.

After a couple evenings, callstack support has been added, so you can select blocks to see their size and the allocating callstack.