williamr/scan_epocwind.pl
changeset 2 a600c1a596f7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/williamr/scan_epocwind.pl	Mon Jun 01 15:26:59 2009 +0100
@@ -0,0 +1,65 @@
+#! perl
+
+# Copyright (c) 2009 Symbian Foundation Ltd
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Symbian Foundation Ltd - initial contribution.
+# 
+# Contributors:
+#
+# Description:
+# Summarise epocwind.out to identify repetitious and uninteresting comments
+
+use strict;
+
+my %count_by_word;
+my %unique_message;
+
+my $line;
+while ($line = <>)
+  {
+  chomp $line;
+  
+  #    494.390	CTouchFeedbackImpl::SetFeedbackArea - Begin
+  my $message = substr($line, 10);  # ignore the timestamp & the tab character
+  if (!defined $unique_message{$message})
+    {
+    $unique_message{$message} = 0;
+    }
+  $unique_message{$message} ++;
+  
+  my ($junk,$count,$word) = split /\s+|:/, $line;
+  $word = $message if (!defined $word);   # no spaces in the line at all
+
+  if (!defined $count_by_word{$word})
+    {
+    $count_by_word{$word} = 0;
+    }
+  $count_by_word{$word} ++;
+  
+  }
+
+my @repeated_lines;
+foreach my $message (keys %unique_message)
+  {
+  my $count = $unique_message{$message};
+  next if ($count < 10);
+  push @repeated_lines, sprintf "%7d\t%s\n", $count, $message;
+  }
+
+print "Repeated lines\n", reverse sort @repeated_lines, "\n";
+
+my @repeated_words;
+foreach my $word (keys %count_by_word)
+  {
+  my $count = $count_by_word{$word};
+  next if ($count < 10);
+  push @repeated_words, sprintf "%7d\t%s\n", $count, $word;
+  }
+
+print "Repeated words (rest of the line may vary\n", reverse sort @repeated_words, "\n";
+