38 lines
1.0 KiB
Go
38 lines
1.0 KiB
Go
|
package host
|
||
|
|
||
|
import (
|
||
|
"encoding/json"
|
||
|
)
|
||
|
|
||
|
// A HostInfoStat describes the host status.
|
||
|
// This is not in the psutil but it useful.
|
||
|
type HostInfoStat struct {
|
||
|
Hostname string `json:"hostname"`
|
||
|
Uptime uint64 `json:"uptime"`
|
||
|
Procs uint64 `json:"procs"` // number of processes
|
||
|
OS string `json:"os"` // ex: freebsd, linux
|
||
|
Platform string `json:"platform"` // ex: ubuntu, linuxmint
|
||
|
PlatformFamily string `json:"platform_family"` // ex: debian, rhel
|
||
|
PlatformVersion string `json:"platform_version"`
|
||
|
VirtualizationSystem string `json:"virtualization_system"`
|
||
|
VirtualizationRole string `json:"virtualization_role"` // guest or host
|
||
|
|
||
|
}
|
||
|
|
||
|
type UserStat struct {
|
||
|
User string `json:"user"`
|
||
|
Terminal string `json:"terminal"`
|
||
|
Host string `json:"host"`
|
||
|
Started int `json:"started"`
|
||
|
}
|
||
|
|
||
|
func (h HostInfoStat) String() string {
|
||
|
s, _ := json.Marshal(h)
|
||
|
return string(s)
|
||
|
}
|
||
|
|
||
|
func (u UserStat) String() string {
|
||
|
s, _ := json.Marshal(u)
|
||
|
return string(s)
|
||
|
}
|