Skip to content

Commit 993a838

Browse files
updated counter to counter vec, added counter vec tests
1 parent 49c736b commit 993a838

File tree

2 files changed

+34
-4
lines changed

2 files changed

+34
-4
lines changed

internal/cortex/frontend/transport/handler.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ type Handler struct {
6262
querySeconds *prometheus.CounterVec
6363
querySeries *prometheus.CounterVec
6464
queryBytes *prometheus.CounterVec
65-
cachedHits prometheus.Counter
65+
cachedHits *prometheus.CounterVec
6666
activeUsers *util.ActiveUsersCleanupService
6767
}
6868

@@ -108,10 +108,10 @@ func NewHandler(cfg HandlerConfig, roundTripper http.RoundTripper, log log.Logge
108108
_ = h.activeUsers.StartAsync(context.Background())
109109
}
110110

111-
h.cachedHits = promauto.With(reg).NewCounter(prometheus.CounterOpts{
111+
h.cachedHits = promauto.With(reg).NewCounterVec(prometheus.CounterOpts{
112112
Name: "cached_failed_queries_count",
113113
Help: "Total number of queries that hit the failed query cache.",
114-
})
114+
}, []string{"total"})
115115

116116
return h
117117
}
@@ -148,7 +148,7 @@ func (f *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
148148
if cached {
149149
w.WriteHeader(http.StatusForbidden)
150150
level.Info(util_log.WithContext(r.Context(), f.log)).Log(message)
151-
f.cachedHits.Inc()
151+
f.cachedHits.WithLabelValues("total").Inc()
152152
return
153153
}
154154
}

internal/cortex/frontend/transport/utils/utils_test.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ import (
88
"errors"
99
"net/url"
1010
"testing"
11+
12+
"github.com/prometheus/client_golang/prometheus"
13+
"github.com/prometheus/client_golang/prometheus/promauto"
14+
"github.com/prometheus/client_golang/prometheus/testutil"
1115
)
1216

1317
func TestNewFailedQueryCache(t *testing.T) {
@@ -195,3 +199,29 @@ func TestQueryHitCache(t *testing.T) {
195199
})
196200
}
197201
}
202+
203+
func TestCacheCounterVec(t *testing.T) {
204+
reg := prometheus.NewRegistry()
205+
cachedHits := promauto.With(reg).NewCounterVec(prometheus.CounterOpts{
206+
Name: "cached_failed_queries_count",
207+
Help: "Total number of queries that hit the failed query cache.",
208+
}, []string{"total"})
209+
210+
cachedHits.WithLabelValues("total").Inc()
211+
expectedValue := 1.0
212+
value := testutil.ToFloat64(cachedHits.WithLabelValues("total"))
213+
if value != expectedValue {
214+
t.Errorf("expected %v, got %v", expectedValue, value)
215+
}
216+
cachedHits.WithLabelValues("total").Inc()
217+
expectedValue = 2.0
218+
value = testutil.ToFloat64(cachedHits.WithLabelValues("total"))
219+
if value != expectedValue {
220+
t.Errorf("expected %v, got %v", expectedValue, value)
221+
}
222+
expectedValue = 0.0
223+
value = testutil.ToFloat64(cachedHits.WithLabelValues("incorrect_label"))
224+
if value != expectedValue {
225+
t.Errorf("expected %v, got %v", expectedValue, value)
226+
}
227+
}

0 commit comments

Comments
 (0)