2014-12-30 21:09:05 +08:00
|
|
|
package host
|
2014-04-18 15:34:47 +08:00
|
|
|
|
2014-05-01 17:43:11 +08:00
|
|
|
import (
|
|
|
|
"encoding/json"
|
2016-05-20 16:59:41 +08:00
|
|
|
|
|
|
|
"github.com/shirou/gopsutil/internal/common"
|
2014-05-01 17:43:11 +08:00
|
|
|
)
|
|
|
|
|
2018-03-21 22:08:39 +08:00
|
|
|
var invoke common.Invoker = common.Invoke{}
|
2016-05-20 16:59:41 +08:00
|
|
|
|
2014-04-22 09:31:14 +08:00
|
|
|
// A HostInfoStat describes the host status.
|
|
|
|
// This is not in the psutil but it useful.
|
2016-03-22 22:09:12 +08:00
|
|
|
type InfoStat struct {
|
2014-05-20 18:36:19 +08:00
|
|
|
Hostname string `json:"hostname"`
|
|
|
|
Uptime uint64 `json:"uptime"`
|
2016-03-23 09:52:46 +08:00
|
|
|
BootTime uint64 `json:"bootTime"`
|
2016-08-23 05:15:30 +08:00
|
|
|
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)
|
2019-08-08 05:59:43 +08:00
|
|
|
KernelArch string `json:"kernelArch"` // native cpu architecture queried at runtime, as returned by `uname -m` or empty string in case of error
|
2016-03-23 09:52:46 +08:00
|
|
|
VirtualizationSystem string `json:"virtualizationSystem"`
|
|
|
|
VirtualizationRole string `json:"virtualizationRole"` // guest or host
|
2016-08-11 15:51:07 +08:00
|
|
|
HostID string `json:"hostid"` // ex: uuid
|
2014-04-18 15:34:47 +08:00
|
|
|
}
|
2014-04-22 16:38:47 +08:00
|
|
|
|
|
|
|
type UserStat struct {
|
|
|
|
User string `json:"user"`
|
|
|
|
Terminal string `json:"terminal"`
|
|
|
|
Host string `json:"host"`
|
|
|
|
Started int `json:"started"`
|
|
|
|
}
|
2014-05-01 17:43:11 +08:00
|
|
|
|
2017-03-19 09:05:46 +08:00
|
|
|
type TemperatureStat struct {
|
|
|
|
SensorKey string `json:"sensorKey"`
|
|
|
|
Temperature float64 `json:"sensorTemperature"`
|
|
|
|
}
|
|
|
|
|
2016-03-22 22:09:12 +08:00
|
|
|
func (h InfoStat) String() string {
|
2014-05-01 17:43:11 +08:00
|
|
|
s, _ := json.Marshal(h)
|
|
|
|
return string(s)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (u UserStat) String() string {
|
|
|
|
s, _ := json.Marshal(u)
|
|
|
|
return string(s)
|
|
|
|
}
|
2017-03-19 09:05:46 +08:00
|
|
|
|
|
|
|
func (t TemperatureStat) String() string {
|
|
|
|
s, _ := json.Marshal(t)
|
|
|
|
return string(s)
|
|
|
|
}
|