mirror of https://github.com/fatedier/frp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.1 KiB
37 lines
1.1 KiB
package metrics |
|
|
|
import ( |
|
"sync" |
|
) |
|
|
|
type ServerMetrics interface { |
|
NewClient() |
|
CloseClient() |
|
NewProxy(name string, proxyType string) |
|
CloseProxy(name string, proxyType string) |
|
OpenConnection(name string, proxyType string) |
|
CloseConnection(name string, proxyType string) |
|
AddTrafficIn(name string, proxyType string, trafficBytes int64) |
|
AddTrafficOut(name string, proxyType string, trafficBytes int64) |
|
} |
|
|
|
var Server ServerMetrics = noopServerMetrics{} |
|
|
|
var registerMetrics sync.Once |
|
|
|
func Register(m ServerMetrics) { |
|
registerMetrics.Do(func() { |
|
Server = m |
|
}) |
|
} |
|
|
|
type noopServerMetrics struct{} |
|
|
|
func (noopServerMetrics) NewClient() {} |
|
func (noopServerMetrics) CloseClient() {} |
|
func (noopServerMetrics) NewProxy(string, string) {} |
|
func (noopServerMetrics) CloseProxy(string, string) {} |
|
func (noopServerMetrics) OpenConnection(string, string) {} |
|
func (noopServerMetrics) CloseConnection(string, string) {} |
|
func (noopServerMetrics) AddTrafficIn(string, string, int64) {} |
|
func (noopServerMetrics) AddTrafficOut(string, string, int64) {}
|
|
|