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 7d1ba2a9df go fmt 11 years ago
.gitignore initial import. 11 years ago
LICENSE update README and add LICENSE file. 11 years ago
README.rst update README about current status. 11 years ago
common.go start to write documents. but I only have poor English skill. 😱 11 years ago
common_freebsd.go go fmt 11 years ago
common_windows.go rename package main to gopsutil 11 years ago
cpu.go remove each metrics top struct such as CPU, all functions become flat. 11 years ago
cpu_freebsd.go fix some errors on freebsd. 11 years ago
cpu_linux.go remove each metrics top struct such as CPU, all functions become flat. 11 years ago
cpu_test.go remove each metrics top struct such as CPU, all functions become flat. 11 years ago
cpu_windows.go remove each metrics top struct such as CPU, all functions become flat. 11 years ago
disk.go remove each metrics top struct such as CPU, all functions become flat. 11 years ago
disk_test.go remove each metrics top struct such as CPU, all functions become flat. 11 years ago
disk_unix.go go fmt 11 years ago
disk_windows.go rename package main to gopsutil 11 years ago
host.go start to write documents. but I only have poor English skill. 😱 11 years ago
host_freebsd.go go fmt 11 years ago
host_linux.go go fmt 11 years ago
host_test.go implements Boot_time(). This is moved from Hostinfo. 11 years ago
host_windows.go remove each metrics top struct such as CPU, all functions become flat. 11 years ago
load.go remove each metrics top struct such as CPU, all functions become flat. 11 years ago
load_freebsd.go go fmt 11 years ago
load_linux.go remove each metrics top struct such as CPU, all functions become flat. 11 years ago
load_test.go remove each metrics top struct such as CPU, all functions become flat. 11 years ago
load_windows.go rename package main to gopsutil 11 years ago
mem.go remove each metrics top struct such as CPU, all functions become flat. 11 years ago
mem_freebsd.go syscall.SysInfo not exists in FreeBSD. use sysctl instead. 11 years ago
mem_linux.go linux file still exists. rename it. 11 years ago
mem_test.go remove each metrics top struct such as CPU, all functions become flat. 11 years ago
mem_windows.go remove each metrics top struct such as CPU, all functions become flat. 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 (windows)
  - disk_usage (windows)
  - boot_time (linux, freebsd)

- not yet

  - cpu_percent
  - cpu_times_percent
  - disk_io_counters
  - net_io_counters
  - net_connections
  - users
  - 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