summaryrefslogtreecommitdiffstats
path: root/tools/memory_watcher/scripts
diff options
context:
space:
mode:
authorjar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-09 16:53:49 +0000
committerjar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-09 16:53:49 +0000
commit470b9898e42474e8780f52c86c28f9fd6febc8e9 (patch)
treeb539f7e27e2f27b3626fe120959dd1f47ce0042e /tools/memory_watcher/scripts
parent7dd823488140e63f819a9c5e4392dd89623b8e2f (diff)
downloadchromium_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.pl16
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));