From 24dd615b8e3b6edc68b2e9ac142536b7f5131327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucas=20Serv=C3=A9n=20Mar=C3=ADn?= Date: Wed, 19 Jun 2019 19:03:38 +0200 Subject: [PATCH] pkg/receive: add requests counter metric (#1262) As per the discussion in https://github.com/improbable-eng/thanos/pull/1261#issuecomment-503561741, let's add a metric to track the total number of requests handled by the receive component. --- pkg/receive/handler.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkg/receive/handler.go b/pkg/receive/handler.go index 45c4a1dc6c..f64c6ca9af 100644 --- a/pkg/receive/handler.go +++ b/pkg/receive/handler.go @@ -32,6 +32,12 @@ var ( }, []string{"handler"}, ) + requestsTotal = prometheus.NewCounterVec( + prometheus.CounterOpts{ + Name: "thanos_http_requests_total", + Help: "Tracks the number of HTTP requests.", + }, []string{"code", "handler", "method"}, + ) responseSize = prometheus.NewHistogramVec( prometheus.HistogramOpts{ Name: "thanos_http_response_size_bytes", @@ -67,7 +73,10 @@ func instrumentHandler(handlerName string, handler http.HandlerFunc) http.Handle requestDuration.MustCurryWith(prometheus.Labels{"handler": handlerName}), promhttp.InstrumentHandlerResponseSize( responseSize.MustCurryWith(prometheus.Labels{"handler": handlerName}), - handler, + promhttp.InstrumentHandlerCounter( + requestsTotal.MustCurryWith(prometheus.Labels{"handler": handlerName}), + handler, + ), ), ) } @@ -92,6 +101,7 @@ func NewHandler(logger log.Logger, o *Options) *Handler { if o.Registry != nil { o.Registry.MustRegister( requestDuration, + requestsTotal, responseSize, ) }