Skip to content
Snippets Groups Projects
Commit 3b05d470 authored by Niko Ehrenfeuchter's avatar Niko Ehrenfeuchter :keyboard:
Browse files

Improve code readability and measure WMI query execution time.

parent 59cd92cb
No related branches found
No related tags found
No related merge requests found
......@@ -40,34 +40,39 @@ namespace ATxCommon
// TODO: fix bug #36
try {
Log.Trace("Querying WMI for CPU load...");
var searcher = new ManagementObjectSearcher("select * from Win32_PerfFormattedData_PerfOS_Processor");
var watch = Stopwatch.StartNew();
var queryString = "SELECT Name, PercentProcessorTime " +
"FROM Win32_PerfFormattedData_PerfOS_Processor";
var opts = new EnumerationOptions {
Timeout = new TimeSpan(0, 0, 10),
ReturnImmediately = false,
};
searcher.Options = opts;
var searcher = new ManagementObjectSearcher("", queryString, opts);
Int32 usageInt32 = -1;
/*
var managementObjects = searcher.Get();
Log.Trace("WMI query returned {0} objects.", managementObjects.Count);
if (managementObjects.Count == 0) {
Log.Error("No objects returned from WMI!");
watch.Stop();
Log.Debug("WMI query took {0} ms.", watch.ElapsedMilliseconds);
return -1;
}
Log.Debug("WMI query returned {0} objects.", managementObjects.Count);
foreach (var mo in managementObjects) {
var obj = (ManagementObject)mo;
var usage = obj["PercentProcessorTime"];
var name = obj["Name"];
usageInt32 = Convert.ToInt32(usage);
Log.Trace("CPU usage {1}: {0}", usageInt32, name);
if (name.ToString().Equals("_Total")) {
usageInt32 = Convert.ToInt32(usage);
Log.Trace("CPU usage: {0}", usageInt32);
}
Log.Debug("CPU usage {1}: {0}", usageInt32, name);
}
watch.Stop();
Log.Debug("WMI query took {0} ms.", watch.ElapsedMilliseconds);
return usageInt32;
*/
/*
var cpuTimes = searcher.Get()
.Cast<ManagementObject>()
.Select(mo => new {
......@@ -87,7 +92,7 @@ namespace ATxCommon
usageInt32 = Convert.ToInt32(cpuUsage);
Log.Trace("CPU usage: {0}", usageInt32);
return usageInt32;
// */
*/
}
catch (Exception ex) {
Log.Trace("Error in GetCpuUsage: {0}", ex.Message);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment