From dcd1c6766cd333b7a53c2c11a4d44aabd6720583 Mon Sep 17 00:00:00 2001 From: Cameron Sparr Date: Tue, 10 Nov 2015 14:20:31 -0700 Subject: [PATCH] Godep save: gopsutil --- Godeps/Godeps.json | 25 +- .../github.com/shirou/gopsutil/host/host.go | 37 -- .../shirou/gopsutil/host/host_darwin.go | 139 ------ .../shirou/gopsutil/host/host_darwin_amd64.go | 19 - .../shirou/gopsutil/host/host_freebsd.go | 185 -------- .../gopsutil/host/host_freebsd_amd64.go | 41 -- .../shirou/gopsutil/host/host_linux.go | 402 ------------------ .../shirou/gopsutil/host/host_linux_386.go | 44 -- .../shirou/gopsutil/host/host_linux_amd64.go | 42 -- .../shirou/gopsutil/host/host_linux_arm.go | 42 -- .../shirou/gopsutil/host/host_linux_test.go | 61 --- .../shirou/gopsutil/host/host_test.go | 67 --- .../shirou/gopsutil/host/host_windows.go | 123 ------ .../shirou/gopsutil/host/types_darwin.go | 17 - .../shirou/gopsutil/host/types_freebsd.go | 43 -- .../shirou/gopsutil/host/types_linux.go | 45 -- 16 files changed, 10 insertions(+), 1322 deletions(-) delete mode 100644 Godeps/_workspace/src/github.com/shirou/gopsutil/host/host.go delete mode 100644 Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_darwin.go delete mode 100644 Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_darwin_amd64.go delete mode 100644 Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_freebsd.go delete mode 100644 Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_freebsd_amd64.go delete mode 100644 Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux.go delete mode 100644 Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux_386.go delete mode 100644 Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux_amd64.go delete mode 100644 Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux_arm.go delete mode 100644 Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux_test.go delete mode 100644 Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_test.go delete mode 100644 Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_windows.go delete mode 100644 Godeps/_workspace/src/github.com/shirou/gopsutil/host/types_darwin.go delete mode 100644 Godeps/_workspace/src/github.com/shirou/gopsutil/host/types_freebsd.go delete mode 100644 Godeps/_workspace/src/github.com/shirou/gopsutil/host/types_linux.go diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 44e352742..a3a594e11 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -123,6 +123,11 @@ "ImportPath": "github.com/matttproud/golang_protobuf_extensions/pbutil", "Rev": "fc2b8d3a73c4867e51861bbdd5ae3c1f0869dd6a" }, + { + "ImportPath": "github.com/mreiferson/go-snappystream", + "Comment": "v0.2.3", + "Rev": "028eae7ab5c4c9e2d1cb4c4ca1e53259bbe7e504" + }, { "ImportPath": "github.com/naoina/go-stringutil", "Rev": "360db0db4b01d34e12a2ec042c09e7d37fece761" @@ -131,6 +136,11 @@ "ImportPath": "github.com/naoina/toml", "Rev": "5811abcabb29d6af0fdf060f96d328962bd3cd5e" }, + { + "ImportPath": "github.com/nsqio/go-nsq", + "Comment": "v1.0.5-6-g2118015", + "Rev": "2118015c120962edc5d03325c680daf3163a8b5f" + }, { "ImportPath": "github.com/pborman/uuid", "Rev": "ca53cad383cad2479bbba7f7a1a05797ec1386e4" @@ -181,11 +191,6 @@ "Comment": "1.0.0-161-g3303647", "Rev": "3303647209557312e5db51450ea8bbdef56d5176" }, - { - "ImportPath": "github.com/shirou/gopsutil/host", - "Comment": "1.0.0-161-g3303647", - "Rev": "3303647209557312e5db51450ea8bbdef56d5176" - }, { "ImportPath": "github.com/shirou/gopsutil/load", "Comment": "1.0.0-161-g3303647", @@ -271,16 +276,6 @@ { "ImportPath": "gopkg.in/yaml.v2", "Rev": "7ad95dd0798a40da1ccdff6dff35fd177b5edf40" - }, - { - "ImportPath": "github.com/mreiferson/go-snappystream", - "Comment": "v0.2.3", - "Rev": "028eae7ab5c4c9e2d1cb4c4ca1e53259bbe7e504" - }, - { - "ImportPath": "github.com/nsqio/go-nsq", - "Comment": "v1.0.5-6-g2118015", - "Rev": "2118015c120962edc5d03325c680daf3163a8b5f" } ] } diff --git a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host.go b/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host.go deleted file mode 100644 index 523b63461..000000000 --- a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host.go +++ /dev/null @@ -1,37 +0,0 @@ -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) -} diff --git a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_darwin.go b/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_darwin.go deleted file mode 100644 index 1e6e3c6f5..000000000 --- a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_darwin.go +++ /dev/null @@ -1,139 +0,0 @@ -// +build darwin - -package host - -import ( - "bytes" - "encoding/binary" - "io/ioutil" - "os" - "os/exec" - "runtime" - "strconv" - "strings" - "unsafe" - - common "github.com/shirou/gopsutil/common" -) - -func HostInfo() (*HostInfoStat, error) { - ret := &HostInfoStat{ - OS: runtime.GOOS, - PlatformFamily: "darwin", - } - - hostname, err := os.Hostname() - if err != nil { - return ret, err - } - ret.Hostname = hostname - - platform, family, version, err := GetPlatformInformation() - if err == nil { - ret.Platform = platform - ret.PlatformFamily = family - ret.PlatformVersion = version - } - system, role, err := GetVirtualization() - if err == nil { - ret.VirtualizationSystem = system - ret.VirtualizationRole = role - } - - values, err := common.DoSysctrl("kern.boottime") - if err == nil { - // ex: { sec = 1392261637, usec = 627534 } Thu Feb 13 12:20:37 2014 - v := strings.Replace(values[2], ",", "", 1) - t, err := strconv.ParseUint(v, 10, 64) - if err != nil { - return ret, err - } - ret.Uptime = t - } - - return ret, nil -} - -func BootTime() (uint64, error) { - values, err := common.DoSysctrl("kern.boottime") - if err != nil { - return 0, err - } - // ex: { sec = 1392261637, usec = 627534 } Thu Feb 13 12:20:37 2014 - v := strings.Replace(values[2], ",", "", 1) - - boottime, err := strconv.ParseInt(v, 10, 64) - if err != nil { - return 0, err - } - - return uint64(boottime), nil -} - -func Users() ([]UserStat, error) { - utmpfile := "/var/run/utmpx" - var ret []UserStat - - file, err := os.Open(utmpfile) - if err != nil { - return ret, err - } - - buf, err := ioutil.ReadAll(file) - if err != nil { - return ret, err - } - - u := Utmpx{} - entrySize := int(unsafe.Sizeof(u)) - count := len(buf) / entrySize - - for i := 0; i < count; i++ { - b := buf[i*entrySize : i*entrySize+entrySize] - - var u Utmpx - br := bytes.NewReader(b) - err := binary.Read(br, binary.LittleEndian, &u) - if err != nil { - continue - } - if u.Type != 7 { // skip if not USERPROCESS - continue - } - user := UserStat{ - User: common.IntToString(u.User[:]), - Terminal: common.IntToString(u.Line[:]), - Host: common.IntToString(u.Host[:]), - Started: int(u.Tv.Sec), - } - ret = append(ret, user) - } - - return ret, nil - -} - -func GetPlatformInformation() (string, string, string, error) { - platform := "" - family := "" - version := "" - - out, err := exec.Command("uname", "-s").Output() - if err == nil { - platform = strings.ToLower(strings.TrimSpace(string(out))) - } - - out, err = exec.Command("uname", "-r").Output() - if err == nil { - version = strings.ToLower(strings.TrimSpace(string(out))) - } - - return platform, family, version, nil -} - -func GetVirtualization() (string, string, error) { - system := "" - role := "" - - return system, role, nil -} diff --git a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_darwin_amd64.go b/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_darwin_amd64.go deleted file mode 100644 index 3ea52d527..000000000 --- a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_darwin_amd64.go +++ /dev/null @@ -1,19 +0,0 @@ -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_darwin.go - -package host - -type Utmpx struct { - User [256]int8 - Id [4]int8 - Line [32]int8 - Pid int32 - Type int16 - Pad_cgo_0 [6]byte - Tv Timeval - Host [256]int8 - Pad [16]uint32 -} -type Timeval struct { - Sec int32 -} diff --git a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_freebsd.go b/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_freebsd.go deleted file mode 100644 index edbd5dd69..000000000 --- a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_freebsd.go +++ /dev/null @@ -1,185 +0,0 @@ -// +build freebsd - -package host - -import ( - "bytes" - "encoding/binary" - "io/ioutil" - "os" - "os/exec" - "runtime" - "strconv" - "strings" - "unsafe" - - common "github.com/shirou/gopsutil/common" -) - -const ( - UTNameSize = 16 /* see MAXLOGNAME in */ - UTLineSize = 8 - UTHostSize = 16 -) - -func HostInfo() (*HostInfoStat, error) { - ret := &HostInfoStat{ - OS: runtime.GOOS, - PlatformFamily: "freebsd", - } - - hostname, err := os.Hostname() - if err != nil { - return ret, err - } - ret.Hostname = hostname - - platform, family, version, err := GetPlatformInformation() - if err == nil { - ret.Platform = platform - ret.PlatformFamily = family - ret.PlatformVersion = version - } - system, role, err := GetVirtualization() - if err == nil { - ret.VirtualizationSystem = system - ret.VirtualizationRole = role - } - - values, err := common.DoSysctrl("kern.boottime") - if err == nil { - // ex: { sec = 1392261637, usec = 627534 } Thu Feb 13 12:20:37 2014 - v := strings.Replace(values[2], ",", "", 1) - t, err := strconv.ParseUint(v, 10, 64) - if err != nil { - return ret, err - } - ret.Uptime = t - } - - return ret, nil -} - -func BootTime() (int64, error) { - values, err := common.DoSysctrl("kern.boottime") - if err != nil { - return 0, err - } - // ex: { sec = 1392261637, usec = 627534 } Thu Feb 13 12:20:37 2014 - v := strings.Replace(values[2], ",", "", 1) - - boottime, err := strconv.ParseInt(v, 10, 64) - if err != nil { - return 0, err - } - - return boottime, nil -} - -func Users() ([]UserStat, error) { - utmpfile := "/var/run/utx.active" - if !common.PathExists(utmpfile) { - utmpfile = "/var/run/utmp" // before 9.0 - return getUsersFromUtmp(utmpfile) - } - - var ret []UserStat - file, err := os.Open(utmpfile) - if err != nil { - return ret, err - } - - buf, err := ioutil.ReadAll(file) - if err != nil { - return ret, err - } - - u := Utmpx{} - entrySize := int(unsafe.Sizeof(u)) - 3 - entrySize = 197 // TODO: why should 197 - count := len(buf) / entrySize - - for i := 0; i < count; i++ { - b := buf[i*entrySize : i*entrySize+entrySize] - var u Utmpx - br := bytes.NewReader(b) - err := binary.Read(br, binary.LittleEndian, &u) - if err != nil || u.Type != 4 { - continue - } - sec := (binary.LittleEndian.Uint32(u.Tv.Sec[:])) / 2 // TODO: - user := UserStat{ - User: common.IntToString(u.User[:]), - Terminal: common.IntToString(u.Line[:]), - Host: common.IntToString(u.Host[:]), - Started: int(sec), - } - - ret = append(ret, user) - } - - return ret, nil - -} - -func GetPlatformInformation() (string, string, string, error) { - platform := "" - family := "" - version := "" - - out, err := exec.Command("uname", "-s").Output() - if err == nil { - platform = strings.ToLower(strings.TrimSpace(string(out))) - } - - out, err = exec.Command("uname", "-r").Output() - if err == nil { - version = strings.ToLower(strings.TrimSpace(string(out))) - } - - return platform, family, version, nil -} - -func GetVirtualization() (string, string, error) { - system := "" - role := "" - - return system, role, nil -} - -// before 9.0 -func getUsersFromUtmp(utmpfile string) ([]UserStat, error) { - var ret []UserStat - file, err := os.Open(utmpfile) - if err != nil { - return ret, err - } - buf, err := ioutil.ReadAll(file) - if err != nil { - return ret, err - } - - u := Utmp{} - entrySize := int(unsafe.Sizeof(u)) - count := len(buf) / entrySize - - for i := 0; i < count; i++ { - b := buf[i*entrySize : i*entrySize+entrySize] - var u Utmp - br := bytes.NewReader(b) - err := binary.Read(br, binary.LittleEndian, &u) - if err != nil || u.Time == 0 { - continue - } - user := UserStat{ - User: common.IntToString(u.Name[:]), - Terminal: common.IntToString(u.Line[:]), - Host: common.IntToString(u.Host[:]), - Started: int(u.Time), - } - - ret = append(ret, user) - } - - return ret, nil -} diff --git a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_freebsd_amd64.go b/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_freebsd_amd64.go deleted file mode 100644 index 46be58688..000000000 --- a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_freebsd_amd64.go +++ /dev/null @@ -1,41 +0,0 @@ -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_freebsd.go - -package host - -const ( - sizeofPtr = 0x8 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x8 - sizeofLongLong = 0x8 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int64 - _C_long_long int64 -) - -type Utmp struct { - Line [8]int8 - Name [16]int8 - Host [16]int8 - Time int32 -} -type Utmpx struct { - Type int16 - Tv Timeval - Id [8]int8 - Pid int32 - User [32]int8 - Line [16]int8 - Host [125]int8 - // Host [128]int8 - // X__ut_spare [64]int8 -} -type Timeval struct { - Sec [4]byte - Usec [3]byte -} diff --git a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux.go b/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux.go deleted file mode 100644 index 7f4db2b03..000000000 --- a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux.go +++ /dev/null @@ -1,402 +0,0 @@ -// +build linux - -package host - -import ( - "bytes" - "encoding/binary" - "fmt" - "io/ioutil" - "os" - "os/exec" - "regexp" - "runtime" - "strconv" - "strings" - "unsafe" - - common "github.com/shirou/gopsutil/common" -) - -type LSB struct { - ID string - Release string - Codename string - Description string -} - -func HostInfo() (*HostInfoStat, error) { - hostname, err := os.Hostname() - if err != nil { - return nil, err - } - - ret := &HostInfoStat{ - Hostname: hostname, - OS: runtime.GOOS, - } - - platform, family, version, err := GetPlatformInformation() - if err == nil { - ret.Platform = platform - ret.PlatformFamily = family - ret.PlatformVersion = version - } - system, role, err := GetVirtualization() - if err == nil { - ret.VirtualizationSystem = system - ret.VirtualizationRole = role - } - uptime, err := BootTime() - if err == nil { - ret.Uptime = uptime - } - - return ret, nil -} - -// BootTime returns the system boot time expressed in seconds since the epoch. -func BootTime() (uint64, error) { - lines, err := common.ReadLines("/proc/stat") - if err != nil { - return 0, err - } - for _, line := range lines { - if strings.HasPrefix(line, "btime") { - f := strings.Fields(line) - if len(f) != 2 { - return 0, fmt.Errorf("wrong btime format") - } - b, err := strconv.ParseInt(f[1], 10, 64) - if err != nil { - return 0, err - } - return uint64(b), nil - } - } - - return 0, fmt.Errorf("could not find btime") -} - -func Users() ([]UserStat, error) { - utmpfile := "/var/run/utmp" - - file, err := os.Open(utmpfile) - if err != nil { - return nil, err - } - - buf, err := ioutil.ReadAll(file) - if err != nil { - return nil, err - } - - u := utmp{} - entrySize := int(unsafe.Sizeof(u)) - count := len(buf) / entrySize - - ret := make([]UserStat, 0, count) - - for i := 0; i < count; i++ { - b := buf[i*entrySize : i*entrySize+entrySize] - - var u utmp - br := bytes.NewReader(b) - err := binary.Read(br, binary.LittleEndian, &u) - if err != nil { - continue - } - user := UserStat{ - User: common.IntToString(u.User[:]), - Terminal: common.IntToString(u.Line[:]), - Host: common.IntToString(u.Host[:]), - Started: int(u.Tv.TvSec), - } - ret = append(ret, user) - } - - return ret, nil - -} - -func getLSB() (*LSB, error) { - ret := &LSB{} - if common.PathExists("/etc/lsb-release") { - contents, err := common.ReadLines("/etc/lsb-release") - if err != nil { - return ret, err // return empty - } - for _, line := range contents { - field := strings.Split(line, "=") - if len(field) < 2 { - continue - } - switch field[0] { - case "DISTRIB_ID": - ret.ID = field[1] - case "DISTRIB_RELEASE": - ret.Release = field[1] - case "DISTRIB_CODENAME": - ret.Codename = field[1] - case "DISTRIB_DESCRIPTION": - ret.Description = field[1] - } - } - } else if common.PathExists("/usr/bin/lsb_release") { - out, err := exec.Command("/usr/bin/lsb_release").Output() - if err != nil { - return ret, err - } - for _, line := range strings.Split(string(out), "\n") { - field := strings.Split(line, ":") - if len(field) < 2 { - continue - } - switch field[0] { - case "Distributor ID": - ret.ID = field[1] - case "Release": - ret.Release = field[1] - case "Codename": - ret.Codename = field[1] - case "Description": - ret.Description = field[1] - } - } - - } - - return ret, nil -} - -func GetPlatformInformation() (platform string, family string, version string, err error) { - - lsb, err := getLSB() - if err != nil { - lsb = &LSB{} - } - - if common.PathExists("/etc/oracle-release") { - platform = "oracle" - contents, err := common.ReadLines("/etc/oracle-release") - if err == nil { - version = getRedhatishVersion(contents) - } - } else if common.PathExists("/etc/enterprise-release") { - platform = "oracle" - contents, err := common.ReadLines("/etc/enterprise-release") - if err == nil { - version = getRedhatishVersion(contents) - } - } else if common.PathExists("/etc/debian_version") { - if lsb.ID == "Ubuntu" { - platform = "ubuntu" - version = lsb.Release - } else if lsb.ID == "LinuxMint" { - platform = "linuxmint" - version = lsb.Release - } else { - if common.PathExists("/usr/bin/raspi-config") { - platform = "raspbian" - } else { - platform = "debian" - } - contents, err := common.ReadLines("/etc/debian_version") - if err == nil { - version = contents[0] - } - } - } else if common.PathExists("/etc/redhat-release") { - contents, err := common.ReadLines("/etc/redhat-release") - if err == nil { - version = getRedhatishVersion(contents) - platform = getRedhatishPlatform(contents) - } - } else if common.PathExists("/etc/system-release") { - contents, err := common.ReadLines("/etc/system-release") - if err == nil { - version = getRedhatishVersion(contents) - platform = getRedhatishPlatform(contents) - } - } else if common.PathExists("/etc/gentoo-release") { - platform = "gentoo" - contents, err := common.ReadLines("/etc/gentoo-release") - if err == nil { - version = getRedhatishVersion(contents) - } - } else if common.PathExists("/etc/SuSE-release") { - contents, err := common.ReadLines("/etc/SuSE-release") - if err == nil { - version = getSuseVersion(contents) - platform = getSusePlatform(contents) - } - // TODO: slackware detecion - } else if common.PathExists("/etc/arch-release") { - platform = "arch" - // TODO: exherbo detection - } else if lsb.ID == "RedHat" { - platform = "redhat" - version = lsb.Release - } else if lsb.ID == "Amazon" { - platform = "amazon" - version = lsb.Release - } else if lsb.ID == "ScientificSL" { - platform = "scientific" - version = lsb.Release - } else if lsb.ID == "XenServer" { - platform = "xenserver" - version = lsb.Release - } else if lsb.ID != "" { - platform = strings.ToLower(lsb.ID) - version = lsb.Release - } - - switch platform { - case "debian", "ubuntu", "linuxmint", "raspbian": - family = "debian" - case "fedora": - family = "fedora" - case "oracle", "centos", "redhat", "scientific", "enterpriseenterprise", "amazon", "xenserver", "cloudlinux", "ibm_powerkvm": - family = "rhel" - case "suse", "opensuse": - family = "suse" - case "gentoo": - family = "gentoo" - case "slackware": - family = "slackware" - case "arch": - family = "arch" - case "exherbo": - family = "exherbo" - } - - return platform, family, version, nil - -} - -func getRedhatishVersion(contents []string) string { - c := strings.ToLower(strings.Join(contents, "")) - - if strings.Contains(c, "rawhide") { - return "rawhide" - } - if matches := regexp.MustCompile(`release (\d[\d.]*)`).FindStringSubmatch(c); matches != nil { - return matches[1] - } - return "" -} - -func getRedhatishPlatform(contents []string) string { - c := strings.ToLower(strings.Join(contents, "")) - - if strings.Contains(c, "red hat") { - return "redhat" - } - f := strings.Split(c, " ") - - return f[0] -} - -func getSuseVersion(contents []string) string { - version := "" - for _, line := range contents { - if matches := regexp.MustCompile(`VERSION = ([\d.]+)`).FindStringSubmatch(line); matches != nil { - version = matches[1] - } else if matches := regexp.MustCompile(`PATCHLEVEL = ([\d]+)`).FindStringSubmatch(line); matches != nil { - version = version + "." + matches[1] - } - } - return version -} - -func getSusePlatform(contents []string) string { - c := strings.ToLower(strings.Join(contents, "")) - if strings.Contains(c, "opensuse") { - return "opensuse" - } - return "suse" -} - -func GetVirtualization() (string, string, error) { - var system string - var role string - - if common.PathExists("/proc/xen") { - system = "xen" - role = "guest" // assume guest - - if common.PathExists("/proc/xen/capabilities") { - contents, err := common.ReadLines("/proc/xen/capabilities") - if err == nil { - if common.StringsHas(contents, "control_d") { - role = "host" - } - } - } - } - if common.PathExists("/proc/modules") { - contents, err := common.ReadLines("/proc/modules") - if err == nil { - if common.StringsContains(contents, "kvm") { - system = "kvm" - role = "host" - } else if common.StringsContains(contents, "vboxdrv") { - system = "vbox" - role = "host" - } else if common.StringsContains(contents, "vboxguest") { - system = "vbox" - role = "guest" - } - } - } - - if common.PathExists("/proc/cpuinfo") { - contents, err := common.ReadLines("/proc/cpuinfo") - if err == nil { - if common.StringsHas(contents, "QEMU Virtual CPU") || - common.StringsHas(contents, "Common KVM processor") || - common.StringsHas(contents, "Common 32-bit KVM processor") { - system = "kvm" - role = "guest" - } - } - } - - if common.PathExists("/proc/bc/0") { - system = "openvz" - role = "host" - } else if common.PathExists("/proc/vz") { - system = "openvz" - role = "guest" - } - - // not use dmidecode because it requires root - - if common.PathExists("/proc/self/status") { - contents, err := common.ReadLines("/proc/self/status") - if err == nil { - - if common.StringsHas(contents, "s_context:") || - common.StringsHas(contents, "VxID:") { - system = "linux-vserver" - } - // TODO: guest or host - } - } - - if common.PathExists("/proc/self/cgroup") { - contents, err := common.ReadLines("/proc/self/cgroup") - if err == nil { - if common.StringsHas(contents, "lxc") || - common.StringsHas(contents, "docker") { - system = "lxc" - role = "guest" - } else if common.PathExists("/usr/bin/lxc-version") { // TODO: which - system = "lxc" - role = "host" - } - } - } - - return system, role, nil -} diff --git a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux_386.go b/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux_386.go deleted file mode 100644 index d8f31c2f6..000000000 --- a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux_386.go +++ /dev/null @@ -1,44 +0,0 @@ -// ATTENTION - FILE MANUAL FIXED AFTER CGO. -// Fixed line: Tv _Ctype_struct_timeval -> Tv UtTv -// Created by cgo -godefs, MANUAL FIXED -// cgo -godefs types_linux.go - -package host - -const ( - sizeofPtr = 0x4 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x4 - sizeofLongLong = 0x8 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int32 - _C_long_long int64 -) - -type utmp struct { - Type int16 - Pad_cgo_0 [2]byte - Pid int32 - Line [32]int8 - Id [4]int8 - User [32]int8 - Host [256]int8 - Exit exit_status - Session int32 - Tv UtTv - Addr_v6 [4]int32 - X__unused [20]int8 -} -type exit_status struct { - Termination int16 - Exit int16 -} -type UtTv struct { - TvSec int32 - TvUsec int32 -} diff --git a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux_amd64.go b/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux_amd64.go deleted file mode 100644 index b04fc17e3..000000000 --- a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux_amd64.go +++ /dev/null @@ -1,42 +0,0 @@ -// Created by cgo -godefs - DO NOT EDIT -// cgo -godefs types_linux.go - -package host - -const ( - sizeofPtr = 0x8 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x8 - sizeofLongLong = 0x8 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int64 - _C_long_long int64 -) - -type utmp struct { - Type int16 - Pad_cgo_0 [2]byte - Pid int32 - Line [32]int8 - Id [4]int8 - User [32]int8 - Host [256]int8 - Exit exit_status - Session int32 - Tv UtTv - Addr_v6 [4]int32 - X__glibc_reserved [20]int8 -} -type exit_status struct { - Termination int16 - Exit int16 -} -type UtTv struct { - TvSec int32 - TvUsec int32 -} diff --git a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux_arm.go b/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux_arm.go deleted file mode 100644 index 329e530f7..000000000 --- a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux_arm.go +++ /dev/null @@ -1,42 +0,0 @@ -// +build linux -// +build arm - -package host - -const ( - sizeofPtr = 0x8 - sizeofShort = 0x2 - sizeofInt = 0x4 - sizeofLong = 0x8 - sizeofLongLong = 0x8 -) - -type ( - _C_short int16 - _C_int int32 - _C_long int64 - _C_long_long int64 -) - -type utmp struct { - Type int16 - Pad_cgo_0 [2]byte - Pid int32 - Line [32]int8 - Id [4]int8 - User [32]int8 - Host [256]int8 - Exit exit_status - Session int32 - Tv UtTv - Addr_v6 [4]int32 - X__glibc_reserved [20]int8 -} -type exit_status struct { - Termination int16 - Exit int16 -} -type UtTv struct { - TvSec int32 - TvUsec int32 -} diff --git a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux_test.go b/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux_test.go deleted file mode 100644 index 7808eee3d..000000000 --- a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_linux_test.go +++ /dev/null @@ -1,61 +0,0 @@ -// +build linux - -package host - -import ( - "testing" -) - -func TestGetRedhatishVersion(t *testing.T) { - var ret string - c := []string{"Rawhide"} - ret = getRedhatishVersion(c) - if ret != "rawhide" { - t.Errorf("Could not get version rawhide: %v", ret) - } - - c = []string{"Fedora release 15 (Lovelock)"} - ret = getRedhatishVersion(c) - if ret != "15" { - t.Errorf("Could not get version fedora: %v", ret) - } - - c = []string{"Enterprise Linux Server release 5.5 (Carthage)"} - ret = getRedhatishVersion(c) - if ret != "5.5" { - t.Errorf("Could not get version redhat enterprise: %v", ret) - } - - c = []string{""} - ret = getRedhatishVersion(c) - if ret != "" { - t.Errorf("Could not get version with no value: %v", ret) - } -} - -func TestGetRedhatishPlatform(t *testing.T) { - var ret string - c := []string{"red hat"} - ret = getRedhatishPlatform(c) - if ret != "redhat" { - t.Errorf("Could not get platform redhat: %v", ret) - } - - c = []string{"Fedora release 15 (Lovelock)"} - ret = getRedhatishPlatform(c) - if ret != "fedora" { - t.Errorf("Could not get platform fedora: %v", ret) - } - - c = []string{"Enterprise Linux Server release 5.5 (Carthage)"} - ret = getRedhatishPlatform(c) - if ret != "enterprise" { - t.Errorf("Could not get platform redhat enterprise: %v", ret) - } - - c = []string{""} - ret = getRedhatishPlatform(c) - if ret != "" { - t.Errorf("Could not get platform with no value: %v", ret) - } -} diff --git a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_test.go b/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_test.go deleted file mode 100644 index eb6982904..000000000 --- a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_test.go +++ /dev/null @@ -1,67 +0,0 @@ -package host - -import ( - "fmt" - "testing" -) - -func TestHostInfo(t *testing.T) { - v, err := HostInfo() - if err != nil { - t.Errorf("error %v", err) - } - empty := &HostInfoStat{} - if v == empty { - t.Errorf("Could not get hostinfo %v", v) - } -} - -func TestBoot_time(t *testing.T) { - v, err := BootTime() - if err != nil { - t.Errorf("error %v", err) - } - if v == 0 { - t.Errorf("Could not get boot time %v", v) - } -} - -func TestUsers(t *testing.T) { - v, err := Users() - if err != nil { - t.Errorf("error %v", err) - } - empty := UserStat{} - for _, u := range v { - if u == empty { - t.Errorf("Could not Users %v", v) - } - } -} - -func TestHostInfoStat_String(t *testing.T) { - v := HostInfoStat{ - Hostname: "test", - Uptime: 3000, - Procs: 100, - OS: "linux", - Platform: "ubuntu", - } - e := `{"hostname":"test","uptime":3000,"procs":100,"os":"linux","platform":"ubuntu","platform_family":"","platform_version":"","virtualization_system":"","virtualization_role":""}` - if e != fmt.Sprintf("%v", v) { - t.Errorf("HostInfoStat string is invalid: %v", v) - } -} - -func TestUserStat_String(t *testing.T) { - v := UserStat{ - User: "user", - Terminal: "term", - Host: "host", - Started: 100, - } - e := `{"user":"user","terminal":"term","host":"host","started":100}` - if e != fmt.Sprintf("%v", v) { - t.Errorf("UserStat string is invalid: %v", v) - } -} diff --git a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_windows.go b/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_windows.go deleted file mode 100644 index 4e1d44f7b..000000000 --- a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/host_windows.go +++ /dev/null @@ -1,123 +0,0 @@ -// +build windows - -package host - -import ( - "os" - "fmt" - "time" - "runtime" - "strings" - - "github.com/StackExchange/wmi" - - common "github.com/shirou/gopsutil/common" - process "github.com/shirou/gopsutil/process" -) - -var ( - procGetSystemTimeAsFileTime = common.Modkernel32.NewProc("GetSystemTimeAsFileTime") - osInfo *Win32_OperatingSystem -) - -type Win32_OperatingSystem struct { - Version string - Caption string - ProductType uint32 - BuildNumber string - LastBootUpTime time.Time -} - -func HostInfo() (*HostInfoStat, error) { - hostname, err := os.Hostname() - if err != nil { - return nil, err - } - - ret := &HostInfoStat{ - Hostname: hostname, - OS: runtime.GOOS, - } - - platform, family, version, err := GetPlatformInformation() - if err == nil { - ret.Platform = platform - ret.PlatformFamily = family - ret.PlatformVersion = version - } else { - return ret, err - } - - ret.Uptime, err = BootTime() - if err != nil { - return ret, err - } - - procs, err := process.Pids() - if err != nil { - return ret, err - } - - ret.Procs = uint64(len(procs)) - - return ret, nil -} - -func GetOSInfo() (Win32_OperatingSystem, error) { - var dst []Win32_OperatingSystem - q := wmi.CreateQuery(&dst, "") - err := wmi.Query(q, &dst) - if err != nil { - return Win32_OperatingSystem{}, err - } - - osInfo = &dst[0] - - return dst[0], nil -} - -func BootTime() (uint64, error) { - if osInfo == nil { - _, err := GetOSInfo() - if err != nil { - return 0, err - } - } - now := time.Now() - t := osInfo.LastBootUpTime.Local() - return uint64(now.Sub(t).Seconds()), nil -} - -func GetPlatformInformation() (platform string, family string, version string, err error) { - if osInfo == nil { - _, err = GetOSInfo() - if err != nil { - return - } - } - - // Platform - platform = strings.Trim(osInfo.Caption, " ") - - // PlatformFamily - switch osInfo.ProductType { - case 1: - family = "Standalone Workstation" - case 2: - family = "Server (Domain Controller)" - case 3: - family = "Server" - } - - // Platform Version - version = fmt.Sprintf("%s Build %s", osInfo.Version, osInfo.BuildNumber) - - return -} - -func Users() ([]UserStat, error) { - - var ret []UserStat - - return ret, nil -} diff --git a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/types_darwin.go b/Godeps/_workspace/src/github.com/shirou/gopsutil/host/types_darwin.go deleted file mode 100644 index b85822788..000000000 --- a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/types_darwin.go +++ /dev/null @@ -1,17 +0,0 @@ -// +build ignore -// plus hand editing about timeval - -/* -Input to cgo -godefs. -*/ - -package host - -/* -#include -#include -*/ -import "C" - -type Utmpx C.struct_utmpx -type Timeval C.struct_timeval diff --git a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/types_freebsd.go b/Godeps/_workspace/src/github.com/shirou/gopsutil/host/types_freebsd.go deleted file mode 100644 index 113b22eea..000000000 --- a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/types_freebsd.go +++ /dev/null @@ -1,43 +0,0 @@ -// +build ignore - -/* -Input to cgo -godefs. -*/ - -package host - -/* -#define KERNEL -#include -#include -#include - -enum { - sizeofPtr = sizeof(void*), -}; - -*/ -import "C" - -// Machine characteristics; for internal use. - -const ( - sizeofPtr = C.sizeofPtr - sizeofShort = C.sizeof_short - sizeofInt = C.sizeof_int - sizeofLong = C.sizeof_long - sizeofLongLong = C.sizeof_longlong -) - -// Basic types - -type ( - _C_short C.short - _C_int C.int - _C_long C.long - _C_long_long C.longlong -) - -type Utmp C.struct_utmp -type Utmpx C.struct_utmpx -type Timeval C.struct_timeval diff --git a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/types_linux.go b/Godeps/_workspace/src/github.com/shirou/gopsutil/host/types_linux.go deleted file mode 100644 index 928545515..000000000 --- a/Godeps/_workspace/src/github.com/shirou/gopsutil/host/types_linux.go +++ /dev/null @@ -1,45 +0,0 @@ -// +build ignore - -/* -Input to cgo -godefs. -*/ - -package host - -/* -#define KERNEL -#include -#include - -enum { - sizeofPtr = sizeof(void*), -}; - -*/ -import "C" - -// Machine characteristics; for internal use. - -const ( - sizeofPtr = C.sizeofPtr - sizeofShort = C.sizeof_short - sizeofInt = C.sizeof_int - sizeofLong = C.sizeof_long - sizeofLongLong = C.sizeof_longlong -) - -// Basic types - -type ( - _C_short C.short - _C_int C.int - _C_long C.long - _C_long_long C.longlong -) - -type utmp C.struct_utmp -type exit_status C.struct_exit_status -type UtTv struct { - TvSec int32 - TvUsec int32 -}