protected override void MonitoringThread() { base.MonitoringThread(); var wmiObject = new ManagementObjectSearcher("select * from Win32_OperatingSystem"); while (true) { try { var memoryInfo = wmiObject.Get().Cast <ManagementObject>().Select(mo => new { FreePhysicalMemory = double.Parse(mo["FreePhysicalMemory"].ToString()), TotalVisibleMemorySize = double.Parse(mo["TotalVisibleMemorySize"].ToString()) }).FirstOrDefault(); if (memoryInfo != null) { var percent = (int)(((memoryInfo.TotalVisibleMemorySize - memoryInfo.FreePhysicalMemory) / memoryInfo.TotalVisibleMemorySize) * 100); CurrentValues.AddOrUpdate("MEMORY", memoryItem => percent, (memoryItem, val) => percent); } Wait(); } catch { } } }
protected override void MonitoringThread() { base.MonitoringThread(); var wmiObject = new ManagementObjectSearcher("select * from Win32_PerfFormattedData_PerfDisk_PhysicalDisk WHERE Name != '_Total'"); while (true) { try { var readWriteValues = wmiObject.Get().Cast <ManagementObject>().Select(mo => new { Name = Convert.ToString(mo["Name"]), DiskReadTime = Convert.ToInt32(mo["PercentDiskReadTime"]), DiskWriteTime = Convert.ToInt32(mo["PercentDiskWriteTime"]) }); foreach (var item in readWriteValues) { CurrentValues.AddOrUpdate("DISK_READ_" + (item.Name ?? "").Replace(" ", "_"), diskItem => item.DiskReadTime, (diskItem, val) => item.DiskReadTime); CurrentValues.AddOrUpdate("DISK_WRITE_" + (item.Name ?? "").Replace(" ", "_"), diskItem => item.DiskWriteTime, (diskItem, val) => item.DiskWriteTime); } Wait(); } catch { } } }
protected override void MonitoringThread() { base.MonitoringThread(); var wmiObject = new ManagementObjectSearcher("select * from Win32_PerfFormattedData_PerfOS_Processor"); while (true) { try { var cpuCoresInfo = wmiObject.Get().Cast <ManagementObject>().Select(mo => new { CoreName = Convert.ToString(mo["Name"]), LoadPercent = Convert.ToInt32(mo["PercentProcessorTime"]) }).ToList(); _cpuCount = cpuCoresInfo.Count(); foreach (var coreInfo in cpuCoresInfo) { CurrentValues.AddOrUpdate(coreInfo.CoreName, corename => coreInfo.LoadPercent, (corename, val) => coreInfo.LoadPercent); } Wait(); } catch { } } }
protected override void MonitoringThread() { base.MonitoringThread(); var wmiObject = new ManagementObjectSearcher("select * from Win32_PerfFormattedData_Tcpip_NetworkInterface"); while (true) { try { var networkValues = wmiObject.Get().Cast <ManagementObject>().Select(mo => new { BytesReceived = Convert.ToInt32(mo["BytesReceivedPersec"]), BytesSent = Convert.ToInt32(mo["BytesSentPersec"]) }).ToList(); if (networkValues.Any()) { //receive var recieveRawValue = networkValues.Sum(x => x.BytesReceived); var recieveFormattedValue = SizeHelper.GetSizeDisplay(recieveRawValue); CurrentValues.AddOrUpdate("NETWORK_RECEIVE", item => (int)recieveFormattedValue.Item1, (networkItem, val) => (int)recieveFormattedValue.Item1); DisplayValues.AddOrUpdate("NETWORK_RECEIVE", item => recieveFormattedValue.Item2, (networkItem, val) => recieveFormattedValue.Item2); //send var sendRawValue = networkValues.Sum(x => x.BytesSent); var sendFormattedValue = SizeHelper.GetSizeDisplay(sendRawValue); CurrentValues.AddOrUpdate("NETWORK_SEND", item => (int)sendFormattedValue.Item1, (networkItem, val) => (int)sendFormattedValue.Item1); DisplayValues.AddOrUpdate("NETWORK_SEND", item => sendFormattedValue.Item2, (networkItem, val) => sendFormattedValue.Item2); } Wait(); } catch { } } }