86 Commits (v3.21.11)

Author SHA1 Message Date
shirou 0fdf65fa3e Change to use yusufpapurcu/wmi from StackExchange/wmi.
shirou 0ce33dbe64
Merge pull request #1166 from easyops-cn/kestrel/process
feat(process): implement the 'OpenFilesWithContext' function of the windows system
kestrel 3dabe50107 feat(process): implement the 'OpenFilesWithContext' function of the windows system
Ville Skyttä a21240a319 Simplify some if blocks
Ville Skyttä fb0c322260 Check error identity with errors.Is
Ville Skyttä 633e77013f Use short if
Ville Skyttä ce9d35436e Merge variable declaration with assignment
Ville Skyttä 5d0724f42f Comment convention fixes
Ville Skyttä 65616500e8 Remove unnecessary empty lines
Ville Skyttä a9b1ce2dec Remove unnecessary conversions
Ville Skyttä 7743265113 Rewrite if-else chains as switches
shirou 2fa855f295 add MockEnv as more generic function.
Johannes Drummer 76fb312c4b delete unused PdhAddCounterW
Johannes Drummer 82b235c9f5 v2 windows counters on non english systems
AtakanColak 498a39984d tidy comments
AtakanColak 2c98f69e11 add load v2
tidied up common/windows
added load benchmark for load_test
cpu percent is used as load if queue is zero
AtakanColak 24e6d6d350 add load to windows
Atakan 3504ea07b0 simplify virt cache
shirou b94f262e7d
Merge pull request #949 from boogie-byte/vet-target
Add "vet" target to the Makefile
Sergey Vinogradov 8ff2ab3187 Add "vet" target to the Makefile
Making the "vet" target will run "go vet ./..." for each supported
GOOS.

Also, some of the warnings produced by go 1.15 vet were mitigated.
Ryan Fitzpatrick 8046134504
Fix VirtualizationWithContext() race in linux
shirou 5084874a4c
Merge pull request #942 from AtakanColak/patch-1
Cache common/common_linux.Virtualization()
Ata ba243b1d14
removed explicit set to nil
Ata 5fd5d64304
Cache common/common_linux.Virtualization()
By assuming virtualization environment won't change during a the program's runtime, we can cache common/common_linux.Virtualization() with a simple map to reduce amount of system calls. I first mentioned this issue at https://github.com/shirou/gopsutil/pull/890#issuecomment-690211919
Lomanic e1082dabb6 [process][darwin] Fix #925 remove references to removed const unix.SYS___SYSCTL from x/sys/unix
More like a workaround, wanted to port process.getKProcWithContext() to use unix.SysctlRaw() to get rid of exec calls to ps
in the same time but didn't have time.
ninedraft baf3495197 use legacy error check in the common.TestSleep
ninedraft 34df4904f6 use cancelable sleep in cpu.PercentWithContext and process.Process.PercentWithContext
Mihir Singh 92d6df6d8f Attempted LXC guest detection from environ procfile
Lomanic c89193f22d
Merge pull request #857 from Gui13/fix_837
Do not cache boot time for linux. Fix #837
Mauro Leggieri 00957cfedc Fixed slow command line retrieval on Windows
Guillaume Bienkowski aeb3b6b1c7 Do not cache boot time for linux. Fix #837
Ilya Prudnikov 256e00319e implement proposed solution
shirou a21ed69d3a Revert "Merge pull request #763 from Iqoqo/add-android-support-for-host"
This reverts commit f58b2e3677, reversing
changes made to 84e6215770.
Ilya Guterman 11244886bb add android support for host
Kris Watts c3720007e4 Fixes issue #730
Lomanic 47323f9ad5 [process][windows] Fix #586 use win32 API in process.Exe() instead of slow WMI call
This is faster by a factor of 100.

References:
5f4287d17f/psutil/_pswindows.py (L221)
921870d540/psutil/_psutil_windows.c (L1211)
921870d540/psutil/_psutil_windows.c (L626)
Arturo Reuschenbach Puncernau eb15d06a52 trim quotes when reading from os-release
shirou 5335e3fd50
Merge pull request #685 from cmattoon/conntrack-stat
Adds ConntrackStats (/proc/net/stat/nf_conntrack)
shirou 07863cab0c [host]linux: add #688 diff which is removed after merging #689
Tyler Dixon 4e81681ab3 code review
Tyler Dixon a02925055c Remove cycle between process and host packages
gopsutil is a transitive dependency of another project that I am integrating
into an internal build system. We target multiple platforms and as a part
of the build system for the large internal repo, we calculate the build
graph used to determine what targets have changed and need to be build /
tested as a single DAG for all platforms.

gopsutil currently does not form a DAG if linux and any other platform are
considered at the same time. linux is the only platform where the process
package imports the host package.

To remove this cycle, the relevant methods have been moved to internal/common
with the linux build tag and are consumed the host and process packages.
Curtis Mattoon 648bf4eebc Adds ConntrackStats to get conntrack summary stats
Lomanic 0e0dd767df [process][darwin] Fix #670 remove call to common.Pipeline (prone to race condition)
Also properly parse lsof to get second txt record instead of hoping the 5th line is the right one (wrong data returned for pid 57)
Segflow 86c7289ccc Fix: use filename in exec.LookPath instead of full path
exec.LookPath searches for the file in the $PATH, which mean giving it an absolute path is against it's own purposes.
WAKAYAMA shirou bb15c85289 [mem][freebsd]: add SysctlUint which can adapt both 32 and 64 bit
Lomanic ef54649286 [windows] Use windows.NewLazySystemDLL to (possibly) prevent DLL hijacking
Might be useless because of https://docs.microsoft.com/en-us/windows/desktop/dlls/dynamic-link-library-search-order#search-order-for-desktop-applications
but better be safe than sorry.

Ref: https://github.com/shirou/gopsutil/issues/570#issuecomment-413951653
Jaime Soriano Pastor 61902bc2a5 Use HOST_* environment variables for getting disk serial number in Linux
shirou 145dca90f7 change to use CommandContext.
sada 8dd42707e2 windows: fix WithContext functions
set timeout only if parent context doesn't set.
shirou 079e1cb22f [internal]Windows: skip Host test.