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.
 
 
 
Go to file
WAKAYAMA shirou 8418f95f6a separete struct defs to architecture specific files. 11 years ago
.gitignore
LICENSE update README and add LICENSE file. 11 years ago
README.rst implements disk_partitions on freebsd. 11 years ago
common.go go fmt 11 years ago
common_freebsd.go go fmt 11 years ago
common_windows.go implement Boot_time on windows. But something is wrong. the returned value is not correct. 11 years ago
cpu.go
cpu_freebsd.go implements users on freebsd. 11 years ago
cpu_linux.go
cpu_test.go
cpu_windows.go implement Boot_time on windows. But something is wrong. the returned value is not correct. 11 years ago
disk.go
disk_freebsd.go separete struct defs to architecture specific files. 11 years ago
disk_freebsd_amd64.go separete struct defs to architecture specific files. 11 years ago
disk_linux.go separete struct defs to architecture specific files. 11 years ago
disk_test.go
disk_unix.go implements disk_partitions on freebsd. 11 years ago
disk_windows.go fix windows 11 years ago
host.go implements users() on linux. 11 years ago
host_freebsd.go separete struct defs to architecture specific files. 11 years ago
host_freebsd_amd64.go separete struct defs to architecture specific files. 11 years ago
host_linux.go separete struct defs to architecture specific files. 11 years ago
host_linux_amd64.go separete struct defs to architecture specific files. 11 years ago
host_test.go go fmt 11 years ago
host_windows.go implement Boot_time on windows. But something is wrong. the returned value is not correct. 11 years ago
load.go
load_freebsd.go go fmt 11 years ago
load_linux.go
load_test.go
load_windows.go fix windows 11 years ago
mem.go
mem_freebsd.go
mem_linux.go
mem_test.go
mem_windows.go fix windows 11 years ago

README.rst

gopsutil: psutil for golang
==============================

This is a port of psutil(http://pythonhosted.org/psutil/). This
challenges porting all psutil functions on some architectures.



Available archtectures
------------------------------------

- FreeBSD/amd64
- Linux
- Windows

(I do not have a darwin machine)

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)
  - 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)
  - users (linux, freebsd)

- not yet

  - cpu_percent
  - cpu_times_percent
  - disk_io_counters
  - net_io_counters
  - net_connections
  - pids
  - pid_exists
  - process_iter
  - wait_procs
  - process class

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