-- File: PerfOps.mesa Edited by -- Sandman on September 4, 1980 10:36 AM -- Karlton on June 24, 1980 6:35 PM DIRECTORY FormSW USING [EnumeratedNotifyProcType, ItemHandle, NotifyProcType], MachineDefs USING [GFHandle], PerfPrivate USING [ HistBase, HistClass, HistIndex, HistType, LegAddClass, LegIndex, LegTab, LegTrackClass, NodeID, NodeIndex, NodeTab, Number, PCR, ReadWrite]; PerfOps: DEFINITIONS = BEGIN OPEN PerfPrivate; GetHistBase: PROCEDURE [ReadWrite] RETURNS [histBase: HistBase]; GetLegTable: PROCEDURE [ReadWrite] RETURNS [leg: POINTER TO LegTab]; GetNodeTable: PROCEDURE [ReadWrite] RETURNS [node: POINTER TO NodeTab]; GetPCR: PROCEDURE [ReadWrite] RETURNS [pCR: PCR]; GetConfigAndModuleName: PROCEDURE [ frame: MachineDefs.GFHandle, config, module: STRING]; FindIndex: PROCEDURE [NodeID, POINTER TO NodeTab, PCR] RETURNS [NodeIndex]; NoContext: SIGNAL; Error: TYPE = { notOn, goofUp, syntaxError, badLeg, badChar, noLegRoom, badNode, version, noContext, badProcess}; PostError: PROCEDURE [error: Error]; PerfMessage: TYPE = { getLeg, successor, none, all, totalTime, elapsedTime, totalOverhead, nBreaks, avgOverhead, percentInMont, tooSmall, processes, process, legs, aborted}; PutMessage: PROCEDURE [message: PerfMessage]; TurnOn: PROCEDURE; TurnOff: PROCEDURE RETURNS [BOOLEAN]; ClearTables: PROCEDURE; CollectNodes: PROCEDURE; ZeroCounts: PROCEDURE; DeleteLeg: PROCEDURE [index: LegIndex]; SetProcess: PROCEDURE; AddLeg: PROCEDURE [from, to: NodeIndex]; NodeIDToBpNum: PROCEDURE [id: NodeID] RETURNS [CARDINAL]; BpNumToNodeID: PROCEDURE [num: CARDINAL] RETURNS [id: NodeID]; FindNodeIndex: PROCEDURE [ id: NodeID, nodeTable: POINTER TO NodeTab, nNodes: CARDINAL] RETURNS [CARDINAL]; PrintTables: PROCEDURE; PrintNodeTable: PROCEDURE; PrintLegTable: PROCEDURE; WriteNodeTableHeader: PROCEDURE; WriteLegTableHeader: PROCEDURE; DeleteHist: PROCEDURE [HistIndex]; AddHistogram, DeleteHistogram, PrintHistogram: PROCEDURE; InitSession: PROCEDURE; ParamIndex: TYPE = { mon, collect, init, zero, condition, printtables, printnodes, printlegs, addleg, from, to, delete, leg, mode, add, track, setProcess, process, histcommands, addhist, delhist, printhist, histType, histClass, histNode, histLeg, buckets, scale, base}; Params: TYPE = DESCRIPTOR FOR ARRAY ParamIndex OF FormSW.ItemHandle; ParamNotify: FormSW.NotifyProcType; ParamEnumNotify: FormSW.EnumeratedNotifyProcType; GetFromNode: PROCEDURE RETURNS [NodeIndex]; GetToNode: PROCEDURE RETURNS [NodeIndex]; GetDeleteLeg: PROCEDURE RETURNS [LegIndex]; GetHistNode: PROCEDURE RETURNS [NodeIndex]; GetHistLeg: PROCEDURE RETURNS [LegIndex]; GetBuckets: PROCEDURE RETURNS [CARDINAL]; GetScale: PROCEDURE RETURNS [CARDINAL]; GetBase: PROCEDURE RETURNS [Number]; monitorOn: BOOLEAN; addMode: LegAddClass; trackMode: LegTrackClass; process: STRING; histType: HistType; histClass: HistClass; END..