summaryrefslogtreecommitdiffstats
path: root/tools/memory_watcher
Commit message (Collapse)AuthorAgeFilesLines
* Fix memory_watcher dependenciesgregoryd@google.com2009-12-111-1/+1
| | | | | | | | | | The use of * in the dependencies makes memory_watcher depend on all targets in app.gyp, both 32-bit and 64-bit. Clearly, 32-bit targets should not depend on 64-bit targets. BUG=none TEST=build memory_watcher on Windows Review URL: http://codereview.chromium.org/486024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34365 0039d316-1c4b-4281-b951-d872f2087c98
* Fix typo in recursion detection logicjar@chromium.org2009-11-251-1/+1
| | | | | | | | | | | | | | | | | | When releasing the lock, I incorrectly set the thread owner for the lock to the current thread, rather than resetting it to zero. The result is that some number of stacks were not being recorded into the stack map (because the recursion blocking logic aborted the attempt to gather the lock). If I ever do a recursive acquisition (i.e., my logic is faulty), then an assertion will fire in the Acquire() for the lock. This in turn guarantees that when I Release() the lock, it was not a (windows allowed) recursive acquisition of the lock, and hence the thread owning the lock should indeed be zeroed. r=mbelshe Review URL: http://codereview.chromium.org/443009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33140 0039d316-1c4b-4281-b951-d872f2087c98
* Update summarizing script for memory dump results.jar@chromium.org2009-11-091-8/+8
| | | | | | | | | | | v8 proved to be a very coarse bucket, and was too high up. I've added several buckets, and put in a section for drilling down on a specific bucket (contributions over a specific value). r=mbelshe Review URL: http://codereview.chromium.org/376003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31435 0039d316-1c4b-4281-b951-d872f2087c98
* Support running memory watch under vista, plus other tweaksjar@chromium.org2009-11-067-107/+248
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This version of memory_watcher can run under Vista, even though the recursive calls that it handles are appearing often enough that there is a performance penalty. With this landed, it may be possible for other folks to run the tool, and I can work on improving its performance. This CL also resolves the problem with hanging processes. Although memory reporting can only be done once, and it leaves a pile of memory "hanging around," the browser can be cleanly exited. Tweaks include outputing the aggregate stacks such that the largest stacks appear at the start of the output file. This version avoids ongoing aggregation of stats in favor of only doing the aggregation at dump-time. This probably enhances performance at run-time, although it is hidden (on Vista) by the recursive calling. This also simplifies the tracking code a fair amount. There is some evidence that a small number of duplicate calls are being made to "track" the same memory region, without an intervening free (i.e., call to "untrack"). The code to better diagnose this is currently in place, but ifdef'ed, as it is only useful under a debugger. Exercise of this code (turning a stack-frame list into a human readable stack trace string) currently causes some corruption shortly after it triggers, so I can't leave it on full time. r=mbelshe Review URL: http://codereview.chromium.org/366031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31299 0039d316-1c4b-4281-b951-d872f2087c98
* Tweak perl scripts in memwatcher tool area.jar@chromium.org2009-10-313-42/+84
| | | | | | | | | | | | | | | | | The results are now sorted before being output, so there is no need to pass the results through a sort filter. Byte counts are now printed with comma separators between groups of 3 digits, so that 1234567 is now output as 1,234,567. The summary.pl now has a number of more precise matches to better give a quick estimate of blame for each allocation stack. r=mbelshe Review URL: http://codereview.chromium.org/348034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30673 0039d316-1c4b-4281-b951-d872f2087c98
* Improve memwatch tool.jar@chromium.org2009-10-312-28/+24
| | | | | | | | | | | | | | I removed a leak of "stack" objects, and made them a little more lightweight by removing an unused member. This change is only part of an option for chrome, that is not currently linked in during any tests. It can only currently be used under XP, so build-bot tests are not currently appropriate. r=mbelshe Review URL: http://codereview.chromium.org/345033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30672 0039d316-1c4b-4281-b951-d872f2087c98
* Re-try r29078: Remove some deprecated file_util wstring functions.estade@chromium.org2009-10-151-1/+2
| | | | | | | | | | | | | With the previous patch, the try bots failed with mysterious messages, so I ignored them, patched it into my windows box and tested it there manually, and found no problems. As it turns out, the try failures were real :(. But nsylvain and I found the problem: the behavior of file_util::GetDirectoryFromPath() differs from DirName() when the path is empty (officially, GetDirectoryFromPath is not supposed to support non-absolute paths, but that is not enforced). Here is a green win try result: http://build.chromium.org/buildbot/try-server/builders/win/builds/3705 mac: http://build.chromium.org/buildbot/try-server/builders/mac/builds/3491 linux: http://build.chromium.org/buildbot/try-server/builders/linux/builds/3466 I also applied this patch locally in Windows to test that it doesn't break the chrome frame compile or tests, since that's not covered by the trybots yet. Review URL: http://codereview.chromium.org/271099 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29094 0039d316-1c4b-4281-b951-d872f2087c98
* Revert wstring patch (r29078 and follow up commits). It is causing failures ↵estade@chromium.org2009-10-151-2/+1
| | | | | | | | | | on the buildbots. TBR=nsylvain Review URL: http://codereview.chromium.org/280004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29085 0039d316-1c4b-4281-b951-d872f2087c98
* Remove some deprecated file_util wstring functions.estade@chromium.org2009-10-151-1/+2
| | | | | | | | | | | death to the wstring TEST=trybots BUG=none Review URL: http://codereview.chromium.org/276016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29078 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the base_gfx project since it no longer has an external dependencies.brettw@chromium.org2009-10-141-1/+0
| | | | | | | | | | Replace it with base_i18n which encapsulates all ICU dependencies. BUG=none TEST=none Review URL: http://codereview.chromium.org/267048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29036 0039d316-1c4b-4281-b951-d872f2087c98
* Move native_widget_types and gtk_native_view_id_manager from base/gfx tobrettw@chromium.org2009-10-113-3/+7
| | | | | | | | | | | | app/gfx in preparation for removing the base_gfx project. This also moves base/window_impl.cc to app/win/window_impl because this file shouldn't be in base. TEST=none BUG=none Review URL: http://codereview.chromium.org/273017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28691 0039d316-1c4b-4281-b951-d872f2087c98
* Add comments setting emacs and vim tab width and expansion variables.sgk@google.com2009-10-061-0/+6
| | | | | | | | BUG=none TEST=successful builds Review URL: http://codereview.chromium.org/256059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28089 0039d316-1c4b-4281-b951-d872f2087c98
* Force inclusion of build/common.gypi for all chromium gyp files.yaar@chromium.org2009-09-151-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Why: Simpler build code. If everybody includes it, it should be included automatically. Why now: The webkit chromium builds need it be specified, since can't default to build/common.gypi. What was done: 1. build/common.gypi's contents were moved to a new file build/gyp_chromium.gypi 2. tools/gyp/gyp_chromium was moved to build/gyp_chromium and made to automatically include build/gyp_chromium.gypi. 3. lots of gyp files were fixed to not refer to build/common.gypi any more. 4. o3d which also builds independently of chrome, was fixed to have a gyp_o3d that includes gyp_chromium.gypi too. 5. build/common.gypi was left empty, because there are some external projects that still refer to it. Things that are left to do after this patch is in: 1. The following external files (in other repositories) need to stop include common.gypi ./third_party/hunspell/hunspell.gyp ./third_party/icu/icu.gyp ./v8/tools/gyp/v8.gyp 2. Once nobody refers to common.gypi anymore, delete common.gypi -or- Delete gyp_chromium.gypi and move its content back to common.gypi Tested on mac, win and linux. On win, got a few unit tests errors on chrome bookmarks, which should not be related. I'm running again with clobber to verify. Review URL: http://codereview.chromium.org/206006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26302 0039d316-1c4b-4281-b951-d872f2087c98
* Use base::WindowImpl instead of CWindowImpl to remove a dependency on ATL.jhawkins@chromium.org2009-09-102-15/+18
| | | | | | | | BUG=5027 TEST=none Review URL: http://codereview.chromium.org/196081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25925 0039d316-1c4b-4281-b951-d872f2087c98
* Remove checked-in memory_watcher.vcproj.sgk@google.com2009-05-291-203/+0
| | | | | | | | | svn:ignore gyp-generated memory_watcher.{sln,vcproj}. BUG=none TEST=none Review URL: http://codereview.chromium.org/118026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17232 0039d316-1c4b-4281-b951-d872f2087c98
* Set svn:eol-style LF on all gyp files.sgk@google.com2009-05-281-41/+41
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/113957 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17090 0039d316-1c4b-4281-b951-d872f2087c98
* Add .dll (and a .exe) files to the gyp build:sgk@google.com2009-05-271-0/+41
| | | | | | | | | | | | | | | | * activex_test_control.dll * browser_tests.dll * browser_tests.exe * memory_watcher.dll * rlz.dll * security_tests.dll * test_chrome_plugin.dll * themes/default.dll BUG=none TEST=none Review URL: http://codereview.chromium.org/113915 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17023 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unneeded uses of logging.h in header files.thestig@chromium.org2009-03-122-2/+0
| | | | | | Review URL: http://codereview.chromium.org/43148 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11590 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGEdeanm@chromium.org2009-03-118-9/+0
| | | | | | | | | Normalize end of file newlines in build/ media/ printing/ testing/ and tools/. All files end in a single newline. Review URL: http://codereview.chromium.org/43082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11449 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes CRLF and trailing white spaces.maruel@chromium.org2009-03-0510-130/+130
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10982 0039d316-1c4b-4281-b951-d872f2087c98
* Update build files to use PSDK 6.1 (platformsdk_win2008_6_1). This is ↵jungshik@google.com2008-12-311-1/+1
| | | | | | | | | | | | | | | | | necessary for dynamic font support. This is a re-run of http://codereview.chromium.org/14908/show (except that chrome_dll.deps file which needs to be updated along with the actual code change) This will be followed by http://codereview.chromium.org/16494 (actual webkit code change) and changes in webkit/build BUG=1303 Review URL: http://codereview.chromium.org/16496 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7520 0039d316-1c4b-4281-b951-d872f2087c98
* Revert sdk 6.1 upgrade changes.jungshik@google.com2008-12-301-1/+1
| | | | | | | | TBR=nsylvain Review URL: http://codereview.chromium.org/17021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7501 0039d316-1c4b-4281-b951-d872f2087c98
* Change build-related files to use Windows SDK 6.1 instead of Windows SDK 6.0.jungshik@google.com2008-12-301-1/+1
| | | | | | | | | | | SDK upgrade is necessary to support dynamic/webfont because SDK 6.0 does not have t2embapi.h and t2embed.lib. SDK 6.1 is compatible with WIn XP and VS 2005 or later. FYI: http://codereview.chromium.org/14084/show is the CL for adding web/dynamic font support. Review URL: http://codereview.chromium.org/14908 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7500 0039d316-1c4b-4281-b951-d872f2087c98
* Switch back svn:eol-style=native for .sln, .vcproj and .vsprops files.maruel@chromium.org2008-12-161-203/+203
| | | | | | | Patch fails otherwise on non-Windows platforms. Review URL: http://codereview.chromium.org/14478 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7093 0039d316-1c4b-4281-b951-d872f2087c98
* Changed svn:eol-style of all .sln and .vcproj files to CRLFscherkus@chromium.org2008-12-041-203/+203
| | | | | | Review URL: http://codereview.chromium.org/13133 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6372 0039d316-1c4b-4281-b951-d872f2087c98
* Remove use of wide characters in stats table identifiers.evanm@google.com2008-11-221-4/+4
| | | | | | | Review URL: http://codereview.chromium.org/11544 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5880 0039d316-1c4b-4281-b951-d872f2087c98
* Wow, it's been a while since we cleaned EOL.maruel@google.com2008-09-251-376/+376
| | | | | | | | | | | | Ran dos2unix on *.cc, *.h, *.py and SCons*.* Ran for /R /D %a in (*.*) do @if exist %a\.svn\. svn pset svn:eol-style LF %a\*.cc Ran for /R /D %a in (*.*) do @if exist %a\.svn\. svn pset svn:eol-style LF %a\*.h Ran for /R /D %a in (*.*) do @if exist %a\.svn\. svn pset svn:eol-style LF %a\*.py Ran for /R /D %a in (*.*) do @if exist %a\.svn\. svn pset svn:eol-style LF %a\SCons*.* git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2611 0039d316-1c4b-4281-b951-d872f2087c98
* Provide necessary constructors in StackAllocator and PrivateHookAllocator to ↵maruel@google.com2008-09-141-1/+1
| | | | | | | | | | | | | | | | | permit release mode building in VC++2008 SP1. The current allocators do not conform with the C++ spec for allocators, and unlike previous versions, VC++2008 requires conformant allocators. The reason that the allocators are not conformant is that any allocator, say, template<typename T> struct Alloc; must have a constructor of the following form: template<typename U> Alloc(const Alloc<U>& other) to allow construction of an Alloc<T> from an Alloc<U>. The constructors cannot be explicit, because they're (essentially) copy constructors, and so are not called explicitly. StackAllocator has no converting copy constructor at all, and PrivateHookAllocator's is declared explicit, preventing it from being usable. Without the StackAllocator constructor, StackVectors fail (due to the std::vector member, base\stack_container.h(216)). Patch by Peter Bright <drpizza@quiscalusmexicanus.org>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2175 0039d316-1c4b-4281-b951-d872f2087c98
* Use a more compact license header in source files.license.bot2008-08-248-589/+397
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
* Add some information for memwatcher n00bs -- would also be good to be able ↵ericroman@google.com2008-08-094-1/+88
| | | | | | to point to a wiki page. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@623 0039d316-1c4b-4281-b951-d872f2087c98
* Add mbelshe's memwatcehr scripts to the repository.ericroman@google.com2008-08-094-0/+352
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@615 0039d316-1c4b-4281-b951-d872f2087c98
* Add tools to the repository.initial.commit2008-07-2717-0/+4992
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17 0039d316-1c4b-4281-b951-d872f2087c98