make a copy when sort array using cpu usage

This commit is contained in:
Zhou Fang 2016-08-08 16:44:25 -07:00
parent 475f6c5ef6
commit e9c1cb9b78
2 changed files with 7 additions and 3 deletions

View File

@ -185,7 +185,7 @@ var _ = framework.KubeDescribe("Density [Serial] [Slow]", func() {
// verify resource
By("Verifying resource")
verifyResource(f, testArg, rc)
verifyResource(f, itArg, rc)
})
}
})
@ -242,7 +242,7 @@ var _ = framework.KubeDescribe("Density [Serial] [Slow]", func() {
// verify resource
By("Verifying resource")
verifyResource(f, testArg, rc)
verifyResource(f, itArg, rc)
})
}
})

View File

@ -203,7 +203,11 @@ func (r *ResourceCollector) GetBasicCPUStats(containerName string) map[float64]f
r.lock.RLock()
defer r.lock.RUnlock()
result := make(map[float64]float64, len(percentiles))
usages := r.buffers[containerName]
usages := make([]*framework.ContainerResourceUsage, len(r.buffers[containerName]))
// must make a copy of array, otherwise the timeseries order is changed
for i, usage := range r.buffers[containerName] {
usages[i] = usage
}
sort.Sort(resourceUsageByCPU(usages))
for _, q := range percentiles {
index := int(float64(len(usages))*q) - 1