提交 13cd195a 编写于 作者: S Shirou WAKAYAMA

change package name.

上级 4ff6a1cd
......@@ -27,9 +27,7 @@ Available Architectures
- Linux/amd64
- Linux/arm (raspberry pi)
- Windows/amd64
(I do not have a darwin machine)
- Darwin/amd64
All works are implemented without cgo by porting c struct to golang struct.
......@@ -131,15 +129,15 @@ Current Status
================= =========== ========= ============= ====== =======
name Linux amd64 Linux ARM FreeBSD amd64 MacOSX Windows
cpu_times x x x x
cpu_times x x x
cpu_count x x x x x
cpu_percent x x x x x
cpu_times_percent x x x x x
cpu_percent x x x x
cpu_times_percent x x x x
virtual_memory x x x x x
swap_memory x x x x
disk_partitions x x x x x
disk_io_counters x x
disk_usage x x x x
disk_usage x x x x x
net_io_counters x x x x x
boot_time x x x x b
users x x x x x
......
//
// gopsutil is a port of psutil(http://pythonhosted.org/psutil/).
// common is a port of psutil(http://pythonhosted.org/psutil/).
// This covers these architectures.
// - linux (amd64, arm)
// - freebsd (amd64)
// - windows (amd64)
package gopsutil
package common
import (
"bufio"
......
// +build darwin
package gopsutil
package common
import (
"os/exec"
......
// +build freebsd
package gopsutil
package common
import (
"os/exec"
......
// +build windows
package gopsutil
package common
import (
"syscall"
......
package gopsutil
package cpu
import (
"encoding/json"
......
// +build darwin
package gopsutil
package cpu
import (
"fmt"
......
// +build freebsd
package gopsutil
package cpu
import (
"fmt"
......
// +build linux
package gopsutil
package cpu
import (
"errors"
......
package gopsutil
package cpu
import (
"fmt"
......
// +build windows
package gopsutil
package cpu
import (
"syscall"
......
package gopsutil
package disk
import (
"encoding/json"
......
// +build darwin
package gopsutil
package disk
import (
"syscall"
......
// +build darwin
// +build amd64
package disk
const (
MntWait = 1
MfsNameLen = 15 /* length of fs type name, not inc. nul */
MNameLen = 90 /* length of buffer for returned name */
MFSTYPENAMELEN = 16 /* length of fs type name including null */
MAXPATHLEN = 1024
MNAMELEN = MAXPATHLEN
SYS_GETFSSTAT64 = 347
)
type Fsid struct{ val [2]int32 } /* file system id type */
type uid_t int32
// sys/mount.h
const (
MntReadOnly = 0x00000001 /* read only filesystem */
MntSynchronous = 0x00000002 /* filesystem written synchronously */
MntNoExec = 0x00000004 /* can't exec from filesystem */
MntNoSuid = 0x00000008 /* don't honor setuid bits on fs */
MntUnion = 0x00000020 /* union with underlying filesystem */
MntAsync = 0x00000040 /* filesystem written asynchronously */
MntSuidDir = 0x00100000 /* special handling of SUID on dirs */
MntSoftDep = 0x00200000 /* soft updates being done */
MntNoSymFollow = 0x00400000 /* do not follow symlinks */
MntGEOMJournal = 0x02000000 /* GEOM journal support enabled */
MntMultilabel = 0x04000000 /* MAC support for individual objects */
MntACLs = 0x08000000 /* ACL support enabled */
MntNoATime = 0x10000000 /* disable update of file access time */
MntClusterRead = 0x40000000 /* disable cluster read */
MntClusterWrite = 0x80000000 /* disable cluster write */
MntNFS4ACLs = 0x00000010
)
type Statfs_t struct {
Bsize uint32
Iosize int32
Blocks uint64
Bfree uint64
Bavail uint64
Files uint64
Ffree uint64
Fsid Fsid
Owner uint32
Type uint32
Flags uint32
Fssubtype uint32
Fstypename [16]int8
Mntonname [1024]int8
Mntfromname [1024]int8
Reserved [8]uint32
}
// +build freebsd
package gopsutil
package disk
import (
"syscall"
......
// +build freebsd
// +build amd64
package gopsutil
package disk
const (
MntWait = 1
......
// +build linux
package gopsutil
package disk
import (
"fmt"
......
package gopsutil
package disk
import (
"fmt"
......
// +build freebsd linux darwin
package gopsutil
package disk
import "syscall"
......
// +build windows
package gopsutil
package disk
import (
"bytes"
......
// +build linux
package gopsutil
package docker
import (
"encoding/json"
......
// +build linux
package gopsutil
package docker
import (
"testing"
......
package gopsutil
package host
import (
"encoding/json"
......
// +build darwin
package gopsutil
package host
import (
"bytes"
......
// +build freebsd
package gopsutil
package host
import (
"bytes"
......
// +build freebsd
// +build amd64
package gopsutil
package host
const (
UTNameSize = 16 /* see MAXLOGNAME in <sys/param.h> */
......
// +build linux
package gopsutil
package host
import (
"bytes"
......
// +build linux
// +build amd64
package gopsutil
package host
type exitStatus struct {
Etermination int16 // Process termination status.
......
// +build linux
// +build arm
package gopsutil
package host
type exitStatus struct {
Etermination int16 // Process termination status.
......
// +build linux
package gopsutil
package host
import (
"testing"
......
package gopsutil
package host
import (
"fmt"
......
// +build windows
package gopsutil
package host
import (
"os"
......
package gopsutil
package load
import (
"encoding/json"
......
// +build darwin
package gopsutil
package load
import (
"strconv"
......
// +build freebsd
package gopsutil
package load
import (
"strconv"
......
// +build linux
package gopsutil
package load
import (
"io/ioutil"
......
package gopsutil
package load
import (
"fmt"
......
// +build windows
package gopsutil
package load
import (
common "github.com/shirou/gopsutil/common"
......
package gopsutil
package mem
import (
"encoding/json"
......
// +build darwin
package gopsutil
package mem
import (
"os/exec"
......
// +build freebsd
package gopsutil
package mem
import (
"os/exec"
......
// +build linux
package gopsutil
package mem
import (
"strconv"
......
package gopsutil
package mem
import (
"fmt"
......
// +build windows
package gopsutil
package mem
import (
"syscall"
......
package gopsutil
package net
import (
"encoding/json"
......
// +build darwin
package gopsutil
package net
import (
"os/exec"
......
// +build freebsd
package gopsutil
package net
import (
"os/exec"
......
// +build linux
package gopsutil
package net
import (
"strconv"
......
package gopsutil
package net
import (
"fmt"
......
// +build windows
package gopsutil
package net
import (
"net"
......
package gopsutil
package process
import (
"encoding/json"
......
// +build darwin
package gopsutil
package process
import (
"bytes"
......@@ -201,7 +201,7 @@ func copyParams(k *KinfoProc, p *Process) error {
func processes() ([]Process, error) {
results := make([]Process, 0, 50)
mib := []int32{CTLKern, KernProc, KernProcProc, 0}
mib := []int32{CTLKern, KernProc, KernProcAll}
buf, length, err := callSyscall(mib)
if err != nil {
return results, err
......@@ -213,6 +213,7 @@ func processes() ([]Process, error) {
count := int(length / uint64(procinfoLen))
// parse buf to procs
for i := 0; i < count; i++ {
b := buf[i*procinfoLen : i*procinfoLen+procinfoLen]
k, err := parseKinfoProc(b)
......
// +build darwin
// +build amd64
package gopsutil
package process
// copied from sys/sysctl.h
const (
......@@ -9,6 +9,7 @@ const (
KernProc = 14 // struct: process entries
KernProcPID = 1 // by process id
KernProcProc = 8 // only return procs
KernProcAll = 0 // everything
KernProcPathname = 12 // path to executable
)
......
// +build freebsd
package gopsutil
package process
import (
"bytes"
......
// +build freebsd
// +build amd64
package gopsutil
package process
// copied from sys/sysctl.h
const (
......
// +build linux
package gopsutil
package process
import (
"encoding/json"
......
// +build linux
// +build amd64
package gopsutil
package process
const (
ClockTicks = 100 // C.sysconf(C._SC_CLK_TCK)
......
// +build linux
// +build arm
package gopsutil
package process
const (
ClockTicks = 100 // C.sysconf(C._SC_CLK_TCK)
......
// +build linux freebsd darwin
package gopsutil
package process
import (
"os"
......
// +build linux freebsd
package gopsutil
package process
import (
"os"
......
package gopsutil
package process
import (
"os"
......@@ -116,3 +116,13 @@ func Test_Process_NumCtx(t *testing.T) {
return
}
}
func Test_Process_Nice(t *testing.T) {
p := testGetProcess()
_, err := p.Nice()
if err != nil {
t.Errorf("geting nice error %v", err)
return
}
}
// +build windows
package gopsutil
package process
import (
"errors"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册