sig type allocation_source = Normal | Marshal | Custom type allocation = private { n_samples : int; size : int; source : Gc.Memprof.allocation_source; callstack : Stdlib.Printexc.raw_backtrace; } type ('minor, 'major) tracker = { alloc_minor : Gc.Memprof.allocation -> 'minor option; alloc_major : Gc.Memprof.allocation -> 'major option; promote : 'minor -> 'major option; dealloc_minor : 'minor -> unit; dealloc_major : 'major -> unit; } val null_tracker : ('minor, 'major) Gc.Memprof.tracker val start : sampling_rate:float -> ?callstack_size:int -> ('minor, 'major) Gc.Memprof.tracker -> unit val stop : unit -> unit end