gitee.com/woood2/luca@v1.0.4/cmd/backend/internal/middleware/metrics.go (about) 1 package middleware 2 3 import ( 4 "gitee.com/woood2/luca/internal/status" 5 "github.com/gin-gonic/gin" 6 "time" 7 ) 8 9 func Metrics(res string) gin.HandlerFunc { 10 return func(c *gin.Context) { 11 defer func(begin time.Time) { 12 lvs := []string{"method", res} 13 status.RequestCount.With(lvs...).Add(1) 14 status.RequestLatency.With(lvs...).Observe(time.Since(begin).Seconds()) 15 }(time.Now()) 16 17 c.Next() 18 } 19 }