diff options
author | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-11 19:24:24 +0000 |
---|---|---|
committer | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-11 19:24:24 +0000 |
commit | 01699e2ae35826dc3d16ef6c828c721144443fdd (patch) | |
tree | d9f334be31f6dadefef1b0d66cce1f225f315368 /webkit/extensions/v8/heap_profiler_extension.h | |
parent | 46d614ab071ce85f57c8099cf8157d104e7fc2fc (diff) | |
download | chromium_src-01699e2ae35826dc3d16ef6c828c721144443fdd.zip chromium_src-01699e2ae35826dc3d16ef6c828c721144443fdd.tar.gz chromium_src-01699e2ae35826dc3d16ef6c828c721144443fdd.tar.bz2 |
linux: TCMalloc-based C++ heap profiler.
Requires compiling with linux_use_tcmalloc=1.
When enabled by --heap-profiler flag in test_shell exposes
chromium.HeapProfiler object to JavaScript. The object has three
methods:
o start() -- starts profiling
o dump() -- dumps data accumulated since start() to file
named like chromium-YYYY-MM-DD-TS.heap
o stop() -- stops profiling.
Output can be analyzed by third_party/tcmalloc/tcmalloc/src/pprof.
For example:
$ third_party/tcmalloc/tcmalloc/src/pprof \
sconsbuild/Release/test_shell \
chromium-2009-11-06-1234567890.heap
See http://code.google.com/p/google-perftools/ for details on how to
use pprof.
Patch contributed by vitalyr@chromium.org. Original review at
http://codereview.chromium.org/377010/show.
TBR=vitalyr
Review URL: http://codereview.chromium.org/390015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31688 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/extensions/v8/heap_profiler_extension.h')
-rw-r--r-- | webkit/extensions/v8/heap_profiler_extension.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/webkit/extensions/v8/heap_profiler_extension.h b/webkit/extensions/v8/heap_profiler_extension.h new file mode 100644 index 0000000..8bdbf90 --- /dev/null +++ b/webkit/extensions/v8/heap_profiler_extension.h @@ -0,0 +1,23 @@ +// Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// HeapProfilerExtension is a V8 extension to expose a JS function for +// dumping native heap profiles. This should only be used for +// debugging. + +#ifndef WEBKIT_EXTENSIONS_V8_HEAP_PROFILER_EXTENSION_H_ +#define WEBKIT_EXTENSIONS_V8_HEAP_PROFILER_EXTENSION_H_ + +#include "v8/include/v8.h" + +namespace extensions_v8 { + +class HeapProfilerExtension { + public: + static v8::Extension* Get(); +}; + +} // namespace extensions_v8 + +#endif // WEBKIT_EXTENSIONS_V8_HEAP_PROFILER_EXTENSION_H_ |