public void PassedTest(bool?passed) { var s = new Status(_mockCheck1.Object, passed, SeverityLevel.Error, TimeSpan.FromMilliseconds(5), "hello", null, null, null); var c = new SystemStatusModel.Check(s); Assert.AreEqual(passed, c.Passed); var ssm = new SystemStatusModel(new [] { s }); Assert.AreEqual(passed.GetValueOrDefault(true), ssm.NoFailures); }
public ActionResult UpdateTask() { SystemStatusModel.UpdateCharts(new SystemStatusData(false, this.GetCmp <Store>("CPULoadStore"), this.GetCmp <Store>("MemoryStore"), this.GetCmp <Store>("ProcessStore") )); this.GetCmp <DrawContainer>("MemoryChart").RenderFrame(); return(this.Direct()); }
public SystemStatusModel Status() { var now = DateTime.Now; var queues = _queueManager.GameFormatsToQueues .Select(kvp => { var listener = _hostedService.MatchmakingQueueListeners.Single(x => x.Format == kvp.Key); var queuedTimes = listener.BufferQueuedOnTimestamps.Select(x => now - x).Select(x => x.TotalSeconds).ToList(); return(new SystemQueueStatusModel { Name = Enum.GetName(typeof(GameFormat), kvp.Key), Count = kvp.Value.Count, BufferedCount = listener.BufferCount, QueueTimes = new SystemQueueTimeAggregatesModel { Min = queuedTimes.Any() ? $"{queuedTimes.Min():N0}s" : "0s", Max = queuedTimes.Any() ? $"{queuedTimes.Max():N0}s" : "0s", Average = queuedTimes.Any() ? $"{queuedTimes.Average():N0}s" : "0s" }, MatchCount = listener.MatchCount }); }) .Concat(new[] { new SystemQueueStatusModel { Name = "Outbound", Count = _queueManager.OutboundQueue.Count, BufferedCount = 0, QueueTimes = new SystemQueueTimeAggregatesModel { Min = "0s", Max = "0s", Average = "0s" }, MatchCount = 0 } }) .ToList(); var model = new SystemStatusModel { AllBackgroundTasksRunning = _hostedService.BackgroundTasks.All(x => !x.IsCompleted), TotalMatches = queues.Sum(x => x.MatchCount), Queues = queues }; return(model); }
public void SystemStatusModelTest() { var timestamp = new DateTime(2001, 1, 1); var res = new SystemStatusModel(AllPass, timestamp); Assert.AreEqual(timestamp, res.TimeStamp); Assert.IsTrue(res.NoFailures); Assert.AreEqual(3, res.Checks.Length); var json = res.ToJson(); Console.WriteLine(json); Assert.AreEqual(File.ReadAllText($"{AppDomain.CurrentDomain.BaseDirectory}\\AllPass.json"), json); var objFromJson = json.FromJsonTo <SystemStatusModel>(); Assert.NotNull(objFromJson); Assert.AreEqual(json, objFromJson.ToJson()); }
/// <summary> /// 添加或更新记录 /// </summary> public void AddOrUpdate(SystemStatusModel model) { try { Invoke(new Action(() => { bool add = true; //名称、IP、CPU、RAM、空闲RAM、APPCPU、APPRAM if (DgvSystemList.Rows.Count > 0) { foreach (DataGridViewRow item in DgvSystemList.Rows) { try { string _ip = item.Cells[ClmIP.Name].Value.ToString(); if (_ip == model.IP) { item.Cells[ClmName.Name].Value = model.Name; //item.Cells[ClmIP.Name].Value = model.IP; item.Cells[ClmCPU.Name].Value = model.Cpu; item.Cells[ClmRam.Name].Value = model.Ram; item.Cells[ClmFreeRam.Name].Value = model.RamAvail; item.Cells[ClmAppCpu.Name].Value = model.AppCpu; item.Cells[ClmAppRam.Name].Value = model.AppRam; item.Cells[ClmTxTime.Name].Value = model.CreateTime; item.Cells[ClmRefreshTime.Name].Value = DateTime.Now; add = false; } } catch { } } } if (add) { DgvSystemList.Rows.Add( model.Name, model.IP, model.Cpu, model.Ram, model.RamAvail, model.AppCpu, model.AppRam, model.CreateTime, DateTime.Now); } })); } catch { } }
public static void AddSystemStatus(SystemStatusModel status) { try { if (Str.Ok(status.IP)) { status.CreateTime = DateTime.Now; if (R.Store.SystemStatus.TryGetValue(status.IP, out SystemStatusModel _status)) { bool a = R.Store.SystemStatus.TryUpdate(status.IP, status, _status); } else { bool b = R.Store.SystemStatus.TryAdd(status.IP, status); } } } catch { } }
public SystemStatusModel GetSystemStatus() { var model = new SystemStatusModel(); MefConfig.Container.SatisfyImportsOnce(model); // Database var dbStatus = new SystemComponent() { Name = "Colectica Curation Database" }; model.Components.Add(dbStatus); try { using (var db = ApplicationDbContext.Create()) { var testUser = db.Users.FirstOrDefault(); dbStatus.IsWorking = true; } } catch (Exception ex) { dbStatus.IsWorking = false; dbStatus.Message = string.Join(". ", ex.FlattenHierarchy().Select(x => x.Message)); } // Curation service var serviceStatus = new SystemComponent() { Name = "Colectica Curation Service" }; model.Components.Add(serviceStatus); try { var curatorService = new ServiceController("Colectica Curation Service"); serviceStatus.IsWorking = curatorService.Status == ServiceControllerStatus.Running; serviceStatus.Message = curatorService.Status.ToString(); } catch (Exception ex) { serviceStatus.IsWorking = false; serviceStatus.Message = ex.Message; } #if ISPRO // Repository var repoStatus = new SystemComponent() { Name = "Colectica Repository" }; model.Components.Add(repoStatus); try { var connectionInfo = new RepositoryConnectionInfo() { Url = "localhost", AuthenticationMethod = RepositoryAuthenticationMethod.Windows, TransportMethod = RepositoryTransportMethod.NetTcp }; var client = RepositoryHelper.GetClient(); var testInfo = client.GetRepositoryInfo(); repoStatus.IsWorking = true; } catch (Exception ex) { repoStatus.IsWorking = false; repoStatus.Message = ex.Message; } #endif // Clam Antivirus var clamStatus = new SystemComponent() { Name = "Clam Antivirus" }; model.Components.Add(clamStatus); try { var clamService = new ServiceController("ClamD"); clamStatus.IsWorking = clamService.Status == ServiceControllerStatus.Running; clamStatus.Message = clamService.Status.ToString(); } catch (Exception ex) { clamStatus.IsWorking = false; clamStatus.Message = ex.Message; } // Stata //var stataStatus = new SystemComponent() { Name = "Stata" }; //model.Components.Add(stataStatus); // R var rStatus = new SystemComponent() { Name = "R" }; model.Components.Add(rStatus); try { //string rMessage = string.Empty; //var rImporter = new RDataImporter(); //rStatus.IsWorking = rImporter.AreSystemRequirementsSatisfied(out rMessage); } catch (Exception ex) { rStatus.IsWorking = false; rStatus.Message = ex.Message; } return(model); }