--- /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";
+