35 lines
425 B
Go
35 lines
425 B
Go
|
package metric
|
||
|
|
||
|
import "os"
|
||
|
|
||
|
var (
|
||
|
serv *service
|
||
|
)
|
||
|
|
||
|
type Config struct {
|
||
|
Address string
|
||
|
Interval int
|
||
|
}
|
||
|
|
||
|
func NewConfg() *Config {
|
||
|
return &Config{
|
||
|
Address: "10.0.1.15:17000",
|
||
|
Interval: 10,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func Init(c *Config) error {
|
||
|
if serv != nil {
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
hostname, _ := os.Hostname()
|
||
|
serv = &service{
|
||
|
config: c,
|
||
|
hostname: hostname,
|
||
|
metrics: make(chan *metric, 100000),
|
||
|
}
|
||
|
go serv.run()
|
||
|
return nil
|
||
|
}
|