diff options
Diffstat (limited to 'weed/s3api/stats.go')
| -rw-r--r-- | weed/s3api/stats.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/weed/s3api/stats.go b/weed/s3api/stats.go new file mode 100644 index 000000000..16a546c66 --- /dev/null +++ b/weed/s3api/stats.go @@ -0,0 +1,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()) + } +} |
