• 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
benchmarks Loading commit data...
build Loading commit data...
docs Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...