Major changes:
- The project was rebranded from
memory-profilertobytehound - Profiling of applications using jemalloc is now fully supported (AMD64-only,
jemallocatorcrate only) - Added built-in scripting capabilities which can be used for automated analysis and report generation; those can be accessed through the
scriptsubcommand - Added a scripting console to the GUI
- Added the ability to define programmatic filters in the GUI
- Allocation graphs are now shown in the GUI when browsing through the allocations grouped by backtraces
- Improved support for tracking and analyzing reallocations
- Improved paralellization of the analyzer's internals, which should result in snappier behavior on modern multicore machines
- The cutoff point for determining allocations' lifetime is now the end of profiling for those allocations which were never deallocated
- The
squeezesubcommand was renamed tostrip - You can now use the
stripsubcommand to strip away only a subset of temporary allocations - Information about allocations culled at runtime is now emitted on a per-backtrace basis during profiling
- Fixed an issue where the shadow stack based unwinding was incompatible with Rust's ABI in certain rare cases
mmapcalls are now always gathered in order (if you have enabled their gathering)- Improved runtime backtrace deduplication which should result in smaller datafiles
- Many other miscellaneous bugfixes