MODULE WMPerfMonPluginCpu;
IMPORT
WMPerfMonPlugins, Objects, Modules;
CONST
ModuleName = "WMPerfMonPluginCpu";
TYPE
CpuParameter* = POINTER TO RECORD (WMPerfMonPlugins.Parameter)
processorID* : LONGINT;
END;
CpuLoad* = OBJECT(WMPerfMonPlugins.Plugin);
PROCEDURE Init*(p : WMPerfMonPlugins.Parameter);
BEGIN
p.name := "NumReady"; p.description := "Number of processes in ready queue";
p.modulename := ModuleName;
p.autoMin := TRUE; p.autoMax := TRUE; p.minDigits := 2;
END Init;
PROCEDURE UpdateDataset*;
BEGIN
dataset[0] := Objects.NumReady();
END UpdateDataset;
END CpuLoad;
VAR
nbrOfCpus- : LONGINT;
PROCEDURE InitPlugins;
VAR cpuLoad : CpuLoad; par : WMPerfMonPlugins.Parameter;
BEGIN
NEW(par); NEW(cpuLoad, par);
END InitPlugins;
PROCEDURE Install*;
END Install;
PROCEDURE Cleanup;
BEGIN
WMPerfMonPlugins.updater.RemoveByModuleName(ModuleName);
END Cleanup;
BEGIN
nbrOfCpus := 1;
InitPlugins;
Modules.InstallTermHandler(Cleanup);
END WMPerfMonPluginCpu.
WMPerfMonPluginCpu.Install ~ SystemTools.Free WMPerfMonPluginCpu ~