StatsDefs: DEFINITIONS = BEGIN WindowHandle: TYPE = POINTER; -- Beware of compilation order problems StatIncr: PROCEDURE [StatCounterIndex]; StatBump: PROCEDURE [StatCounterIndex, CARDINAL]; StatGetCounter: PROCEDURE [StatCounterIndex] RETURNS [LONG CARDINAL]; StatNew: PROCEDURE; -- call before MakeImage to remember Date+Time StatStart: PROCEDURE [WindowHandle, STRING]; StatPrintCurrent: PROCEDURE [WindowHandle]; -- prints totals so far StatFinish: PROCEDURE [WindowHandle]; -- prints grand totals StatReady: PROCEDURE; -- resets extra set of counters StatSince: PROCEDURE [WindowHandle]; -- print, then reset extra set of counters StatsStringToIndex: PROCEDURE [STRING] RETURNS [StatCounterIndex]; StatsStringsFull: ERROR; StatUpdate: PROCEDURE; StatsGetCounters: PROCEDURE RETURNS [POINTER TO ARRAY StatCounterIndex OF LONG CARDINAL]; StatsGetText: PROCEDURE RETURNS [POINTER TO ARRAY StatCounterIndex OF STRING]; StatCounterIndex: TYPE = { statMouseTrap, -- for anybody to use statTime, -- Time in MiliSeconds statSeconds, -- Time in Seconds statHours, -- Time in Hours statEnqueue, statDequeue, statXqueue, statDequeueNIL, statXqueueNIL, statNoBuffer, statBufferWaits, statRecyclingZombieBuffersTime, statZappedP, -- Lightning statJunkBroadcastPups, statJunkBroadcastOis, statJunkPupsForUsNoLocalSocket, statJunkOisForUsNoLocalSocket, statPacketsDiscarded, statPupsDiscarded, statOisDiscarded, statPupReceived, statOisReceived, statPupForwarded, statOisForwarded, statPupSent, statOisSent, statPupBroadcast, statOisBroadcast, statPupGatewayPacketsRecv, statOisGatewayPacketsRecv, statErrorPupsSent, statOisErrorPacketsSent, -- not via stream statPupsSentNowhere, statOisSentNowhere, statPupNotForwarded, statOisNotForwarded, statPupInputQueueOverflow, statOisInputQueueOverflow, pupTooShort, statReceivedBadPupChecksum, statReceivedBadOisChecksum, pupsEchoed, pupsBadEchoed, pupBytesEchoed, packetsEchoed, packetsBadEchoed, bytesEchoed, statEtherPacketsSent, statEtherWordsSent, statEtherPacketsReceived, statEtherWordsReceived, statEtherPacketsLocal, statEtherWordsLocal, statEtherInUnderOut, statEtherSendsCollision1, statEtherSendsCollision2, statEtherSendsCollision3, statEtherSendsCollision4, statEtherSendsCollision5, statEtherSendsCollision6, statEtherSendsCollision7, statEtherSendsCollision8, statEtherSendsCollision9, statEtherSendsCollision10, statEtherSendsCollision11, statEtherSendsCollision12, statEtherSendsCollision13, statEtherSendsCollision14, statEtherSendsCollision15, statEtherSendsCollisionLoadOverflow, statEtherLostInterrupts, statEtherMissingStatus, statEtherInterruptDuringInterrupt, statResetDidntPost, statInterfaceReset, statPacketsStuckInOutput, statInputIdle, statEtherReceivedNot16, statEtherReceivedNot16BadCRC, statEtherReceivedBadCRC, statEtherReceivedOverrun, statEtherReceivedBadStatus, statEtherReceivedTooLong, statEtherReceivedKlobberedByReset, statEtherEmptyFreeQueue, statEtherEmptyNoBuffer, statEtherEmptyInputChain, statEtherSendWhileReceiving, statEtherSendOverrun, statEtherSendBadStatus, statEtherSendFromOutputQueue, cacheFault, unsuccessfulTranslation, translationRetries, requestsForMe, cacheDepth, statDataPacketsSent, statDataBytesSent, statDataPacketsReceived, statDataBytesReceived, statMarksSent, statMarksReceived, statAckRequestsSent, statAckRequestsReceived, statAcksSent, statAcksReceived, statSystemPacketsSent, statSystemPacketsReceived, statAttentionsSent, statAttentionsReceived, statDataPacketsRetransmitted, statErrorPacketsSent, statErrorPacketsReceived, statDataPacketsReceivedAgain, statDataPacketsReceivedEarly, statDataPacketsReceivedVeryLate, statProbesSent, statProbesReceived, statEmptyFunnys, statEmptyAlloc, statDuplicateAcks, statPacketsRejectedBadID, statPacketsRejectedBadSource, statPacketsRejectedBadType, statSpares0, statSpares1, statSpares2, statSpares3, statSpares4, statSpares5, statSpares6, statSpares7, statSpares8, statSpares9, statSpares10, statSpares11, statSpares12, statSpares13, statSpares14, statSpares15, statSpares16, statSpares17, statSpares18, statSpares19, statSpares20, statSpares21, statSpares22, statSpares23, statSpares24, statSpares25, statSpares26, statSpares27, statSpares28, statSpares29, statSpares30, statSpares31, statSpares32, statSpares33, statSpares34, statSpares35, statSpares36, statSpares37, statSpares38, statSpares39, statSpares40, statSpares41, statSpares42, statSpares43, statSpares44, statSpares45, statSpares46, statSpares47, statSpares48, statSpares49, statSpares50, statSpares51, statSpares52, statSpares53, statSpares54, statSpares55, statSpares56, statSpares57, statSpares58, statSpares59, statSpares60, statSpares61, statSpares62, statSpares63, statSpares64, statSpares65, statSpares66, statSpares67, statSpares68, statSpares69, statSpares70, statSpares71, statSpares72, statSpares73, statSpares74, statSpares75, statSpares76, statSpares77, statSpares78, statSpares79, statSpares80, statSpares81, statSpares82, statSpares83, statSpares84, statSpares85, statSpares86, statSpares87, statSpares88, statSpares89, statSpares90, statSpares91, statSpares92, statSpares93, statSpares94, statSpares95, statSpares96, statSpares97, statSpares98, statSpares99 }; END. δStatsDefs.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. HGM January 7, 1981 4:36 PM these routines bump the actual counters prints header line, resets counters there is also a second parallel set of counters that can be used for local timings without klobbering the totals for the whole run extra hooks for do it yourself types Allocates one of the spares if the STRING is not already known. NB: The STRING is NOT copied over. Be sure it does not go away. ******** keep Text in StatsStrings up to date too!! General Queue Package Router Low level debugging EtherNet Hardware Interface Collisions Ethernet driver Glitches receiver funnys transmitter funnys 8/32/48 translation things Streams spares for other use Κm˜codešœ™Kšœ Οmœ1™K˜K˜Kšœ™Kšœ Ÿ ˜K˜LK˜GK˜EK˜=K˜GKšœ,Ÿ˜=K˜=K˜JK˜DK˜Kšœ™K˜KK˜ K˜Kšœ™K˜CK˜CK˜K˜Kšœ ™ K˜MK˜MK˜MK˜5K˜5K˜5K˜$K˜Kšœ™K˜0K˜JK˜(K˜Kšœ™K˜NK˜5K˜