整合 gin

package middleware  
  
import (  
   "github.com/gin-gonic/gin"  
   "github.com/prometheus/client_golang/prometheus")  
  
var httpRequestCount = prometheus.NewCounterVec(  
   prometheus.CounterOpts{  
      Name: "http_request_count",  
      Help: "http request count",  
   },  
   []string{"endpoint"},  
)  
  
func init() {  
   prometheus.MustRegister(httpRequestCount)  
}  
  
func Prometheus() gin.HandlerFunc {  
   return func(c *gin.Context) {  
      httpRequestCount.WithLabelValues(c.Request.RequestURI).Inc()  
      c.Next()  
   }  
}

gin 中加入

Router.GET("/metrics", func(c *gin.Context) {  
   promhttp.Handler().ServeHTTP(c.Writer, c.Request)  
})  
Router.Use(middleware.Prometheus())