diff --git a/app/query/metrics.go b/app/query/metrics.go index 08a282bf..ed8d8310 100644 --- a/app/query/metrics.go +++ b/app/query/metrics.go @@ -53,6 +53,13 @@ var ( }, []string{"kind", "method"}, ) + QueryCacheRetrySuccesses = promauto.NewSummary( + prometheus.SummaryOpts{ + Namespace: "query_cache", + Name: "retry_successes", + Help: "Successful counts of cache retrieval retries", + }, + ) QueryCacheErrorCount = promauto.NewCounterVec( prometheus.CounterOpts{ Namespace: "query_cache", diff --git a/app/query/processors.go b/app/query/processors.go index 49a81417..679bb824 100644 --- a/app/query/processors.go +++ b/app/query/processors.go @@ -657,6 +657,13 @@ func preflightCacheHook(caller *Caller, ctx context.Context) (*jsonrpc.RPCRespon duration := time.Since(start).Seconds() switch { case err == nil && resp.Error == nil: + if attempt > 0 { + log.Infof( + "cache retriever %s attempt #%d succeeded", + query.Method(), attempt, + ) + QueryCacheRetrySuccesses.Observe(float64(attempt)) + } return resp, err case err != nil: QueryCacheRetrievalFailures.WithLabelValues(CacheRetrievalErrorNet, query.Method()).Inc()