aboutsummaryrefslogtreecommitdiff
path: root/weed/s3api/stats.go
blob: 16a546c662cc00539bfa6061b05f401df535bc3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package s3api

import (
	stats_collect "github.com/chrislusf/seaweedfs/weed/stats"
	"github.com/chrislusf/seaweedfs/weed/util"
	"net/http"
	"time"
)

func track(f http.HandlerFunc, action string) http.HandlerFunc {

	return func(w http.ResponseWriter, r *http.Request) {

		w.Header().Set("Server", "SeaweedFS S3 "+util.VERSION)

		start := time.Now()
		stats_collect.S3RequestCounter.WithLabelValues(action).Inc()
		f(w, r)
		stats_collect.S3RequestHistogram.WithLabelValues(action).Observe(time.Since(start).Seconds())
	}
}