From 7a7b293113b86cfb007ea92dab4eafa7024bd6da Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Tue, 14 Mar 2017 14:56:35 -0400 Subject: Moving HTTP request counter to the start of ServeHTTP so count time is not effected by request duration. (#5764) --- api/context.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'api') diff --git a/api/context.go b/api/context.go index 21989f775..9a707c968 100644 --- a/api/context.go +++ b/api/context.go @@ -102,6 +102,10 @@ func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { now := time.Now() l4g.Debug("%v", r.URL.Path) + if metrics := einterfaces.GetMetricsInterface(); metrics != nil && h.isApi { + metrics.IncrementHttpRequest() + } + c := &Context{} c.T, c.Locale = utils.GetTranslationsAndLocale(w, r) c.RequestId = model.NewId() @@ -250,8 +254,6 @@ func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { } if h.isApi && einterfaces.GetMetricsInterface() != nil { - einterfaces.GetMetricsInterface().IncrementHttpRequest() - if r.URL.Path != model.API_URL_SUFFIX_V3+"/users/websocket" { elapsed := float64(time.Since(now)) / float64(time.Second) einterfaces.GetMetricsInterface().ObserveHttpRequestDuration(elapsed) -- cgit v1.2.3-1-g7c22