From 23b516cf15fc58d4e61ee15b8fce6478af239eb4 Mon Sep 17 00:00:00 2001 From: Catherine Date: Tue, 21 Oct 2025 00:29:42 +0000 Subject: [PATCH] Observe timings even for `304 Not Modified` responses to manifest loads. --- src/backend_s3.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/backend_s3.go b/src/backend_s3.go index 046dfec..955d851 100644 --- a/src/backend_s3.go +++ b/src/backend_s3.go @@ -320,11 +320,11 @@ func (l s3ManifestLoader) Reload(ctx context.Context, key string, oldValue *Cach } func (l s3ManifestLoader) load(ctx context.Context, name string, oldManifest *CachedManifest) (*CachedManifest, error) { + log.Printf("s3: get manifest %s\n", name) + + startTime := time.Now() + manifest, size, etag, err := func() (*Manifest, uint32, string, error) { - log.Printf("s3: get manifest %s\n", name) - - startTime := time.Now() - opts := minio.GetObjectOptions{} if oldManifest != nil && oldManifest.etag != "" { opts.SetMatchETagExcept(oldManifest.etag) @@ -351,13 +351,13 @@ func (l s3ManifestLoader) load(ctx context.Context, name string, oldManifest *Ca return nil, 0, "", err } - s3GetObjectDurationSeconds. - With(prometheus.Labels{"kind": "manifest"}). - Observe(time.Since(startTime).Seconds()) - return manifest, uint32(len(data)), stat.ETag, nil }() + s3GetObjectDurationSeconds. + With(prometheus.Labels{"kind": "manifest"}). + Observe(time.Since(startTime).Seconds()) + if err != nil { if errResp := minio.ToErrorResponse(err); errResp.Code == "NoSuchKey" { err = fmt.Errorf("%w: %s", errNotFound, errResp.Key)