package service import ( "rition-probe/client" "rition-probe/probe" "time" ) type Config struct { ClientConfig client.Config MonitorDiskDevice string MonitorDiskMountPoint string MonitorNetworkInterface string ReportInterval time.Duration `json:"reportInterval,omitempty"` } type Service struct { config Config probe *probe.Probe client *client.Client prevCpuLoadDataCollectTime time.Time prevCpuLoadData float64 } func NewService(config Config) *Service { service := Service{ config: config, probe: probe.NewProbe(), client: client.NetClient(config.ClientConfig), } service.prevCpuLoadData = service.probe.CurrentCPUTotalPercent() service.prevCpuLoadDataCollectTime = time.Now() return &service }