-- GVLog.mesa

-- Utility for parsing Grapevine logs

-- M. D. Schroeder, January 10, 1983 1:25 pm


DIRECTORY
Rope USING [ROPE],
System USING [GreenwichMeanTime];


GVLog: CEDAR DEFINITIONS = BEGIN

Server: TYPE = {Aurora, Barbera, Cabernet, Chardonnay, Concord, Gamay,
GreeneKing, Merlot, Muscat, PinotNoir, Riesling, Semillon, Zinfandel};

Zone: TYPE = [-12..12];

ServerZone: ARRAY Server OF Zone = [5, 6, 8, 8, 8, 8, 0, 8, 5, 8, 8, 8, 8];

ServerName: PROCEDURE [s: Server] RETURNS [Rope.ROPE];

LogHandle: TYPE = REF LogHandleObject;
LogHandleObject: TYPE;

GetLogHandle: PROCEDURE [server: Server, filter: LIST OF LogEntryType ← NIL]
RETURNS [LogHandle];
-- when filter is NIL then all log entries are returned --

NextEntry: PROCEDURE [h: LogHandle] RETURNS [REF LogEntry];
-- returns a REF for one of the log entry types listed below --

Close: PROCEDURE [h: LogHandle];

NetAddress: TYPE = RECORD [net, host: [0..255]];
Stamp: TYPE = RECORD [addr: NetAddress, time: System.GreenwichMeanTime];

LogEntryType: TYPE = {
archived, created, delivered, forwarded, freeHeap, ftp,inbox, logSpill, merge, nls,
purge, received,receivedFrom, recipients, rsAction, starting, unknown, upDown, vcLogin};

LogEntry: TYPE = RECORD [
t: System.GreenwichMeanTime, v: SELECT type: LogEntryType FROM
archived => -- inbox was archived --
[inbox: Rope.ROPE, count: CARDINAL, succeeded: BOOLEAN],
created => -- client connected to send a message --
[s: Stamp, sender: Rope.ROPE],
delivered => -- message delivered --
[s: Stamp, local, remote, pending, locked, bad: CARDINAL],
forwarded => -- message forwarded to another server --
[s: Stamp, server: Rope.ROPE, failed: BOOLEAN],
freeHeap => -- amount of free heap --
[percent: [0..100]],
ftp => -- ftp server activity --
[addr: NetAddress, user, file: Rope.ROPE, action: {read, write, delete}],
inbox => -- client emptied an inbox, zero count means abandonded --
[client: Rope.ROPE, msgCount: CARDINAL],
logSpill => -- log spilled to an IFS --
[successful: BOOLEAN, logNumber: CARDINAL, half: [0..1]],
merge => -- update from another server processed --
[s: Stamp, entry: Rope.ROPE, type: {brief, full}],
nls => -- name lookup server version; version = 0 means waiting --
[version: CARDINAL],
purge => -- purger related activities --
[name: Rope.ROPE, action: {running, entry, data, causedBy}],
received => -- message received from client --
[s: Stamp, good, bad, words: CARDINAL, express: BOOLEAN],
receivedFrom => -- message received from an other server --
[s: Stamp, server: Rope.ROPE, words: CARDINAL],
recipients => -- lists first n recipients --
[s: Stamp, recipients: Rope.ROPE],
rsAction => -- client operation on registration data base --
[addr: NetAddress, name, rest: Rope.ROPE],
starting => -- server restarting --
[action: {begin, running, other}],
unknown =>
[text: Rope.ROPE],
upDown => -- a server is recorded as up or down --
[server: Rope.ROPE, type: {up, down}],
vcLogin =>
[user: Rope.ROPE],
ENDCASE ];

END..

-- startup messages
<blob>10-Jan-83
10:29:11 Grapevine server starting. Version of 18-Nov-82 13:33:56 PST
10:29:14 42% free heap
10:34:36 Restarting Steering-list Queues
10:34:48 Restarting registration server database
10:45:20 Restarting mail server database
10:51:28 Disk restart complete
10:51:28 Starting compactor
10:51:30 Grapevine: Registration Server Gamay.gv, Mail Server Gamay.ms
10:51:30 Starting SL-queue readers
10:51:32 Starting listeners
10:51:57 Gamay.ms is an RS inbox-site
10:52:07 PinotNoir.ms is an RS inbox-site
10:52:07 Barbera.ms is an RS inbox-site
10:52:28 Brief merge SystemDesign^.es, stamp=112#244@2588519637
10:52:38 Brief merge IBMpc^.es, stamp=1#66@2588520600
10:52:49 Brief merge SystemDesign^.es, stamp=112#244@2588521044
10:52:56 Brief merge HiFi^.es, stamp=1#66@2588521043
10:53:01 Brief merge SystemDesign^.es, stamp=60#354@2588521035
10:53:09 Brief merge SystemDesign^.es, stamp=60#354@2588522084
10:53:16 Brief merge SystemDesign^.es, stamp=54#151@2588522057
10:53:21 Brief merge SystemDesign^.es, stamp=60#354@2588523082
10:53:30 Created 55#360@2588525607: sender Gamay.gv
10:53:32 Received 55#360@2588525607: 2 recipients, 61 words.
10:53:33 Merge Chen.es, stamp=112#244@2588523397
10:53:37 Delivered 55#360@2588525607, 1 local, 1 remote
10:53:37 RecipientLog 55#360@2588525607: Concord.ms Gamay.ms
10:53:39 Brief merge SDD-WSS-ES^.es, stamp=112#244@2588524579
10:53:45 Forwarded 55#360@2588525607 to Concord.ms
10:53:48 Brief merge Video-Talk^.es, stamp=60#354@2588525450
10:53:56 Running
10:54:17 Waiting for new NLS version