Skip to content

Commit 0199b74

Browse files
authored
Merge pull request helm#30696 from benoittgt/report-time-waited-v4
Inform about time spent waiting resources to be ready in slog format
2 parents 2e6437b + 4f4c858 commit 0199b74

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

pkg/kube/wait.go

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package kube // import "helm.sh/helm/v4/pkg/kube"
1919
import (
2020
"context"
2121
"fmt"
22+
"log/slog"
2223
"net/http"
2324
"time"
2425

@@ -101,12 +102,13 @@ func (w *waiter) isRetryableHTTPStatusCode(httpStatusCode int32) bool {
101102

102103
// waitForDeletedResources polls to check if all the resources are deleted or a timeout is reached
103104
func (w *waiter) waitForDeletedResources(deleted ResourceList) error {
104-
w.log("beginning wait for %d resources to be deleted with timeout of %v", len(deleted), w.timeout)
105+
slog.Debug("beginning wait for resources to be deleted", "count", len(deleted), "timeout", w.timeout)
105106

107+
startTime := time.Now()
106108
ctx, cancel := context.WithTimeout(context.Background(), w.timeout)
107109
defer cancel()
108110

109-
return wait.PollUntilContextCancel(ctx, 2*time.Second, true, func(_ context.Context) (bool, error) {
111+
err := wait.PollUntilContextCancel(ctx, 2*time.Second, true, func(_ context.Context) (bool, error) {
110112
for _, v := range deleted {
111113
err := v.Get()
112114
if err == nil || !apierrors.IsNotFound(err) {
@@ -115,6 +117,15 @@ func (w *waiter) waitForDeletedResources(deleted ResourceList) error {
115117
}
116118
return true, nil
117119
})
120+
121+
elapsed := time.Since(startTime).Round(time.Second)
122+
if err != nil {
123+
slog.Debug("wait for resources failed", "elapsed", elapsed, slog.Any("error", err))
124+
} else {
125+
slog.Debug("wait for resources succeeded", "elapsed", elapsed)
126+
}
127+
128+
return err
118129
}
119130

120131
// SelectorsForObject returns the pod label selector for a given object

0 commit comments

Comments
 (0)