mirror of
https://github.com/optim-enterprises-bv/kubernetes.git
synced 2025-11-12 01:26:24 +00:00
fix: eliminate a possible double-record of UnscheduledPodUpdate event handling latency
This commit is contained in:
@@ -133,7 +133,6 @@ func (sched *Scheduler) addPodToSchedulingQueue(obj interface{}) {
|
|||||||
|
|
||||||
func (sched *Scheduler) updatePodInSchedulingQueue(oldObj, newObj interface{}) {
|
func (sched *Scheduler) updatePodInSchedulingQueue(oldObj, newObj interface{}) {
|
||||||
start := time.Now()
|
start := time.Now()
|
||||||
defer metrics.EventHandlingLatency.WithLabelValues(framework.UnscheduledPodUpdate.Label).Observe(metrics.SinceInSeconds(start))
|
|
||||||
|
|
||||||
logger := sched.logger
|
logger := sched.logger
|
||||||
oldPod, newPod := oldObj.(*v1.Pod), newObj.(*v1.Pod)
|
oldPod, newPod := oldObj.(*v1.Pod), newObj.(*v1.Pod)
|
||||||
@@ -143,8 +142,16 @@ func (sched *Scheduler) updatePodInSchedulingQueue(oldObj, newObj interface{}) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isUnschedPodUpdateIncluded := false
|
||||||
for _, evt := range framework.PodSchedulingPropertiesChange(newPod, oldPod) {
|
for _, evt := range framework.PodSchedulingPropertiesChange(newPod, oldPod) {
|
||||||
defer metrics.EventHandlingLatency.WithLabelValues(evt.Label).Observe(metrics.SinceInSeconds(start))
|
defer metrics.EventHandlingLatency.WithLabelValues(evt.Label).Observe(metrics.SinceInSeconds(start))
|
||||||
|
if evt.Label == framework.UnscheduledPodUpdate.Label {
|
||||||
|
isUnschedPodUpdateIncluded = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if !isUnschedPodUpdateIncluded {
|
||||||
|
// make sure we always record the latency with UnscheduledPodUpdate label.
|
||||||
|
defer metrics.EventHandlingLatency.WithLabelValues(framework.UnscheduledPodUpdate.Label).Observe(metrics.SinceInSeconds(start))
|
||||||
}
|
}
|
||||||
|
|
||||||
isAssumed, err := sched.Cache.IsAssumedPod(newPod)
|
isAssumed, err := sched.Cache.IsAssumedPod(newPod)
|
||||||
|
|||||||
Reference in New Issue
Block a user