diff --git a/pkg/kubelet/images/image_manager.go b/pkg/kubelet/images/image_manager.go index beed4249e5a..3fbec1f2b56 100644 --- a/pkg/kubelet/images/image_manager.go +++ b/pkg/kubelet/images/image_manager.go @@ -164,8 +164,7 @@ func (m *imageManager) EnsureImageExists(ctx context.Context, pod *v1.Pod, conta return "", imagePullResult.err.Error(), ErrImagePull } - m.podPullingTimeRecorder.RecordImageFinishedPulling(pod.UID) - m.logIt(ref, v1.EventTypeNormal, events.PulledImage, logPrefix, fmt.Sprintf("Successfully pulled image %q in %v", container.Image, time.Since(startTime)), klog.Info) + m.logIt(ref, v1.EventTypeNormal, events.PulledImage, logPrefix, fmt.Sprintf("Successfully pulled image %q in %v (%v including waiting)", container.Image, imagePullResult.pullDuration, time.Since(startTime)), klog.Info) m.backOff.GC() return imagePullResult.imageRef, "", nil } diff --git a/pkg/kubelet/images/puller.go b/pkg/kubelet/images/puller.go index fe7e9fb042c..2f0bda92cb0 100644 --- a/pkg/kubelet/images/puller.go +++ b/pkg/kubelet/images/puller.go @@ -27,8 +27,9 @@ import ( ) type pullResult struct { - imageRef string - err error + imageRef string + err error + pullDuration time.Duration } type imagePuller interface { @@ -47,10 +48,12 @@ func newParallelImagePuller(imageService kubecontainer.ImageService) imagePuller func (pip *parallelImagePuller) pullImage(ctx context.Context, spec kubecontainer.ImageSpec, pullSecrets []v1.Secret, pullChan chan<- pullResult, podSandboxConfig *runtimeapi.PodSandboxConfig) { go func() { + startTime := time.Now() imageRef, err := pip.imageService.PullImage(ctx, spec, pullSecrets, podSandboxConfig) pullChan <- pullResult{ - imageRef: imageRef, - err: err, + imageRef: imageRef, + err: err, + pullDuration: time.Since(startTime), } }() } @@ -89,10 +92,12 @@ func (sip *serialImagePuller) pullImage(ctx context.Context, spec kubecontainer. func (sip *serialImagePuller) processImagePullRequests() { for pullRequest := range sip.pullRequests { + startTime := time.Now() imageRef, err := sip.imageService.PullImage(pullRequest.ctx, pullRequest.spec, pullRequest.pullSecrets, pullRequest.podSandboxConfig) pullRequest.pullChan <- pullResult{ - imageRef: imageRef, - err: err, + imageRef: imageRef, + err: err, + pullDuration: time.Since(startTime), } } }