diff --git a/cmd/handler-utils.go b/cmd/handler-utils.go index 174c55a15..bf3f6628b 100644 --- a/cmd/handler-utils.go +++ b/cmd/handler-utils.go @@ -29,7 +29,6 @@ import ( "net/url" "regexp" "strings" - "time" xhttp "github.com/minio/minio/cmd/http" "github.com/minio/minio/cmd/logger" @@ -379,12 +378,7 @@ func collectAPIStats(api string, f http.HandlerFunc) http.HandlerFunc { f.ServeHTTP(statsWriter, r) - // Time duration in secs since the call started. - // We don't need to do nanosecond precision in this - // simply for the fact that it is not human readable. - durationSecs := time.Since(statsWriter.StartTime).Seconds() - - globalHTTPStats.updateStats(api, r, statsWriter, durationSecs) + globalHTTPStats.updateStats(api, r, statsWriter) } } diff --git a/cmd/http-stats.go b/cmd/http-stats.go index ec88f2822..d4535c1ed 100644 --- a/cmd/http-stats.go +++ b/cmd/http-stats.go @@ -161,7 +161,7 @@ func (st *HTTPStats) toServerHTTPStats() ServerHTTPStats { } // Update statistics from http request and response data -func (st *HTTPStats) updateStats(api string, r *http.Request, w *logger.ResponseWriter, durationSecs float64) { +func (st *HTTPStats) updateStats(api string, r *http.Request, w *logger.ResponseWriter) { // A successful request has a 2xx response code successReq := (w.StatusCode >= 200 && w.StatusCode < 300) @@ -172,10 +172,8 @@ func (st *HTTPStats) updateStats(api string, r *http.Request, w *logger.Response } } - if r.Method == http.MethodGet { - // Increment the prometheus http request response histogram with appropriate label - httpRequestsDuration.With(prometheus.Labels{"api": api}).Observe(durationSecs) - } + // Increment the prometheus http request response histogram with appropriate label + httpRequestsDuration.With(prometheus.Labels{"api": api}).Observe(w.TimeToFirstByte.Seconds()) } // Prepare new HTTPStats structure