• ofrobots's avatar
    [profiler] Implement POC Sampling Heap Profiler · e5a99478
    ofrobots authored
    This implements a proof-of-concept sampling based heap profiler inspired by
    tcmalloc's heap profiler [1] and Go's mprof/memprofile [2].
    
    The basic idea is the sample allocations using a randomized Poisson process. At
    any point in time we can cheaply request the set of live sample objects that
    should be a representative sample of heap. Samples include stack-traces from the
    allocation sites, making this an effective tool for memory leak debugging.
    
    Unlike AllocationTracking, this is intended to be cheap and usable online in
    production.
    
    The proof-of-concept is only sampling new-space allocations at this point.
    Support for sampling paged space and native allocations is anticipated in the
    future.
    
    [1] http://goog-perftools.sourceforge.net/doc/heap_profiler.html
    [2] http://blog.golang.org/profiling-go-programs
    
    Review URL: https://codereview.chromium.org/1555553002
    
    Cr-Commit-Position: refs/heads/master@{#33448}
    e5a99478
Name
Last commit
Last update
..
OWNERS Loading commit data...
array-buffer-tracker.cc Loading commit data...
array-buffer-tracker.h Loading commit data...
gc-idle-time-handler.cc Loading commit data...
gc-idle-time-handler.h Loading commit data...
gc-tracer.cc Loading commit data...
gc-tracer.h Loading commit data...
heap-inl.h Loading commit data...
heap.cc Loading commit data...
heap.h Loading commit data...
incremental-marking-inl.h Loading commit data...
incremental-marking-job.cc Loading commit data...
incremental-marking-job.h Loading commit data...
incremental-marking.cc Loading commit data...
incremental-marking.h Loading commit data...
mark-compact-inl.h Loading commit data...
mark-compact.cc Loading commit data...
mark-compact.h Loading commit data...
memory-reducer.cc Loading commit data...
memory-reducer.h Loading commit data...
object-stats.cc Loading commit data...
object-stats.h Loading commit data...
objects-visiting-inl.h Loading commit data...
objects-visiting.cc Loading commit data...
objects-visiting.h Loading commit data...
scavenge-job.cc Loading commit data...
scavenge-job.h Loading commit data...
scavenger-inl.h Loading commit data...
scavenger.cc Loading commit data...
scavenger.h Loading commit data...
slots-buffer.cc Loading commit data...
slots-buffer.h Loading commit data...
spaces-inl.h Loading commit data...
spaces.cc Loading commit data...
spaces.h Loading commit data...
store-buffer-inl.h Loading commit data...
store-buffer.cc Loading commit data...
store-buffer.h Loading commit data...