package memtrace

  1. Overview
  2. Docs
val trace_if_requested : ?context:string -> ?sampling_rate:float -> unit -> unit

If the MEMTRACE environment variable is set, begin tracing to the file it specifies, and continue tracing until the process exits.

The context is an arbitrary string, which is logged in the trace. It may be useful to identify trace files.

The sampling_rate is the proportion of allocated words that should be sampled. Values larger than about 1e-4 will have some performance impact. The sampling rate can also be specified with the MEMTRACE_RATE environment variable. If both means are used, the env var takes precedence.

May raise Unix.Unix_error if the specified file cannot be opened, or Invalid_argument if the MEMTRACE_RATE parameter is ill-formed.

type tracer

Tracing can also be manually started and stopped.

val start_tracing : context:string option -> sampling_rate:float -> filename:string -> tracer

Manually start tracing

val stop_tracing : tracer -> unit

Manually stop tracing

val default_sampling_rate : float
module Trace : sig ... end

Use the Trace module to read and write trace files

module Memprof_tracer : sig ... end

Use Memprof_tracer in conjunction with Trace.Writer for more manual control over trace collection

module External : sig ... end

Use External to track non-GC-heap allocations in a Memtrace trace

module Geometric_sampler : sig ... end

(For testing)