private async Task PollCpuUtilization() { const string query = @"select PercentProcessorTime from Win32_PerfFormattedData_PerfOS_Processor where Name = '_Total'"; using (var q = Wmi.Query(Name, query)) { var data = await q.GetFirstResult(); if (data == null) { return; } CPULoad = (short)data.PercentProcessorTime; var cpuUtilization = new CPUUtilization { DateTime = DateTime.UtcNow, MaxLoad = CPULoad, AvgLoad = CPULoad }; AddCpuUtilization(cpuUtilization); } }
private async Task PollCpuUtilization() { const string query = @" SELECT PercentProcessorTime FROM Win32_PerfFormattedData_PerfOS_Processor WHERE Name = '_Total'"; using (var q = Wmi.Query(Name, query)) { var data = await q.GetFirstResult(); if (data == null) { return; } CPULoad = (short)data.PercentProcessorTime; var cpuUtilization = new CPUUtilization { DateEpoch = DateTime.UtcNow.ToEpochTime(), AvgLoad = CPULoad }; UpdateHistoryStorage(CPUHistory, cpuUtilization); } }
private async Task PollCpuUtilizationAsync() { var query = IsVMHost ? "SELECT Name, Timestamp_Sys100NS, PercentTotalRunTime FROM Win32_PerfRawData_HvStats_HyperVHypervisorLogicalProcessor WHERE Name = '_Total'" : "SELECT Name, Timestamp_Sys100NS, PercentProcessorTime FROM Win32_PerfRawData_PerfOS_Processor WHERE Name = '_Total'"; var property = IsVMHost ? "PercentTotalRunTime" : "PercentProcessorTime"; using (var q = Wmi.Query(Endpoint, query)) { var data = await q.GetFirstResultAsync().ConfigureAwait(false); if (data == null) { return; } var perfData = new PerfRawData(this, data); if (IsVMHost) { CPULoad = (short)(perfData.GetCalculatedValue(property, 100D) / NumberOfLogicalProcessors); } else { CPULoad = (short)Math.Round((1 - perfData.GetCalculatedValue(property)) * 100); } var cpuUtilization = new CPUUtilization { DateEpoch = DateTime.UtcNow.ToEpochTime(), AvgLoad = CPULoad }; UpdateHistoryStorage(CPUHistory, cpuUtilization); } }
private async Task PollCpuUtilization() { const string query = @" SELECT PercentProcessorTime FROM Win32_PerfFormattedData_PerfOS_Processor WHERE Name = '_Total'"; using (var q = Wmi.Query(Name, query)) { var data = await q.GetFirstResult(); if (data == null) return; CPULoad = (short)data.PercentProcessorTime; var cpuUtilization = new CPUUtilization { DateEpoch = DateTime.UtcNow.ToEpochTime(), AvgLoad = CPULoad }; UpdateHistoryStorage(CPUHistory, cpuUtilization); } }
private async Task PollCpuUtilization() { const string query = @"select PercentProcessorTime from Win32_PerfFormattedData_PerfOS_Processor where Name = '_Total'"; using (var q = Wmi.Query(Name, query)) { var data = await q.GetFirstResult(); if (data == null) return; CPULoad = (short)data.PercentProcessorTime; var cpuUtilization = new CPUUtilization { DateTime = DateTime.UtcNow, MaxLoad = CPULoad, AvgLoad = CPULoad }; AddCpuUtilization(cpuUtilization); } }
public void AddCpuUtilization(CPUUtilization cpuUtilization) { UpdateHistoryStorage(CPUHistory, cpuUtilization, x => x.DateTime); }