update conditional metrics usage
This commit is contained in:
@ -29,7 +29,7 @@ var (
|
||||
global Metrics = Noop()
|
||||
)
|
||||
|
||||
func SetGlobal(m Metrics) {
|
||||
func Init(m Metrics) {
|
||||
if m != nil {
|
||||
global = m
|
||||
} else {
|
||||
@ -37,8 +37,8 @@ func SetGlobal(m Metrics) {
|
||||
}
|
||||
}
|
||||
|
||||
func Global() Metrics {
|
||||
return global
|
||||
func IsEnabled() bool {
|
||||
return global != Noop()
|
||||
}
|
||||
|
||||
type Gauge interface {
|
||||
|
@ -20,6 +20,9 @@ type serverConn struct {
|
||||
}
|
||||
|
||||
func WrapConn(service string, c net.Conn) net.Conn {
|
||||
if !metrics.IsEnabled() {
|
||||
return c
|
||||
}
|
||||
return &serverConn{
|
||||
service: service,
|
||||
Conn: c,
|
||||
@ -65,6 +68,9 @@ type packetConn struct {
|
||||
}
|
||||
|
||||
func WrapPacketConn(service string, pc net.PacketConn) net.PacketConn {
|
||||
if !metrics.IsEnabled() {
|
||||
return pc
|
||||
}
|
||||
return &packetConn{
|
||||
PacketConn: pc,
|
||||
service: service,
|
||||
|
@ -12,6 +12,10 @@ type listener struct {
|
||||
}
|
||||
|
||||
func WrapListener(service string, ln net.Listener) net.Listener {
|
||||
if !metrics.IsEnabled() {
|
||||
return ln
|
||||
}
|
||||
|
||||
return &listener{
|
||||
service: service,
|
||||
Listener: ln,
|
||||
@ -24,9 +28,5 @@ func (ln *listener) Accept() (net.Conn, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// metrics is not enabled
|
||||
if metrics.Global() == metrics.Noop() {
|
||||
return c, nil
|
||||
}
|
||||
return WrapConn(ln.service, c), nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user