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  }