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_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 | |
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_posix.go | 11 years ago | |
process_test.go | 11 years ago | |
process_test_posix.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 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 - Windows/amd64 (I do not have a darwin machine) All works are implemented without cgo by porting c struct to golang struct. Usage --------- :: import ( "github.com/shirou/gopsutil" "fmt" "encoding/json" ) func main(){ v, _ := gopsutil.Virtual_memory() // return value is struct fmt.Printf("Total: %v, Free:%v, UsedPercent:%f%%\n", v.Total, v.Free, v.UsedPercent) // convert to JSON d, _ := json.Marshal(v) fmt.Printf("%s\n", 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 (freebsd, windows) - disk_usage (linux, freebsd, windows) - 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) - name (linux) - cmdline (linux) - create_time (linux) - status (linux) - cwd (linux) - exe (linux, freebsd) - uids (linux) - gids (linux) - terminal (linux) - nice (linux) - num_fds (linux) - num_threads (linux) - cpu_times (linux) - memory_info (linux) - memory_info_ex (linux) - Memory_maps() (linux) <- this is a function - 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 - disk_io_counters - net_io_counters - net_connections - Process class - username - ionice - rlimit - io_counters - num_ctx_switches - 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 ----------------------- So many thanks! - 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