long@ittvax.UUCP (12/21/84)
MON is a great help in system tuning. Just added 2 commands :
'l' - screendump to line printer
's' - appends screendump to file 'screendump'
Use 'patch' on this file.
H. Morrow Long
ITT-ATC Systems Center, Shelton, CT
path = {allegra bunker dcdvaxb dcdwest ucbvax!decvax duke eosp1 ittral
lbl-csam mit-eddie psuvax1 purdue qubix qumix research sii
tmmnet twg uf-cgrl wxlvax yale}!ittvax!long
diff -c src5/Makefile src/Makefile
*** src5/Makefile Thu Dec 20 19:50:19 1984
--- src/Makefile Thu Dec 20 20:20:04 1984
***************
*** 3,9
#
# Beware dependencies on mon.h are not properly stated.
#
! OBJS = mon.o io.o vm.o netif.o display.o readnames.o user_count.o
all: mon
--- 3,10 -----
#
# Beware dependencies on mon.h are not properly stated.
#
! OBJS = mon.o io.o vm.o netif.o display.o readnames.o user_count.o \
! dumpit.o
all: mon
***************
*** 14,17
rm -f core *.o mon a.out
print:
! qpr mon.h mon.c io.c vm.c netif.c readnames.c display.c user_count.c
--- 15,19 -----
rm -f core *.o mon a.out
print:
! qpr mon.h mon.c io.c vm.c netif.c readnames.c display.c user_count.c \
! dumpit.c
Only in src: dumpit.c
diff -c src5/mon.8b src/mon.8b
*** src5/mon.8b Thu Dec 20 19:49:55 1984
--- src/mon.8b Thu Dec 20 20:57:43 1984
***************
*** 117,122
.s1
Commands:
^L repaints the screen.
q exits the program.
Any other character will cause the screen to be updated (thus
you can for example run "mon 100" and type single characters
--- 117,124 -----
.s1
Commands:
^L repaints the screen.
+ l dumps a copy of the screen to the lineprinter
+ s saves (appends) a copy of the screen to file "screendump"
q exits the program.
Any other character will cause the screen to be updated (thus
you can for example run "mon 100" and type single characters
diff -c src5/mon.c src/mon.c
*** src5/mon.c Thu Dec 20 19:50:26 1984
--- src/mon.c Thu Dec 20 20:40:08 1984
***************
*** 131,140
i = select(2, &tin, (int *)0, (int *)0, &tintv);
if (i && tin) {
i = getchar();
! if (i == 12)
! dispinit();
! else if (i == 'q')
! done();
}
}
}
--- 131,162 -----
i = select(2, &tin, (int *)0, (int *)0, &tintv);
if (i && tin) {
i = getchar();
! switch(i)
! {
! FILE *Outfile,*popen();
!
! case 12: /* ctl-L */
! dispinit();
! break;
! case 'l':
! Outfile = popen("lpr -Pip2","w");
! if (Outfile > 0 )
! {
! dumpit(Outfile);
! fclose(Outfile);
! }
! break;
! case 's':
! Outfile = fopen("screendump","a");
! if (Outfile > 0 )
! {
! dumpit(Outfile);
! fclose(Outfile);
! }
! break;
! case 'q':
! done();
! }
}
}
}
Only in src: screendumplong@ittvax.UUCP (12/21/84)
Use '/bin/sh' on this file.
H. Morrow Long
ITT-ATC Systems Center, Shelton, CT
path = {allegra bunker dcdvaxb dcdwest ucbvax!decvax duke eosp1 ittral
lbl-csam mit-eddie psuvax1 purdue qubix qumix research sii
tmmnet twg uf-cgrl wxlvax yale}!ittvax!long
: --------------- cut here -----------------------------
: This is a shar archive. Extract with sh, not csh.
: The rest of this file will extract:
: dumpit.c screendump
mkdir src
cd src
echo extracting - dumpit.c
sed 's/^X//' > dumpit.c << '/*EOF'
X#include <stdio.h>
X#include <curses.h>
X
X/*
X#define winch(win) (win->_y[win->_cury][win->_curx] & 0177)
X */
X
Xint dumpit(Outfile)
XFILE *Outfile;
X{
Xint x,y;
Xchar buffer[82];
X
X for (y = 0; y < LINES - 1; y++)
X {
X strncpy(buffer,curscr->_y[y],80);
X buffer[80] = '\n';
X buffer[81] = '\0';
X fputs(buffer,Outfile);
X }
X}
/*EOF
echo extracting - screendump
sed 's/^X//' > screendump << '/*EOF'
Xittvax 0.00 2.32 2.29 2.18 Thu Dec 20 20:35:33 1984 3 users
X
XProcs: r d p s sl Mem: real ract virt vact free Disks: Kbps tps msps
X 2 0 0 0 6 1625 879 5124 1164 1101 hp0 0 0 0.0
X hp1 0 0 0.0
XCpu: ints scall csw Char: in out hp2 0 0 0.0
X 36 301 25 228 299 hp3 0 0 0.0
X --------------------
XTime: user nice sys idle Total: 0 0
X 27 38 35 0
X
XPaging: re at pin pout oprs fr def sr
X 0 0 0 0 0 0 0 0
X
X nxf xf nzf zf nrf rf prf swi swo
X 0 1 7 3 0 0 0 0 0
X
XName Ipkts Ierrs Opkts Oerrs Collis Oqueue
Xlo0 0 0 0 0 0 0
X
X
X
X
Xittvax 0.00 2.30 2.28 2.18 Thu Dec 20 20:35:37 1984 3 users
X
XProcs: r d p s sl Mem: real ract virt vact free Disks: Kbps tps msps
X 2 0 0 0 6 1627 881 5132 1172 1089 hp0 0 0 0.0
X hp1 0 0 0.0
XCpu: ints scall csw Char: in out hp2 0 0 0.0
X 30 276 22 231 296 hp3 0 0 0.0
X --------------------
XTime: user nice sys idle Total: 0 0
X 23 41 36 0
X
XPaging: re at pin pout oprs fr def sr
X 0 0 0 0 0 0 0 0
X
X nxf xf nzf zf nrf rf prf swi swo
X 0 0 3 0 0 0 0 0 0
X
XName Ipkts Ierrs Opkts Oerrs Collis Oqueue
Xlo0 0 0 0 0 0 0
X
X
X
X
Xittvax 0.00 2.27 2.28 2.18 Thu Dec 20 20:35:42 1984 3 users
X
XProcs: r d p s sl Mem: real ract virt vact free Disks: Kbps tps msps
X 2 0 0 0 5 1627 878 5132 1150 1084 hp0 0 0 0.0
X hp1 0 0 0.0
XCpu: ints scall csw Char: in out hp2 0 0 0.0
X 34 269 21 226 310 hp3 0 0 0.0
X --------------------
XTime: user nice sys idle Total: 0 0
X 31 38 32 0
X
XPaging: re at pin pout oprs fr def sr
X 0 0 0 0 0 0 0 0
X
X nxf xf nzf zf nrf rf prf swi swo
X 0 0 0 0 0 0 0 0 0
X
XName Ipkts Ierrs Opkts Oerrs Collis Oqueue
Xlo0 0 0 0 0 0 0
X
X
X
X
/*EOF
cd ..
exit 0