mirror of https://github.com/shirou/gopsutil
psutil for golang
https://github.com/shirou/gopsutil
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
11 years ago | |
---|---|---|
.gitignore | 11 years ago | |
LICENSE | 11 years ago | |
README.rst | 11 years ago | |
common.go | 11 years ago | |
common_freebsd.go | 11 years ago | |
common_windows.go | 11 years ago | |
cpu.go | 11 years ago | |
cpu_freebsd.go | 11 years ago | |
cpu_linux.go | 11 years ago | |
cpu_test.go | 11 years ago | |
cpu_windows.go | 11 years ago | |
disk.go | 11 years ago | |
disk_freebsd.go | 11 years ago | |
disk_freebsd_amd64.go | 11 years ago | |
disk_linux.go | 11 years ago | |
disk_test.go | 11 years ago | |
disk_unix.go | 11 years ago | |
disk_windows.go | 11 years ago | |
host.go | 11 years ago | |
host_freebsd.go | 11 years ago | |
host_freebsd_amd64.go | 11 years ago | |
host_linux.go | 11 years ago | |
host_linux_amd64.go | 11 years ago | |
host_linux_arm.go | 11 years ago | |
host_test.go | 11 years ago | |
host_windows.go | 11 years ago | |
load.go | 11 years ago | |
load_freebsd.go | 11 years ago | |
load_linux.go | 11 years ago | |
load_test.go | 11 years ago | |
load_windows.go | 11 years ago | |
mem.go | 11 years ago | |
mem_freebsd.go | 11 years ago | |
mem_linux.go | 11 years ago | |
mem_test.go | 11 years ago | |
mem_windows.go | 11 years ago | |
net.go | 11 years ago | |
net_freebsd.go | 11 years ago | |
net_linux.go | 11 years ago | |
net_test.go | 11 years ago | |
net_windows.go | 11 years ago | |
process.go | 11 years ago | |
process_freebsd.go | 11 years ago | |
process_freebsd_amd64.go | 11 years ago | |
process_linux.go | 11 years ago | |
process_linux_amd64.go | 11 years ago | |
process_linux_arm.go | 11 years ago | |
process_posix.go | 11 years ago | |
process_posix_test.go | 11 years ago | |
process_test.go | 11 years ago | |
process_windows.go | 11 years ago | |
windows_memo.rst | 11 years ago |
README.rst
gopsutil: psutil for golang ============================== .. image:: https://drone.io/github.com/shirou/gopsutil/status.png :target: https://drone.io/github.com/shirou/gopsutil .. image:: https://coveralls.io/repos/shirou/gopsutil/badge.png?branch=master :target: https://coveralls.io/r/shirou/gopsutil?branch=master This is a port of psutil(http://pythonhosted.org/psutil/). This challenges porting all psutil functions on some architectures. Available archtectures ------------------------------------ - FreeBSD/amd64 - Linux/amd64 - Linux/arm (raspberry pi) - Windows/amd64 (I do not have a darwin machine) All works are implemented without cgo by porting c struct to golang struct. Usage --------- :: import ( "fmt" "github.com/shirou/gopsutil" ) func main() { v, _ := gopsutil.VirtualMemory() // almost every return value is struct fmt.Printf("Total: %v, Free:%v, UsedPercent:%f%%\n", v.Total, v.Free, v.UsedPercent) // convert to JSON. String() is also implemented fmt.Println(d) } The output is below. :: Total: 3179569152, Free:284233728, UsedPercent:84.508194% {"total":3179569152,"available":492572672,"used":2895335424,"usedPercent":84.50819439828305, (snip)} Document ---------- see http://godoc.org/github.com/shirou/gopsutil Current Status ------------------ - done - cpu_times (linux, freebsd) - cpu_count (linux, freebsd, windows) - virtual_memory (linux, windows) - swap_memory (linux) - disk_partitions (linux, freebsd, windows) - disk_io_counters (linux) - disk_usage (linux, freebsd, windows) - net_io_counters (linux) - boot_time (linux, freebsd, windows(but little broken)) - users (linux, freebsd) - pids (linux, freebsd) - pid_exists (linux, freebsd) - Process class - pid (linux, freebsd, windows) - ppid (linux, freebsd, windows) - name (linux) - cmdline (linux) - create_time (linux) - status (linux) - cwd (linux) - exe (linux, freebsd, windows) - uids (linux, freebsd) - gids (linux, freebsd) - terminal (linux, freebsd) - io_counters (linux) - nice (linux) - num_fds (linux) - num_ctx_switches (linux) - num_threads (linux, freebsd, windows) - cpu_times (linux) - memory_info (linux, freebsd) - memory_info_ex (linux) - memory_maps() (linux) - open_files (linux) - send_signal (linux, freebsd) - suspend (linux, freebsd) - resume (linux, freebsd) - terminate (linux, freebsd) - kill (linux, freebsd) - not yet - cpu_percent - cpu_times_percent - net_connections - Process class - username - ionice - rlimit - num_handlers - threads - cpu_percent - cpu_affinity - memory_percent - children - connections - is_running - future work - process_iter - wait_procs - Process class - parent (use ppid instead) - as_dict - wait License ------------ New BSD License (same as psutil) Related works ----------------------- - psutil: http://pythonhosted.org/psutil/ - dstat: https://github.com/dagwieers/dstat - gosiger: https://github.com/cloudfoundry/gosigar/ - goprocinfo: https://github.com/c9s/goprocinfo - go-ps: https://github.com/mitchellh/go-ps I have referenced these great works. How to Contributing --------------------------- 1. Fork it 2. Create your feature branch (git checkout -b my-new-feature) 3. Commit your changes (git commit -am 'Add some feature') 4. Push to the branch (git push origin my-new-feature) 5. Create new Pull Request My engilsh is terrible, documentation or correcting comments are also welcome.