PageRenderTime 4ms CodeModel.GetById 1ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/IronPython_Main/Runtime/Tests/LinqDlrTests/testenv/perl/eg/core/scan/scan_messages

#
Perl | 222 lines | 215 code | 3 blank | 4 comment | 4 complexity | 939e05a35e0fb62902f623e935f673e5 MD5 | raw file
  1#!/usr/bin/perl -P
  2
  3# $RCSfile: scan_messages,v $$Revision: 4.1 $$Date: 92/08/07 17:20:37 $
  4
  5# This prints out extraordinary console messages.  You'll need to customize.
  6
  7chdir('/usr/adm/private/memories') || die "Can't cd to memories: $!\n";
  8
  9$maxpos = `cat oldmsgs 2>&1`;
 10
 11#if defined(mc300) || defined(mc500) || defined(mc700)
 12open(Msgs, '/dev/null') || die "scan_messages: can't open messages";
 13#else
 14open(Msgs, '/usr/adm/messages') || die "scan_messages: can't open messages";
 15#endif
 16
 17($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,
 18   $blksize,$blocks) = stat(Msgs);
 19
 20if ($size < $maxpos) {		# Did somebody truncate messages file?
 21    $maxpos = 0;
 22}
 23
 24seek(Msgs,$maxpos,0);		# Start where we left off last time.
 25
 26while (<Msgs>) {
 27    s/\[(\d+)\]/#/ && s/$1/#/g;
 28#ifdef vax
 29    $_ =~ s/[A-Z][a-z][a-z] +\w+ +[0-9:]+ +\w+ +//;
 30    next if /root@.*:/;
 31    next if /^vmunix: 4.3 BSD UNIX/;
 32    next if /^vmunix: Copyright/;
 33    next if /^vmunix: avail mem =/;
 34    next if /^vmunix: SBIA0 at /;
 35    next if /^vmunix: disk ra81 is/;
 36    next if /^vmunix: dmf. at uba/;
 37    next if /^vmunix: dmf.:.*asynch/;
 38    next if /^vmunix: ex. at uba/;
 39    next if /^vmunix: ex.: HW/;
 40    next if /^vmunix: il. at uba/;
 41    next if /^vmunix: il.: hardware/;
 42    next if /^vmunix: ra. at uba/;
 43    next if /^vmunix: ra.: media/;
 44    next if /^vmunix: real mem/;
 45    next if /^vmunix: syncing disks/;
 46    next if /^vmunix: tms/;
 47    next if /^vmunix: tmscp. at uba/;
 48    next if /^vmunix: uba. at /;
 49    next if /^vmunix: uda. at /;
 50    next if /^vmunix: uda.: unit . ONLIN/;
 51    next if /^vmunix: .*buffers containing/;
 52    next if /^syslogd: .*newslog/;
 53#endif
 54    next if /unknown service/;
 55    next if /^\.\.\.$/;
 56    if (/^[A-Z][a-z][a-z] [ 0-9][0-9] [ 0-9][0-9]:[0-9][0-9]/) {
 57	$pfx = '';
 58	next;
 59    }
 60    next if /^[ \t]*$/;
 61    next if /^[ 0-9]*done$/;
 62    if (/^A/) {
 63	next if /^Accounting [sr]/;
 64    }
 65    elsif (/^C/) {
 66	next if /^Called from/;
 67	next if /^Copyright/;
 68    }
 69    elsif (/^E/) {
 70	next if /^End traceback/;
 71	next if /^Ethernet address =/;
 72    }
 73    elsif (/^K/) {
 74	next if /^KERNEL MODE/;
 75    }
 76    elsif (/^R/) {
 77	next if /^Rebooting Unix/;
 78    }
 79    elsif (/^S/) {
 80	next if /^Sun UNIX 4\.2 Release/;
 81    }
 82    elsif (/^W/) {
 83	next if /^WARNING: clock gained/;
 84    }
 85    elsif (/^a/) {
 86	next if /^arg /;
 87	next if /^avail mem =/;
 88    }
 89    elsif (/^b/) {
 90	next if /^bwtwo[0-9] at /;
 91    }
 92    elsif (/^c/) {
 93	next if /^cgone[0-9] at /;
 94	next if /^cdp[0-9] at /;
 95	next if /^csr /;
 96    }
 97    elsif (/^d/) {
 98	next if /^dcpa: init/;
 99	next if /^done$/;
100	next if /^dts/;
101	next if /^dump i\/o error/;
102	next if /^dumping to dev/;
103	next if /^dump succeeded/;
104	$pfx = '*' if /^dev = /;
105    }
106    elsif (/^e/) {
107	next if /^end \*\*/;
108	next if /^error in copy/;
109    }
110    elsif (/^f/) {
111	next if /^found /;
112    }
113    elsif (/^i/) {
114	next if /^ib[0-9] at /;
115	next if /^ie[0-9] at /;
116    }
117    elsif (/^l/) {
118	next if /^le[0-9] at /;
119    }
120    elsif (/^m/) {
121	next if /^mem = /;
122	next if /^mt[0-9] at /;
123	next if /^mti[0-9] at /;
124	$pfx = '*' if /^mode = /;
125    }
126    elsif (/^n/) {
127	next if /^not found /;
128    }
129    elsif (/^p/) {
130	next if /^page map /;
131	next if /^pi[0-9] at /;
132	$pfx = '*' if /^panic/;
133    }
134    elsif (/^q/) {
135	next if /^qqq /;
136    }
137    elsif (/^r/) {
138	next if /^read  /;
139	next if /^revarp: Requesting/;
140	next if /^root [od]/;
141    }
142    elsif (/^s/) {
143	next if /^sc[0-9] at /;
144	next if /^sd[0-9] at /;
145	next if /^sd[0-9]: </;
146	next if /^si[0-9] at /;
147	next if /^si_getstatus/;
148	next if /^sk[0-9] at /;
149	next if /^skioctl/;
150	next if /^skopen/;
151	next if /^skprobe/;
152	next if /^skread/;
153	next if /^skwrite/;
154	next if /^sky[0-9] at /;
155	next if /^st[0-9] at /;
156	next if /^st0:.*load/;
157	next if /^stat1 = /;
158	next if /^syncing disks/;
159	next if /^syslogd: going down on signal 15/;
160    }
161    elsif (/^t/) {
162	next if /^timeout [0-9]/;
163	next if /^tm[0-9] at /;
164	next if /^tod[0-9] at /;
165	next if /^tv [0-9]/;
166	$pfx = '*' if /^trap address/;
167    }
168    elsif (/^u/) {
169	next if /^unit nsk/;
170	next if /^use one of/;
171	$pfx = '' if /^using/;
172	next if /^using [0-9]+ buffers/;
173    }
174    elsif (/^x/) {
175	next if /^xy[0-9] at /;
176	next if /^write [0-9]/;
177	next if /^xy[0-9]: </;
178	next if /^xyc[0-9] at /;
179    }
180    elsif (/^y/) {
181	next if /^yyy [0-9]/;
182    }
183    elsif (/^z/) {
184	next if /^zs[0-9] at /;
185    }
186    $pfx = '*' if /^[a-z]+:$/;
187    s/pid [0-9]+: //;
188    if (/last message repeated ([0-9]+) time/) {
189	$seen{$last} += $1;
190	next;
191    }
192    s/^/$pfx/ if $pfx;
193    unless ($seen{$_}++) {
194	push(@seen,$_);
195    }
196    $last = $_;
197}
198$max = tell(Msgs);
199
200open(tmp,'|sort >oldmsgs.tmp') || die "Can't create tmp file: $!\n";
201while ($_ = pop(@seen)) {
202    print tmp $_;
203}
204close(tmp);
205open(tmp,'oldmsgs.tmp') || die "Can't reopen tmp file: $!\n";
206while (<tmp>) {
207    if (/^nd:/) {
208	next if $seen{$_} < 20;
209    }
210    if (/NFS/) {
211	next if $seen{$_} < 20;
212    }
213    if (/no carrier/) {
214	next if $seen{$_} < 20;
215    }
216    if (/silo overflow/) {
217	next if $seen{$_} < 20;
218    }
219    print $seen{$_},":\t",$_;
220}
221
222print `rm -f oldmsgs.tmp 2>&1; echo $max > oldmsgs 2>&1`;