diff options
author | jar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-09 16:53:49 +0000 |
---|---|---|
committer | jar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-09 16:53:49 +0000 |
commit | 470b9898e42474e8780f52c86c28f9fd6febc8e9 (patch) | |
tree | b539f7e27e2f27b3626fe120959dd1f47ce0042e /tools/memory_watcher/scripts | |
parent | 7dd823488140e63f819a9c5e4392dd89623b8e2f (diff) | |
download | chromium_src-470b9898e42474e8780f52c86c28f9fd6febc8e9.zip chromium_src-470b9898e42474e8780f52c86c28f9fd6febc8e9.tar.gz chromium_src-470b9898e42474e8780f52c86c28f9fd6febc8e9.tar.bz2 |
Update summarizing script for memory dump results.
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
Diffstat (limited to 'tools/memory_watcher/scripts')
-rw-r--r-- | tools/memory_watcher/scripts/summary.pl | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/tools/memory_watcher/scripts/summary.pl b/tools/memory_watcher/scripts/summary.pl index 257e5a3..aca4e0d 100644 --- a/tools/memory_watcher/scripts/summary.pl +++ b/tools/memory_watcher/scripts/summary.pl @@ -33,10 +33,10 @@ sub process_stdin() { if ($loc =~ m/v8::internal::Snapshot::Deserialize/) { $location_blame = "v8 Snapshot Deserialize"; + } elsif ($loc =~ m/RenderStyle::create/) { + $location_blame = "RenderStyle::create"; } elsif ($loc =~ m/v8::internal::OldSpace::SlowAllocateRaw/) { $location_blame = "v8 OldSpace"; - } elsif ($loc =~ m/v8/) { - $location_blame = "v8"; } elsif ($loc =~ m/sqlite/) { $location_blame = "sqlite"; } elsif ($loc =~ m/ TransportDIB::Map/) { @@ -115,15 +115,15 @@ sub process_stdin() { $location_blame = "history publisher"; } else { $location_blame = "unknown"; -# print "$location_blame: ($bytes) $loc\n"; } # Surface large outliers in an "interesting" group. - # When questioned about a specific group listed above, we - # can just enter its name here, and get details. + my $interesting_group = "unknown"; + my $interesting_size = 10000000; # Make this smaller as needed. # TODO(jar): Add this as a pair of shell arguments. - if ($bytes > 10000000 && $location_blame eq "unknown") { - $location_blame = "\n" . $loc; + if ($bytes > $interesting_size && $location_blame eq $interesting_group) { + # Create a special group for the exact stack that contributed so much. + $location_blame = $loc; } $total_bytes += $bytes; @@ -135,7 +135,7 @@ sub process_stdin() { my @keys = sort { $leaks{$b} <=> $leaks{$a} }keys %leaks; for ($i=0; $i<@keys; $i++) { my $key = @keys[$i]; - printf "%11s\t%3.2f%%\t%s\n", comma_print($leaks{$key}), (100* $leaks{$key} / $total_bytes), $key; + printf "%11s\t(%3.2f%%)\t%s\n", comma_print($leaks{$key}), (100* $leaks{$key} / $total_bytes), $key; $sum += $leaks{$key}; } printf("TOTAL: %s\n", comma_print($sum)); |