public MonitoringUpdateResults Update() { MonitoringUpdateResults results = new MonitoringUpdateResults(); results.unitMetrics = new string[cpu.GetThreadCount()][]; cpu.InitializeCoreTotals(); for (int threadIdx = 0; threadIdx < cpu.GetThreadCount(); threadIdx++) { cpu.UpdateThreadCoreCounterData(threadIdx); results.unitMetrics[threadIdx] = computeMetrics("Thread " + threadIdx, cpu.NormalizedThreadCounts[threadIdx]); } cpu.ReadPackagePowerCounter(); results.overallMetrics = computeMetrics("Overall", cpu.NormalizedTotalCounts); results.overallCounterValues = cpu.GetOverallCounterValues("All loads", "Locked loads", "SQ Split Locks", "MEM_LOAD_L3_HIT_RETIRED.XSNP_HITM"); return(results); }
public MonitoringUpdateResults Update() { MonitoringUpdateResults results = new MonitoringUpdateResults(); results.unitMetrics = new string[cpu.GetThreadCount()][]; cpu.InitializeCoreTotals(); for (int threadIdx = 0; threadIdx < cpu.GetThreadCount(); threadIdx++) { cpu.UpdateThreadCoreCounterData(threadIdx); results.unitMetrics[threadIdx] = computeMetrics("Thread " + threadIdx, cpu.NormalizedThreadCounts[threadIdx]); } cpu.ReadPackagePowerCounter(); results.overallMetrics = computeMetrics("Overall", cpu.NormalizedTotalCounts); results.overallCounterValues = cpu.GetOverallCounterValues("P0", "P1", "P5", "P6"); return(results); }