.. | ||
sys/windows | ||
.appveyor.yml | ||
.gitignore | ||
.travis.yml | ||
CHANGELOG.md | ||
codecov.yml | ||
concrete_sigar.go | ||
LICENSE | ||
NOTICE | ||
README.md | ||
sigar_darwin.go | ||
sigar_format.go | ||
sigar_freebsd.go | ||
sigar_interface.go | ||
sigar_linux_common.go | ||
sigar_linux.go | ||
sigar_openbsd.go | ||
sigar_stub.go | ||
sigar_unix.go | ||
sigar_util.go | ||
sigar_windows.go |
Go sigar
Overview
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.
Test drive
$ go get github.com/elastic/gosigar
$ cd $GOPATH/src/github.com/elastic/gosigar/examples/ps
$ go build
$ ./ps
Supported platforms
The features vary by operating system.
Feature | Linux | Darwin | Windows | OpenBSD | FreeBSD |
---|---|---|---|---|---|
Cpu | X | X | X | X | X |
CpuList | X | X | X | X | |
FDUsage | X | X | |||
FileSystemList | X | X | X | X | X |
FileSystemUsage | X | X | X | X | X |
HugeTLBPages | X | ||||
LoadAverage | X | X | X | X | |
Mem | X | X | X | X | X |
ProcArgs | X | X | X | X | |
ProcEnv | X | X | X | ||
ProcExe | X | X | X | ||
ProcFDUsage | X | X | |||
ProcList | X | X | X | X | |
ProcMem | X | X | X | X | |
ProcState | X | X | X | X | |
ProcTime | X | X | X | X | |
Swap | X | X | X | X | |
Uptime | X | X | X | X |
OS Specific Notes
FreeBSD
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
License
Apache 2.0