Browse Source

metrics: use gin router

pull/643/head
aler9 4 years ago
parent
commit
226e26e05f
  1. 17
      internal/core/metrics.go

17
internal/core/metrics.go

@ -9,6 +9,8 @@ import (
"sync" "sync"
"time" "time"
"github.com/gin-gonic/gin"
"github.com/aler9/rtsp-simple-server/internal/logger" "github.com/aler9/rtsp-simple-server/internal/logger"
) )
@ -35,7 +37,6 @@ type metricsParent interface {
type metrics struct { type metrics struct {
listener net.Listener listener net.Listener
mux *http.ServeMux
server *http.Server server *http.Server
mutex sync.Mutex mutex sync.Mutex
@ -58,12 +59,10 @@ func newMetrics(
listener: listener, listener: listener,
} }
m.mux = http.NewServeMux() router := gin.New()
m.mux.HandleFunc("/metrics", m.onMetrics) router.GET("/metrics", m.onMetrics)
m.server = &http.Server{ m.server = &http.Server{Handler: router}
Handler: m.mux,
}
parent.Log(logger.Info, "[metrics] opened on "+address) parent.Log(logger.Info, "[metrics] opened on "+address)
@ -83,7 +82,7 @@ func (m *metrics) run() {
} }
} }
func (m *metrics) onMetrics(w http.ResponseWriter, req *http.Request) { func (m *metrics) onMetrics(ctx *gin.Context) {
nowUnix := time.Now().UnixNano() / 1000000 nowUnix := time.Now().UnixNano() / 1000000
out := "" out := ""
@ -188,8 +187,8 @@ func (m *metrics) onMetrics(w http.ResponseWriter, req *http.Request) {
} }
} }
w.WriteHeader(http.StatusOK) ctx.Writer.WriteHeader(http.StatusOK)
io.WriteString(w, out) io.WriteString(ctx.Writer, out)
} }
// OnPathManagerSet is called by pathManager. // OnPathManagerSet is called by pathManager.

Loading…
Cancel
Save