abstract LOGREPORT is comprised of two programs used to report the total time a user is logged onto the system. LOGREPORT takes advantage of the COTterminal driver (COT) in RSX11M V3.2; COT records log-ins and log-outs in the file [1,4]CONSOLE.LOG. LOGREPORT analyzes this file. WRITTEN BY WALTER I. LEVY PHONE (201) 474-3648 MARCH 1980 EXXON REASEARCH & ENGINEERING CO. CORPORATE REASEARCH LAB LINDEN, NEW JERSEY 07036 ------------------------------------------------------------------ --------------- Preparation ---------------------------- ------------------------------------------------------------------ To collect data in the first place you MUST do the following. in [1,2]STARTUP.CMD add SET /COLOG .................... To make your data more reliable do the following: VMR>SET /NOLOGON IN [1,2]STARTUP.CMD add the following lines at the end set /logon bye IN [1,2]SHUTUP.CMD AD THE FOLLOWING LINES QUE LP:/STOP SET /NOCOLOG These in startup.cmd does two things. 1) BYE causes a logout from [0,0] tt0: I call this the universal logout. It is used if data is lost i.e. when the system crashes this is used to logout all users. 2) The inhibited login's is necessary because the universal logout must be in the right location otherwise a user will be 'timeout' as soon as they log's in. typical usage: 1) Merge all files console.log files together being carefull to keep the files in order by version. The following .cmd file is a simple example .ENABLE SUBSTITUTION ;merge the files as listed 1 by 1 remember to count in octal ;if you did not do a set /nocolog then donot do the highest version. ;exit with a ^z when you merged the last file ;when you are done you will want to do a purge on all the files you merged ; PIP CONSOLE.LOG;-1,CONSOLE.LOG;0/LI PIP CONSOLE.SYS;1=CONSOLE.LOG;-1 .1: .ASKS NUM ENTER NUMBER PIP CONSOLE.SYS;2=CONSOLE.SYS;1,CONSOLE.LOG;'NUM' PIP CONSOLE.SYS;1/DE PIP CONSOLE.SYS;1=CONSOLE.SYS;2/RE .GOTO 1 ; ; 2) RUN PHASE1 3) EDT PHASE1.DAT---------------------------------------------------- ------------------------------------------------------------------ -------------------- CAUTION ------------------------------------ ------------------------------------------------------------------ SOME HOW THE FIRST TWO LINES GET MERGED INTO SOME MESS. EDT THE FIRST LINE MAKING TWO LINES OUT OF IT...SORRY. IF ANY ONE CAN SOLVE THIS MESS PLEASE LET ME KNOW. 4) Merge phase1.dat with old data files. For the extention I use the month i.e. console.dec. I do this weekly since it saves disk space and I am less likely to lose data. 5) You might what to run logreport at this time. 6) PIP CONSOLE.SYS;*,PHASE1.DAT;*/DE/NM 7) RUN LOGREPORT LOGREPORT WILL ASK YOU FOR WHAT MONTH ASSUMING FOR EXAMPLE THAT CONSOLE.DEC EXISTS ANSWER DEC THEN PRESTO........... Program efficency: For those of you who get truned on by stacks and queues... The theoretical search length is =(login*logout)/2 i.e. n**2/2 slow. However using the modified stack and the universal logout the maximum [LOGINS IS DEFINED AS THE TIME BETWEEN BOOT UP] search length is approximatly < (ports*logins/2) MUCH MUCH FASTER !!! SPEEED IS NOT TO CRITICAL SINCE THIS RUNS ONLY ONCE A MONTH BUT A FACTOR OF 10 TO 20 ON DISK I/O FOR AN I/O BOUND SYSTEM IS VERY NICE.