DIRECTORY Plotter USING [Create], RealEvent USING [CreateTimerDrivenStream], SafeStorage USING [NWordsAllocated, NWordsReclaimed], Timer USING[Seconds]; Performers: PROGRAM IMPORTS Plotter, RealEvent, SafeStorage = BEGIN samplingInterval: Timer.Seconds = 5; nEvents: NAT = 100; WordsAllocatedSampler: PROC[s: REF ANY] RETURNS[REAL] = {RETURN[SafeStorage.NWordsAllocated[]]; }; WordsISSampler: PROC[s: REF ANY] RETURNS[REAL] = {RETURN[SafeStorage.NWordsAllocated[] - SafeStorage.NWordsReclaimed[]]; }; [] _ Plotter.Create[label: "wordsPerSecHistory", autoRepaint: TRUE, nEvents: nEvents, plotValueDifferences: TRUE, plotValuePerSecond: TRUE, eventSource: RealEvent.CreateTimerDrivenStream[interval: samplingInterval, sampler: WordsAllocatedSampler]]; [] _ Plotter.Create[label: "wordsInServiceHistory", autoRepaint: TRUE, nEvents: nEvents, eventSource: RealEvent.CreateTimerDrivenStream[interval: samplingInterval, sampler: WordsISSampler]]; END. zPerformers.mesa Jlarson, July 10, 1985 4:51:29 pm PDT SAMPLING PROCEDURES START HERE...Create performance plotters Κ*˜šœ™Icode™%—J™šΟk ˜ Jšœœ ˜Jšœ œ˜*Jšœ œ$˜5Jšœœ ˜J˜—Jšœ ˜J˜Jšœ ˜'J˜Jšœ˜˜J˜$Jšœ œ˜J˜J˜—Jšœ™J˜š Οnœœœœœœ˜7Jšœœ ˜'J˜J˜J˜€J˜—Jšœ(™(J˜˜˜0Jšœ œ˜J˜Jšœœ˜Jšœœ˜J˜lJ˜J˜…——Jšœ˜J˜—…— °