mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-05 10:19:50 +00:00
Merge pull request #25565 from wojtek-t/traces_in_replication_controller
Automatic merge from submit-queue Add traces to ReplicationController Ref #25563
This commit is contained in:
commit
f6c2560f68
@ -35,6 +35,7 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/controller/framework/informers"
|
"k8s.io/kubernetes/pkg/controller/framework/informers"
|
||||||
"k8s.io/kubernetes/pkg/labels"
|
"k8s.io/kubernetes/pkg/labels"
|
||||||
"k8s.io/kubernetes/pkg/runtime"
|
"k8s.io/kubernetes/pkg/runtime"
|
||||||
|
"k8s.io/kubernetes/pkg/util"
|
||||||
"k8s.io/kubernetes/pkg/util/metrics"
|
"k8s.io/kubernetes/pkg/util/metrics"
|
||||||
utilruntime "k8s.io/kubernetes/pkg/util/runtime"
|
utilruntime "k8s.io/kubernetes/pkg/util/runtime"
|
||||||
"k8s.io/kubernetes/pkg/util/wait"
|
"k8s.io/kubernetes/pkg/util/wait"
|
||||||
@ -529,6 +530,9 @@ func (rm *ReplicationManager) manageReplicas(filteredPods []*api.Pod, rc *api.Re
|
|||||||
// it did not expect to see any more of its pods created or deleted. This function is not meant to be invoked
|
// it did not expect to see any more of its pods created or deleted. This function is not meant to be invoked
|
||||||
// concurrently with the same key.
|
// concurrently with the same key.
|
||||||
func (rm *ReplicationManager) syncReplicationController(key string) error {
|
func (rm *ReplicationManager) syncReplicationController(key string) error {
|
||||||
|
trace := util.NewTrace("syncReplicationController: " + key)
|
||||||
|
defer trace.LogIfLong(250 * time.Millisecond)
|
||||||
|
|
||||||
startTime := time.Now()
|
startTime := time.Now()
|
||||||
defer func() {
|
defer func() {
|
||||||
glog.V(4).Infof("Finished syncing controller %q (%v)", key, time.Now().Sub(startTime))
|
glog.V(4).Infof("Finished syncing controller %q (%v)", key, time.Now().Sub(startTime))
|
||||||
@ -563,19 +567,23 @@ func (rm *ReplicationManager) syncReplicationController(key string) error {
|
|||||||
glog.Errorf("Couldn't get key for replication controller %#v: %v", rc, err)
|
glog.Errorf("Couldn't get key for replication controller %#v: %v", rc, err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
trace.Step("ReplicationController restored")
|
||||||
rcNeedsSync := rm.expectations.SatisfiedExpectations(rcKey)
|
rcNeedsSync := rm.expectations.SatisfiedExpectations(rcKey)
|
||||||
|
trace.Step("Expectations restored")
|
||||||
podList, err := rm.podStore.Pods(rc.Namespace).List(labels.Set(rc.Spec.Selector).AsSelector())
|
podList, err := rm.podStore.Pods(rc.Namespace).List(labels.Set(rc.Spec.Selector).AsSelector())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Errorf("Error getting pods for rc %q: %v", key, err)
|
glog.Errorf("Error getting pods for rc %q: %v", key, err)
|
||||||
rm.queue.Add(key)
|
rm.queue.Add(key)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
trace.Step("Pods listed")
|
||||||
|
|
||||||
// TODO: Do this in a single pass, or use an index.
|
// TODO: Do this in a single pass, or use an index.
|
||||||
filteredPods := controller.FilterActivePods(podList.Items)
|
filteredPods := controller.FilterActivePods(podList.Items)
|
||||||
if rcNeedsSync {
|
if rcNeedsSync {
|
||||||
rm.manageReplicas(filteredPods, &rc)
|
rm.manageReplicas(filteredPods, &rc)
|
||||||
}
|
}
|
||||||
|
trace.Step("manageReplicas done")
|
||||||
|
|
||||||
// Count the number of pods that have labels matching the labels of the pod
|
// Count the number of pods that have labels matching the labels of the pod
|
||||||
// template of the replication controller, the matching pods may have more
|
// template of the replication controller, the matching pods may have more
|
||||||
|
Loading…
Reference in New Issue
Block a user