|
@@ -1179,23 +1179,23 @@ func (sas *SummaryAllocationSet) RAMEfficiency() float64 {
|
|
|
sas.RLock()
|
|
sas.RLock()
|
|
|
defer sas.RUnlock()
|
|
defer sas.RUnlock()
|
|
|
|
|
|
|
|
- totalRAMBytesUsage := 0.0
|
|
|
|
|
- totalRAMBytesRequest := 0.0
|
|
|
|
|
|
|
+ totalRAMBytesMinutesUsage := 0.0
|
|
|
|
|
+ totalRAMBytesMinutesRequest := 0.0
|
|
|
totalRAMCost := 0.0
|
|
totalRAMCost := 0.0
|
|
|
for _, sa := range sas.SummaryAllocations {
|
|
for _, sa := range sas.SummaryAllocations {
|
|
|
if sa.IsIdle() {
|
|
if sa.IsIdle() {
|
|
|
continue
|
|
continue
|
|
|
}
|
|
}
|
|
|
- totalRAMBytesUsage += sa.RAMBytesUsageAverage
|
|
|
|
|
- totalRAMBytesRequest += sa.RAMBytesRequestAverage
|
|
|
|
|
|
|
+ totalRAMBytesMinutesUsage += sa.RAMBytesUsageAverage * sa.Minutes()
|
|
|
|
|
+ totalRAMBytesMinutesRequest += sa.RAMBytesRequestAverage * sa.Minutes()
|
|
|
totalRAMCost += sa.RAMCost
|
|
totalRAMCost += sa.RAMCost
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if totalRAMBytesRequest > 0 {
|
|
|
|
|
- return totalRAMBytesUsage / totalRAMBytesRequest
|
|
|
|
|
|
|
+ if totalRAMBytesMinutesRequest > 0 {
|
|
|
|
|
+ return totalRAMBytesMinutesUsage / totalRAMBytesMinutesRequest
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if totalRAMBytesUsage == 0.0 || totalRAMCost == 0.0 {
|
|
|
|
|
|
|
+ if totalRAMBytesMinutesUsage == 0.0 || totalRAMCost == 0.0 {
|
|
|
return 0.0
|
|
return 0.0
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1211,23 +1211,23 @@ func (sas *SummaryAllocationSet) CPUEfficiency() float64 {
|
|
|
sas.RLock()
|
|
sas.RLock()
|
|
|
defer sas.RUnlock()
|
|
defer sas.RUnlock()
|
|
|
|
|
|
|
|
- totalCPUCoreUsage := 0.0
|
|
|
|
|
- totalCPUCoreRequest := 0.0
|
|
|
|
|
|
|
+ totalCPUCoreMinutesUsage := 0.0
|
|
|
|
|
+ totalCPUCoreMinutesRequest := 0.0
|
|
|
totalCPUCost := 0.0
|
|
totalCPUCost := 0.0
|
|
|
for _, sa := range sas.SummaryAllocations {
|
|
for _, sa := range sas.SummaryAllocations {
|
|
|
if sa.IsIdle() {
|
|
if sa.IsIdle() {
|
|
|
continue
|
|
continue
|
|
|
}
|
|
}
|
|
|
- totalCPUCoreUsage += sa.CPUCoreUsageAverage
|
|
|
|
|
- totalCPUCoreRequest += sa.CPUCoreRequestAverage
|
|
|
|
|
|
|
+ totalCPUCoreMinutesUsage += sa.CPUCoreUsageAverage * sa.Minutes()
|
|
|
|
|
+ totalCPUCoreMinutesRequest += sa.CPUCoreRequestAverage * sa.Minutes()
|
|
|
totalCPUCost += sa.CPUCost
|
|
totalCPUCost += sa.CPUCost
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if totalCPUCoreRequest > 0 {
|
|
|
|
|
- return totalCPUCoreUsage / totalCPUCoreRequest
|
|
|
|
|
|
|
+ if totalCPUCoreMinutesRequest > 0 {
|
|
|
|
|
+ return totalCPUCoreMinutesUsage / totalCPUCoreMinutesRequest
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if totalCPUCoreUsage == 0.0 || totalCPUCost == 0.0 {
|
|
|
|
|
|
|
+ if totalCPUCoreMinutesUsage == 0.0 || totalCPUCost == 0.0 {
|
|
|
return 0.0
|
|
return 0.0
|
|
|
}
|
|
}
|
|
|
|
|
|