Heaptrack is a heap profiler for Linux. It aims to be faster than `massif` from the Valgrind suite, while providing more data to aid in improving the heap memory performance of native applications written in e.g. C, C++.
**Features:**
- automatically track heap memory allocations through `malloc` and friends
- API to manually track allocations from custom pool allocators
- fine-grained time resolution of tracked data (down to 10ms)
The tracked data gives developers insight into:
- memory consumption over time
- peak memory consumption
- memory leakds
- number of memory allocations
- temporary memory allocations
Heaptrack also comes with two analyzers built-in. One, `heaptrack_print` is a simple ASCII GUI to interpret the data with minimal dependencies. The other, `heaptrack_gui` is a sophisticated GUI with more advanced analysis features:
- bottom-up call-graph view
- top-down call-graph view
- caller-callee view
- flamegraph view
- time charts
**Contribute:**
You can contribute code by submitting patches via KDE's phabricator: https://phabricator.kde.org/differential/diff/create/ (use `heaptrack` as the target repository).