open-nomad/vendor/github.com/shirou/gopsutil/host/host.go

58 lines
1.6 KiB
Go
Raw Normal View History

2016-02-12 18:02:16 +00:00
package host
import (
"encoding/json"
2016-06-17 14:31:00 +00:00
"github.com/shirou/gopsutil/internal/common"
2016-02-12 18:02:16 +00:00
)
var invoke common.Invoker
2016-06-17 14:31:00 +00:00
func init() {
invoke = common.Invoke{}
}
2016-02-12 18:02:16 +00:00
// A HostInfoStat describes the host status.
// This is not in the psutil but it useful.
2016-05-09 15:19:04 +00:00
type InfoStat struct {
2016-02-12 18:02:16 +00:00
Hostname string `json:"hostname"`
Uptime uint64 `json:"uptime"`
2016-05-09 15:19:04 +00:00
BootTime uint64 `json:"bootTime"`
Procs uint64 `json:"procs"` // number of processes
OS string `json:"os"` // ex: freebsd, linux
Platform string `json:"platform"` // ex: ubuntu, linuxmint
PlatformFamily string `json:"platformFamily"` // ex: debian, rhel
PlatformVersion string `json:"platformVersion"` // version of the complete OS
KernelVersion string `json:"kernelVersion"` // version of the OS kernel (if available)
2016-05-09 15:19:04 +00:00
VirtualizationSystem string `json:"virtualizationSystem"`
VirtualizationRole string `json:"virtualizationRole"` // guest or host
HostID string `json:"hostid"` // ex: uuid
2016-02-12 18:02:16 +00:00
}
type UserStat struct {
User string `json:"user"`
Terminal string `json:"terminal"`
Host string `json:"host"`
Started int `json:"started"`
}
type TemperatureStat struct {
SensorKey string `json:"sensorKey"`
Temperature float64 `json:"sensorTemperature"`
}
2016-05-09 15:19:04 +00:00
func (h InfoStat) String() string {
2016-02-12 18:02:16 +00:00
s, _ := json.Marshal(h)
return string(s)
}
func (u UserStat) String() string {
s, _ := json.Marshal(u)
return string(s)
}
func (t TemperatureStat) String() string {
s, _ := json.Marshal(t)
return string(s)
}