!7 sclass Info { S computerID; S load; } module GatherSystemLoads > DynObjectTable { transient SS map = synchroTreeMap(); 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 { S load = str(or(dm_evalOnOtherMachine_optimizeIfMe(computerID, "systemLoad()"), "?")); if (mapPut_trueIfChanged(map, computerID, load)) makeList(); } } } void makeList() { new L l; for (S computerID, load : map) { l.add(nu(Info, +computerID, +load)); } setData(l); } }