• 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
..
blink_tests Loading commit data...
cfi Loading commit data...
gcmole Loading commit data...
generate_shim_headers Loading commit data...
gyp Loading commit data...
luci-go Loading commit data...
ninja Loading commit data...
oom_dump Loading commit data...
perf_tests Loading commit data...
profviz Loading commit data...
release Loading commit data...
sanitizers Loading commit data...
sodium Loading commit data...
testrunner Loading commit data...
unittests Loading commit data...
v8.xcodeproj Loading commit data...
vim Loading commit data...
visual_studio Loading commit data...
DEPS Loading commit data...
OWNERS Loading commit data...
SourceMap.js Loading commit data...
android-build.sh Loading commit data...
android-ll-prof.sh Loading commit data...
android-run.py Loading commit data...
android-sync.sh Loading commit data...
bash-completion.sh Loading commit data...
check-inline-includes.sh Loading commit data...
check-static-initializers.gyp Loading commit data...
check-static-initializers.isolate Loading commit data...
check-static-initializers.sh Loading commit data...
check-unused-bailouts.sh Loading commit data...
codemap.js Loading commit data...
compare-table-gen.js Loading commit data...
concatenate-files.py Loading commit data...
consarray.js Loading commit data...
cpu.sh Loading commit data...
cross_build_gcc.sh Loading commit data...
csvparser.js Loading commit data...
detect-builtins.js Loading commit data...
disasm.py Loading commit data...
draw_instruction_graph.sh Loading commit data...
eval_gc_nvp.py Loading commit data...
eval_gc_time.sh Loading commit data...
external-reference-check.py Loading commit data...
find-commit-for-patch.py Loading commit data...
find_depot_tools.py Loading commit data...
freebsd-tick-processor Loading commit data...
fuzz-harness.sh Loading commit data...
gc-nvp-to-csv.py Loading commit data...
gc-nvp-trace-processor.py Loading commit data...
gc_nvp_common.py Loading commit data...
gdb-v8-support.py Loading commit data...
gdbinit Loading commit data...
gen-postmortem-metadata.py Loading commit data...
generate-builtins-tests.py Loading commit data...
generate-ten-powers.scm Loading commit data...
grokdump.py Loading commit data...
isolate_driver.py Loading commit data...
js2c.py Loading commit data...
jsmin.py Loading commit data...
linux-tick-processor Loading commit data...
ll_prof.py Loading commit data...
logreader.js Loading commit data...
mac-nm Loading commit data...
mac-tick-processor Loading commit data...
mingw-generate-makefiles.sh Loading commit data...
nacl-run.py Loading commit data...
parser-shell.cc Loading commit data...
parser-shell.gyp Loading commit data...
perf-to-html.py Loading commit data...
plot-timer-events Loading commit data...
presubmit.py Loading commit data...
process-heap-prof.py Loading commit data...
profile.js Loading commit data...
profile_view.js Loading commit data...
run-deopt-fuzzer.py Loading commit data...
run-llprof.sh Loading commit data...
run-tests.py Loading commit data...
run-valgrind.py Loading commit data...
run.py Loading commit data...
run_perf.py Loading commit data...
shell-utils.h Loading commit data...
splaytree.js Loading commit data...
stats-viewer.py Loading commit data...
test-server.py Loading commit data...
tick-processor.html Loading commit data...
tickprocessor-driver.js Loading commit data...
tickprocessor.js Loading commit data...
trace-maps-processor.py Loading commit data...
try_perf.py Loading commit data...
v8-info.sh Loading commit data...
v8-rolls.sh Loading commit data...
v8heapconst.py Loading commit data...
v8heapconst.py.tmpl Loading commit data...
verify_source_deps.py Loading commit data...
whitespace.txt Loading commit data...
windows-tick-processor.bat Loading commit data...