!7 srecord Info(S computerID, S load, S reactionTime) {} set flag DynModule. // use global transpiler compact module GatherSystemLoads > DynObjectTable { transient Map map = expiringMap(3600.0); // key = computerID start { doEvery(1.0, 10.0, r gather); } void gather enter { time "Gather System Loads" { new L l; for (S computerID : dm_onlineComputers()) pcall-short { long time = sysNow(); S doubleLoad = str(dm_evalOnOtherMachine_optimizeIfMe(computerID, "systemCPULoad()", updateControllableFlag := false)); S load = startsWithDigit(doubleLoad) ? toPercent(parseDouble(doubleLoad)) + " %" : "?"; S reactionTime = elapsedMS(time) + " ms"; if (mapPut_trueIfChanged(map, computerID, nu(Info, +computerID, +load, +reactionTime))) makeList(); } } } void makeList() { setData(valuesList(map)); addRowSorter_desc(table, 1); rowSorter_setComparatorForAllColumns(table, alphaNumComparator()); } }