2 releases

Uses old Rust 2015

0.1.1 Jul 27, 2019
0.1.0 Jul 25, 2019

#539 in Memory management

30 downloads per month

MIT license

140 lines

tralloc: tracing allocator for Rust

This project allows you to log all the allocations to stderr, stdout or a file.

To use it, register the global allocator and activate it:


extern crate tralloc;

static GLOBAL: tralloc::Allocator = tralloc::Allocator{};

fn main() {

  let s = String::from("Hello world!");

  let mut v = Vec::new();

The following will be printed:

00029801ACDA259B A 00007FB780500000 000000000000000C
00029801ACDB7EFB A 00007FB780500010 0000000000000010
00029801ACDBAAC1 D 00007FB780500010 0000000000000010
00029801ACDBCD09 D 00007FB780500000 000000000000000C


  • time (monotonic, so not linked to any timezone)
  • A for allocation, D for deallocation
  • memory address
  • size

You can use the activate and deactivate methods to start and stop collection at any time.


This repository is based on tracing_allocator. It was forked because of breaking changes in Rust internals and lack of communication from the original author.


~15K SLoC