!7 srecord Info(S computerID, S load, long reactionTime) {} module GatherSystemLoads > DynObjectTable { transient Map map = synchroTreeMap(); // 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 reactionTime = sysNow(); S load = str(or(dm_evalOnOtherMachine_optimizeIfMe(computerID, "systemCPULoad()"), "?")); reactionTime = elapsedMS(reactionTime); if (mapPut_trueIfChanged(map, computerID, nu(Info, +computerID, +load, +reactionTime))) makeList(); } } } void makeList() { setData(valuesList(map)); } }