mirror of
https://github.com/optim-enterprises-bv/kubernetes.git
synced 2025-11-12 09:36:36 +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{}) {
|
||||
start := time.Now()
|
||||
defer metrics.EventHandlingLatency.WithLabelValues(framework.UnscheduledPodUpdate.Label).Observe(metrics.SinceInSeconds(start))
|
||||
|
||||
logger := sched.logger
|
||||
oldPod, newPod := oldObj.(*v1.Pod), newObj.(*v1.Pod)
|
||||
@@ -143,8 +142,16 @@ func (sched *Scheduler) updatePodInSchedulingQueue(oldObj, newObj interface{}) {
|
||||
return
|
||||
}
|
||||
|
||||
isUnschedPodUpdateIncluded := false
|
||||
for _, evt := range framework.PodSchedulingPropertiesChange(newPod, oldPod) {
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user