diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 975c984c36c..8b2bdf2cae0 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -1522,7 +1522,7 @@ func (kl *Kubelet) syncPod(ctx context.Context, updateType kubetypes.SyncPodType defer klog.V(4).InfoS("syncPod exit", "pod", klog.KObj(pod), "podUID", pod.UID) // Latency measurements for the main workflow are relative to the - // first time the pod was seen by the API server. + // first time the pod was seen by kubelet. var firstSeenTime time.Time if firstSeenTimeStr, ok := pod.Annotations[kubetypes.ConfigFirstSeenAnnotationKey]; ok { firstSeenTime = kubetypes.ConvertToTimestamp(firstSeenTimeStr).Get() @@ -1581,7 +1581,8 @@ func (kl *Kubelet) syncPod(ctx context.Context, updateType kubetypes.SyncPodType } } - // Record the time it takes for the pod to become running. + // Record the time it takes for the pod to become running + // since kubelet first saw the pod if firstSeenTime is set. existingStatus, ok := kl.statusManager.GetPodStatus(pod.UID) if !ok || existingStatus.Phase == v1.PodPending && apiPodStatus.Phase == v1.PodRunning && !firstSeenTime.IsZero() { diff --git a/pkg/kubelet/metrics/metrics.go b/pkg/kubelet/metrics/metrics.go index 162e0285716..302db0de4da 100644 --- a/pkg/kubelet/metrics/metrics.go +++ b/pkg/kubelet/metrics/metrics.go @@ -136,12 +136,13 @@ var ( }, []string{"operation_type"}, ) - // PodStartDuration is a Histogram that tracks the duration (in seconds) it takes for a single pod to go from pending to running. + // PodStartDuration is a Histogram that tracks the duration (in seconds) it takes for a single pod to run since it's + // first time seen by kubelet. PodStartDuration = metrics.NewHistogram( &metrics.HistogramOpts{ Subsystem: KubeletSubsystem, Name: PodStartDurationKey, - Help: "Duration in seconds for a single pod to go from pending to running.", + Help: "Duration in seconds from kubelet seeing a pod for the first time to the pod starting to run", Buckets: metrics.DefBuckets, StabilityLevel: metrics.ALPHA, }, @@ -158,12 +159,12 @@ var ( }, []string{"operation_type"}, ) - // PodWorkerStartDuration is a Histogram that tracks the duration (in seconds) it takes from seeing a pod to starting a worker. + // PodWorkerStartDuration is a Histogram that tracks the duration (in seconds) it takes from kubelet seeing a pod to starting a worker. PodWorkerStartDuration = metrics.NewHistogram( &metrics.HistogramOpts{ Subsystem: KubeletSubsystem, Name: PodWorkerStartDurationKey, - Help: "Duration in seconds from seeing a pod to starting a worker.", + Help: "Duration in seconds from kubelet seeing a pod to starting a worker.", Buckets: metrics.DefBuckets, StabilityLevel: metrics.ALPHA, },