mirror of
https://gitee.com/IrisVega/frp.git
synced 2024-11-01 22:31:29 +08:00
495d999b6c
* refactoring monitor code, support prometheus * remove vendor
38 lines
1.3 KiB
Go
38 lines
1.3 KiB
Go
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(name string, proxyType string) {}
|
|
func (noopServerMetrics) CloseProxy(name string, proxyType string) {}
|
|
func (noopServerMetrics) OpenConnection(name string, proxyType string) {}
|
|
func (noopServerMetrics) CloseConnection(name string, proxyType string) {}
|
|
func (noopServerMetrics) AddTrafficIn(name string, proxyType string, trafficBytes int64) {}
|
|
func (noopServerMetrics) AddTrafficOut(name string, proxyType string, trafficBytes int64) {}
|