The heap profiling service provides:
* Storage for recording metadata about heap allocations and deallocations,
for any number of clients.
* A lightweight, synchronous API for clients to send metadata about heap
allocations and deallocations.
There are two main entities:
* Heap Profiling Clients send heap allocation data to the Heap Profiling
Service. Clients require no special privileges. There should be at most 1
Client per process, since heap hooks are instantiated on a per-process
basis.
* The Heap Profiling Service runs in an unprivileged, sandboxed process. It's
sole purpose is to record allocations and serve them in heap dumps.
Heap dumps are emitted in traces with the "memory-infra" category enabled. This
is coordinated by the (memory_instrumentation
service)[https://cs.chromium.org/chromium/src/services/resource_coordinator/public/mojom/memory_instrumentation/memory_instrumentation.mojom].
See the HeapProfiler and HeapProfilerHelper interfaces.