feat: added a fallback to the CPU core index when id not found when calculating the cores load (#2785)

This commit is contained in:
Serhiy Mytrovtsiy
2025-12-05 23:10:10 +01:00
parent 1b1a338d7d
commit e5b1566554

View File

@@ -130,17 +130,17 @@ internal class LoadReader: Reader<CPU_Load> {
self.response.totalUsage = self.response.systemLoad + self.response.userLoad
if let cores = self.cores {
let eCoresList: [Double] = cores.filter({ $0.type == .efficiency }).compactMap { (c: core_s) in
let eCoresList: [Double] = cores.filter({ $0.type == .efficiency }).enumerated().compactMap { (i, c) -> Double? in
if self.response.usagePerCore.indices.contains(Int(c.id)) {
return self.response.usagePerCore[Int(c.id)]
}
return 0
return i < usagePerCore.count ? usagePerCore[i] : 0
}
let pCoresList: [Double] = cores.filter({ $0.type == .performance }).compactMap { (c: core_s) in
let pCoresList: [Double] = cores.filter({ $0.type == .performance }).enumerated().compactMap { (i, c) -> Double? in
if self.response.usagePerCore.indices.contains(Int(c.id)) {
return self.response.usagePerCore[Int(c.id)]
}
return 0
return i < usagePerCore.count ? usagePerCore[i] : 0
}
self.response.usageECores = eCoresList.reduce(0, +)/Double(eCoresList.count)