182 Commits (v3.22.5)

Author SHA1 Message Date
shirou 837fc76f68 [disk] darwin i386: add definition for darwin/386
and change to use Statfs. it is same as freebsd/openbsd.
Laurie Clark-Michalek 413cb32b6c Use static initialisation for invoke instances, instead of init funcs
The order of init function execution is dependant on the order that the
source files are passed to the compiler. This causes issues when
building under other build systems, such as bazel or buck, as they are
not guarenteed to maintain the same file order as the default go tool.
sada 8dd42707e2 windows: fix WithContext functions
set timeout only if parent context doesn't set.
shirou cd61c36c4f
Merge branch 'master' into feature/add_context_support
shirou 756e91c8f5 [disk]linux: use basename such as sda1 for IOCounters
shirou 4c73494c78 Add WithContext functions.
leaf 65598d98cc To prevent hang if wmi.Query hangs, add a context-aware wrapper for it.
Marco Pfatschbacher d62768abc9 Fix IOCounters for OpenBSD
Use SysctlRaw instead of Sysctl.
The latter assumes NUL terminated strings
which returns the lenght off by one.
Therefore, only n-1 disks where reported.
WAKAYAMA Shirou 114c78c777 [host]: add not implemented methods.
James Nugent 95e4816cce disk: Remove -mmacosx-version-min from darwin+cgo
The presence of the -mmacosx-version-min flag in disk_darwin_cgo.go
makes it impossible to build the other cgo components on modern Mac OS X
(10.12), since the object files with which they must link are not built
with that flag. Errors present from Go Tip (1.9, effectively) in the
form:

ld: warning: object file (whatever.o) was built for newer OSX version
(10.12) than being linked (10.10)

This commit removes the minimum version flag, instead targeting the
version of OS X on which a binary is compiled as the minimum. Without
this, I believe (though have not verified it actually works) that the
only way to build without without warnings/undefined behaviour if the OS
X 10.10 headers and objects are installed and configured correctly.
WAKAYAMA Shirou 66b0ca3121 [disk] Add comment to disk.Usage().
Sean Chittenden 635b971c0e
Move from the `syscall` package to the `golang.org/x/sys/{unix,windows}`
Aman Gupta a08587b348 Update disk_linux.go
Aman Gupta e346d3829a remove obsolete comment
Aman Gupta 5e1770d1f2 read disk partitions on linux from /proc/mounts intead of /etc/mtab
shirou 37c114fe6c Merge pull request #366 from tmm1/patch-2
Ignore GetVolumeInformation errors on DRIVE_REMOVABLE volumes
Aman Gupta f2cbbac707 Ignore GetVolumeInformation errors on DRIVE_REMOVABLE volumes
Aman Gupta b59c2a2be3 Include "DRIVE_REMOTE" volumes on windows
Daniel Nelson 3830ed16b4
Make IOCounters a variadic function
Remove IOCountersForNames that was recently added in favor of variadic
function with same capabilities.
WAKAYAMA Shirou dfbb3e40da fix build bugs.
Daniel Nelson ab6db76df1
Fix IOCountersForNames on darwin
Daniel Nelson 3f35f001da
Add disk.IOCountersForNames function
Operates like disk.IOCounters, but accepts an array of names to limit
the results.
Robin Burchell b327360349 disk_darwin: Add support for IOCounters using IOKit
Cameron Sparr a213bf5e6d
run go fmt ./...
HeChuan c73b6685be fix: division by zero possible
some filesystem have zero Inode
Marco Pfatschbacher b4846b445b Add support for OpenBSD/amd64
This code is based on the FreeBSD version
and implements roughly the same feature set.
Marc Magnin 31f4fb8dee fixed test TestDiskIOCountersStat_String to consider new weightedIO field
Marc Magnin acf3fef036 added weightedIO field to disk IOCountersStat (last field of /etc/mtab)
Shirou WAKAYAMA 08a6ab66b0 disk: If could not get Inodes, return empty.
Lukas Fittl da9fa1162b Add fallback code for all unsupported operating systems.
This enables using gopsutil in a codebase that gets built on other OSes
than the ones supported. Instead of a build failure as before, due to
the build tags, gopsutil will now throw an "not implemented" runtime
error.

Fixes #234.
Lukas Fittl 8f2153dfcf Add missing disk IO statistics for merged reads/writes, IOPS in progress.
shirou ee66bc560c Merge pull request #232 from phemmer/io_time_freebsd
add disk IoTime on freebsd and fix read & write time calculation
Patrick Hemmer 3cfaee3a93 add disk IoTime on freebsd and fix read & write time calculation
Zdenek Styblik 70cbab7045 [disk]linux: add documentation for GetDiskSerialNumber()
Commit adds documentation for GetDiskSerialNumber(), because it wasn't clear
what was expected as a parameter.

Fixes #212
Cameron Sparr da43049324 Fix potential panic in linux disk IO counters
Old kernels have a bug in diskstats where lines can have less than 14
fields. This applies to the kernel present in RHEL 5.2 and earlier.

It's a bit of a niche but probably best to patch to be safe from future
bugs too.

RHEL bug case:
https://bugzilla.redhat.com/show_bug.cgi?id=583285

Encountered in Telegraf:
https://github.com/influxdata/telegraf/issues/1322
Shirou WAKAYAMA 57f6aebc7e add Timeout to invoke command and use common.Invoke refs: #201
Aaron Zinman 4041e7d31e Fix compile errors for iOS/arm64
- Added conditional preprocessor guard on cpu_darwin_cgo.go

- Duplicated disk_darwin_amd64 for arm64 (after confirming
that sys/mount.h are the same between the two platforms, hence the
constants should be valid).
WAKAYAMA shirou e864f2a037 [disk]freebsd: update 386.
Shirou WAKAYAMA f2ebb91cf0 [disk]darwin,freebsd: implements 'all' argument.
Shirou WAKAYAMA ca99d7dc3f [disk]linux: implements 'all' argument.
Shirou WAKAYAMA d21ed2b40d search path via exec.LookPath before actual invoke.
Shirou WAKAYAMA 613a8a90e1 fixed by golint.
Shirou WAKAYAMA da89408631 Merge branch 'master' into v2
Shirou WAKAYAMA 4bb84648bf JSON representation is renamed to fit Google JSON style, camelCase.
Shirou WAKAYAMA ea152ea901 [BREAKING CHANGE] rename functions to pass golint. ex) net.NetIOCounters -> net.IOCounters
WAKAYAMA shirou dc8b14acd5 [disk]freebsd: change to use C.sizeof_struct.
Shirou WAKAYAMA fa3e1cc196 [common]linux: add HostEtc to switch '/etc' See #175.
WAKAYAMA shirou 0af91ba32b [disk,process]freebsd: binary.go moved to internal.
elij d1380cba29 try to fix diskio stats on FreeBSD-10.x
FreeBSD apparently changed the magic sysctl mib values for devstats.

    --- FAIL: TestDisk_io_counters (0.00s)
    disk_test.go:39: error no such file or directory
    disk_test.go:42: ret is empty, map[]

This code uses an undocumented, but exported, go stdlib method to fetch
the sysctl by string instead of mib.
Shirou WAKAYAMA 759e96ebaf Merge branch 'master' of github.com:shirou/gopsutil
Shirou WAKAYAMA 223c809234 disk[unix]: revert 61cb121. psutil uses Available as Free.
Nikolay Sivko 46c34a9d1e [disk] fix build for freebsd 386
Shirou WAKAYAMA 7288e9a5af common[all]: add internal
Daniel Theophanes 0af895258e common: rename package common to internal/common. Add ENV helper funcs.
Package common wasn't used for public functions. Place it in an
internal directory to prevent other packages from using.

Remove the distributed references to "HOST_PROC" and "HOST_SYS"
consts and combine into a common function. This also helps so that
if a env var is defined with a trailing slash all will continue to
work as expected.

Fixes #100
Jonathan Chauncey 0461c50666 chore(*): Fixes #94
Added the ability to fetch an alternative location for /proc via an
environment variable. If the env var is not set it will return /proc as
the default value.
Cameron Sparr 389d17e8a0 Support 32-bit linux, this field is int32 on 32-bit systems
WAKAYAMA Shirou 773d9d3caa disk[windows]: change to use WMI to get disk io counter information.
Ben Aldrich 0fab61e73e remove log message
Ben Aldrich 6c000b035d don't fail if cd is not in a drive
add used and usedPercent back in
WAKAYAMA shirou bb04b692c3 disk[freebsd]: update devstat mib.
WAKAYAMA shirou 6365c902e7 disk[freebsd]: fix typo.
Ben Aldrich 85a89e707b fix compile fail
Cameron Sparr 1a037fddb1 Fix disk usage stats for windows
Shirou WAKAYAMA 59c4b4ca75 disk[linux]: fix fstype map.
Shirou WAKAYAMA 7fb126f1bf disk[linux]: fix fstype dup.
Shirou WAKAYAMA ad6c3f60a7 disk[freebsd,darwin,windows]: add fstype to DiskUsageStat.
Shirou WAKAYAMA 61cb121015 disk[unix]: fix free.
Shirou WAKAYAMA b5ffc220a6 common: Rename StringContains to StringsContains and add StringsHas.
Pavel Trukhanov 4f6e4f73f3 disk_usage as in psutil
WAKAYAMA Shirou 9569e2389c Merge branch 'master' of https://github.com/shirou/gopsutil
WAKAYAMA shirou 508c60cac3 disk: forget to add some files.
WAKAYAMA shirou 0451709fe3 disk: add disk_io_counter to FreeBSD by using sysctl(kern.devstat.all).
WAKAYAMA Shirou 612e7109e1 delete debug
WAKAYAMA Shirou bb1747fc85 disk: implements DiskIoCounterInfo on windows. Note: only read/write counts during 500 msec.
Thanks for mackerel-agent!
Shirou WAKAYAMA 13cd195a7e change package name.
Shirou WAKAYAMA e9d79d2fc4 disk_darwin is backported with 1.3 frozen syscall.
Shirou WAKAYAMA 3f7769ccfa implement disk_partition of Darwin using golang.org/x/sys/unix.
Shirou WAKAYAMA 1cb67eb4c2 merge 039b9defab
Shirou WAKAYAMA 16de570414 merge 039b9defab
WAKAYAMA Shirou 9f2c985a28 fix windows build.
WAKAYAMA shirou d11680c773 fix bugs on FreeBSD.
Shirou WAKAYAMA a4671fcc2a move subdirectories. refer to issue #24