godash/system/system.go
2022-10-27 18:43:33 +02:00

38 lines
805 B
Go

package system
import (
"github.com/sirupsen/logrus"
"godash/config"
"godash/hub"
"time"
)
var Config = SystemConfig{}
var Sys = System{}
func NewSystemService() {
config.ParseViperConfig(&Config, config.AddViperConfig("system"))
if Config.LiveSystem {
Sys.Initialize()
}
}
func (s *System) UpdateLiveInformation() {
for {
s.liveCpu()
s.liveRam()
s.liveDisk()
s.uptime()
hub.LiveInformationCh <- hub.Message{WsType: hub.System, Message: s.Live}
time.Sleep(1 * time.Second)
}
}
func (s *System) Initialize() {
s.Static.Host = staticHost()
s.Static.CPU = staticCpu()
s.Static.Ram = staticRam()
s.Static.Disk = staticDisk()
go s.UpdateLiveInformation()
logrus.WithFields(logrus.Fields{"cpu": s.Static.CPU.Name, "arch": s.Static.Host.Architecture}).Debug("system updated")
}