diff -r 4a4ca5a019bb -r a600c1a596f7 williamr/scan_epocwind.pl --- /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"; +