private void SetLoad(int load, ProcessLoad[] loads) { //TODO: lock if (_coreData.ThisDevice?.KPIs != null) { var kpis = _coreData.ThisDevice.KPIs; var cpu = _coreData.GetOrCreate(() => kpis.Cpu, v => kpis.Cpu = v); cpu.Load = load; if (load < 75) { cpu.State = IndicatorState.Ok; } else if (load < 90) { cpu.State = IndicatorState.Warning; } else { cpu.State = IndicatorState.Error; } if (loads != null) { cpu.Top = loads; } } }