remove unnecessary metric wrapper

This commit is contained in:
ginuerzh 2022-04-05 22:54:17 +08:00
parent c2f49e9444
commit b88025ea6d
3 changed files with 21 additions and 8 deletions

View File

@ -17,17 +17,21 @@ const (
type Labels map[string]string type Labels map[string]string
var ( var (
metrics Metrics = Noop() global Metrics = Noop()
) )
func SetGlobal(m Metrics) { func SetGlobal(m Metrics) {
if m != nil { if m != nil {
metrics = m global = m
} else { } else {
metrics = Noop() global = Noop()
} }
} }
func Global() Metrics {
return global
}
type Gauge interface { type Gauge interface {
Inc() Inc()
Dec() Dec()
@ -51,13 +55,13 @@ type Metrics interface {
} }
func GetCounter(name MetricName, labels Labels) Counter { func GetCounter(name MetricName, labels Labels) Counter {
return metrics.Counter(name, labels) return global.Counter(name, labels)
} }
func GetGauge(name MetricName, labels Labels) Gauge { func GetGauge(name MetricName, labels Labels) Gauge {
return metrics.Gauge(name, labels) return global.Gauge(name, labels)
} }
func GetObserver(name MetricName, labels Labels) Observer { func GetObserver(name MetricName, labels Labels) Observer {
return metrics.Observer(name, labels) return global.Observer(name, labels)
} }

View File

@ -13,7 +13,7 @@ var (
errUnsupport = errors.New("unsupported operation") errUnsupport = errors.New("unsupported operation")
) )
// ServerConn is a server side Conn with metrics supported. // serverConn is a server side Conn with metrics supported.
type serverConn struct { type serverConn struct {
net.Conn net.Conn
service string service string

View File

@ -1,6 +1,10 @@
package wrapper package wrapper
import "net" import (
"net"
"github.com/go-gost/core/metrics"
)
type listener struct { type listener struct {
service string service string
@ -19,5 +23,10 @@ func (ln *listener) Accept() (net.Conn, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
// metrics is not enabled
if metrics.Global() == metrics.Noop() {
return c, nil
}
return WrapConn(ln.service, c), nil return WrapConn(ln.service, c), nil
} }