Gathers system and per process statistics(evacuated from NSA/Microsoft Github)
Anonymous 49a0c5b533 rebuild with dh-make-golang, work in progress 2 | %!s(int64=2) %!d(string=hai) anos | |
---|---|---|
cgroup | %!s(int64=6) %!d(string=hai) anos | |
debian | %!s(int64=2) %!d(string=hai) anos | |
examples | %!s(int64=6) %!d(string=hai) anos | |
fakes | %!s(int64=6) %!d(string=hai) anos | |
old | %!s(int64=6) %!d(string=hai) anos | |
psnotify | %!s(int64=6) %!d(string=hai) anos | |
sys | %!s(int64=6) %!d(string=hai) anos | |
.appveyor.yml | %!s(int64=7) %!d(string=hai) anos | |
.gitignore | %!s(int64=7) %!d(string=hai) anos | |
.travis.yml | %!s(int64=7) %!d(string=hai) anos | |
LICENSE | %!s(int64=12) %!d(string=hai) anos | |
NOTICE | %!s(int64=12) %!d(string=hai) anos | |
README.md | %!s(int64=5) %!d(string=hai) anos | |
Vagrantfile | %!s(int64=9) %!d(string=hai) anos | |
codecov.yml | %!s(int64=7) %!d(string=hai) anos | |
concrete_sigar.go | %!s(int64=6) %!d(string=hai) anos | |
concrete_sigar_test.go | %!s(int64=6) %!d(string=hai) anos | |
sigar_format.go | %!s(int64=5) %!d(string=hai) anos | |
sigar_freebsd.go | %!s(int64=6) %!d(string=hai) anos | |
sigar_interface.go | %!s(int64=6) %!d(string=hai) anos | |
sigar_interface_test.go | %!s(int64=6) %!d(string=hai) anos | |
sigar_linux.go | %!s(int64=6) %!d(string=hai) anos | |
sigar_linux_common.go | %!s(int64=6) %!d(string=hai) anos | |
sigar_linux_test.go | %!s(int64=6) %!d(string=hai) anos | |
sigar_openbsd.go | %!s(int64=6) %!d(string=hai) anos | |
sigar_stub.go | %!s(int64=6) %!d(string=hai) anos | |
sigar_unix.go | %!s(int64=6) %!d(string=hai) anos | |
sigar_util.go | %!s(int64=8) %!d(string=hai) anos |
Go sigar is a golang implementation of the sigar API. The Go version of sigar has a very similar interface, but is being written from scratch in pure go/cgo, rather than cgo bindings for libsigar. This version of gosigar has been evacuated from the NSA/Microsoft walled garden.
$ cd examples
$ go run ps.go
The features vary by operating system.
Feature | Linux | OpenBSD | FreeBSD |
---|---|---|---|
Cpu | X | X | X |
CpuList | X | X | X |
FDUsage | X | X | |
FileSystemList | X | X | X |
FileSystemUsage | X | X | X |
HugeTLBPages | X | ||
LoadAverage | X | X | X |
Mem | X | X | X |
ProcArgs | X | X | |
ProcEnv | X | X | |
ProcExe | X | X | |
ProcFDUsage | X | X | |
ProcList | X | X | |
ProcMem | X | X | |
ProcState | X | X | |
ProcTime | X | X | |
Swap | X | X | X |
Uptime | X | X | X |
Mount both linprocfs
and procfs
for compatability. Consider adding these
mounts to your /etc/fstab
file so they are mounted automatically at boot.
sudo mount -t procfs proc /proc
sudo mkdir -p /compat/linux/proc
sudo mount -t linprocfs /dev/null /compat/linux/proc
Apache 2.0