geziyor/middleware/metrics.go
2019-07-08 14:51:54 +03:00

21 lines
467 B
Go

package middleware
import (
"github.com/geziyor/geziyor/client"
"github.com/geziyor/geziyor/metrics"
"strconv"
)
// Metrics sets stats for request and responses
type Metrics struct {
Metrics *metrics.Metrics
}
func (a *Metrics) ProcessRequest(r *client.Request) {
a.Metrics.RequestCounter.With("method", r.Method).Add(1)
}
func (a *Metrics) ProcessResponse(r *client.Response) {
a.Metrics.ResponseCounter.With("status", strconv.Itoa(r.StatusCode)).Add(1)
}