1
0
mirror of https://github.com/shirou/gopsutil.git synced 2025-05-12 19:29:30 +08:00

1798 Commits

Author SHA1 Message Date
David Scott
0a281012db process: change all pointers to uint64 in ExternProc for darwin arm64
This is the arm64 version of the change in
20c3ddbfe528ec30c19d786875383d7753702a9b

Before this patch:
```
dave@m1 process % GO111MODULE=off CGO_ENABLED=0 go test
--- FAIL: Test_Process_Name (0.00s)
    process_test.go:312: invalid Exe
--- FAIL: Test_Process_Long_Name_With_Spaces (0.22s)
    process_test.go:357: loooong name with spaces.go.exe !=
--- FAIL: Test_Process_Long_Name (0.22s)
    process_test.go:402: looooooooooooooooooooong.go.exe !=
--- FAIL: Test_Username (0.00s)
    process_test.go:593:
        	Error Trace:	process_test.go:593
        	Error:      	Not equal:
        	            	expected: "dave"
        	            	actual  : "root"

        	            	Diff:
        	            	--- Expected
        	            	+++ Actual
        	            	@@ -1 +1 @@
        	            	-dave
        	            	+root
        	Test:       	Test_Username
    process_test.go:595: root
FAIL
exit status 1
FAIL	github.com/shirou/gopsutil/process	9.955s
```

After this patch:
```
dave@m1 process % GO111MODULE=off CGO_ENABLED=0 go test
PASS
ok  	github.com/shirou/gopsutil/process	9.784s
dave@m1 process % GO111MODULE=off CGO_ENABLED=1 go test
PASS
ok  	github.com/shirou/gopsutil/process	3.180s
```

Signed-off-by: David Scott <dave@recoil.org>
2021-05-24 11:04:41 +01:00
Ville Skyttä
b8ac60acc1 [cpu][linux] more info for ARM processors
https://developer.arm.com/documentation/ddi0337/h/system-control/register-descriptions/cpuid-base-register--cpuid
2021-05-20 19:35:01 +03:00
Ville Skyttä
f43138a3ff [process][solaris] improve Exe portability
Resolving from path/a.out seems more portable than from execname.
2021-05-19 22:29:21 +03:00
Ville Skyttä
eab3aea46b [load][solaris] support MiscStat.ProcsRunning 2021-05-19 21:57:49 +03:00
shirou
3af73eac22
Merge pull request #1064 from scop/fix/solaris-cpu
[cpu][solaris] psrinfo parsing fixes
2021-05-19 22:08:59 +09:00
shirou
9a5f86a30e
Merge pull request #1065 from scop/feat/solaris-process-some
Basic Solaris process support
2021-05-19 22:08:00 +09:00
Sergey Kacheev
44d3907f9d
Merge branch 'master' into splitProcStat 2021-05-11 09:43:55 +07:00
Lomanic
37678fe053
Merge pull request #1067 from shirou/feature/add_testdata_process_linux_fillfrom
[process][linux] add test to parse fillFromStatus
2021-05-09 11:24:02 +02:00
Lomanic
f3a5a93d62
Merge pull request #1068 from shirou/feature/relax_net_iocounter_test
relax net/NetIOCountersAll test.
2021-05-09 10:27:48 +02:00
Ville Skyttä
e35ae34dce [process][solaris] process basics 2021-05-08 16:54:12 +03:00
Ville Skyttä
b7d717ba80 [process][posix] use os.Lstat for symlink check
unix.DT_LNK is not portable; per glibc docs it's a BSD extension. It is
not available e.g. in Solaris.
https://www.gnu.org/software/libc/manual/html_node/Directory-Entries.html#index-DT_005fLNK

As a side effect, fixes incorrect equality comparison against
Stat_t.Mode, a bitmask.
2021-05-08 16:46:56 +03:00
Ville Skyttä
2278747969 [v2][cpu][solaris] psrinfo parsing fixes 2021-05-08 16:41:03 +03:00
shirou
3d97fc18f4 add check if it runs on CI 2021-05-08 22:31:05 +09:00
shirou
c6bd05a3e9 relax net/NetIOCountersAll test.
It often fails in CI.
2021-05-08 21:25:16 +09:00
shirou
2fa855f295 add MockEnv as more generic function. 2021-05-08 21:18:46 +09:00
shirou
abacce2177 [process][linux] add test to parse fillFromStatus 2021-05-08 20:56:46 +09:00
shirou
008b5a41ef
Merge pull request #1060 from heptalium/master
Fix fillFromStatusWithContext() on systems with 128 bit signal masks.
2021-05-08 18:52:36 +09:00
Ville Skyttä
7598518443 [v3][cpu][solaris] psrinfo parsing fixes 2021-05-03 23:01:01 +03:00
Sergey Kacheev
716cf26984 add parsing of real data from testdata with the splitProcStat function 2021-05-03 00:00:44 +07:00
Jens Meißner
14a1f64e7e
[v3][process][linux] Fix fillFromStatusWithContext() on systems with 128 bit signal masks. 2021-04-25 17:35:07 +02:00
shirou
539c0d52c0
Merge pull request #1063 from damilola-bello/master
Make limitToUint parse to uint instead of int
v3.21.4
2021-04-25 12:15:09 +09:00
Damilola Bello
61c36c7b8c Make limitToUint parse to uint instead of int 2021-04-23 21:30:29 -04:00
Lomanic
c7a38de76e
Merge pull request #1052 from gballet/openbsd-arm-support
add support for OpenBSD arm64
2021-04-19 02:08:35 +02:00
Lomanic
d447f9f7ed
Merge pull request #1039 from Lomanic/issue1037
[cpu][linux] Fix #1037 only count logical cores where 2nd field is a number
2021-04-14 00:58:15 +02:00
Jens Meißner
fc074343f8
[process][linux] Fix fillFromStatusWithContext() on systems with 128 bit signal masks. 2021-04-13 21:24:39 +02:00
Sergey Kacheev
b3a9d75932 add file for linux specific tests 2021-04-05 12:42:44 +07:00
Sergey Kacheev
07a870e63b clarify test 2021-04-05 12:29:51 +07:00
Sergey Kacheev
306f6d104b add a reliable way to get fields from /prod/PID/stat 2021-04-05 12:11:15 +07:00
shirou
79048ccbfa
Merge pull request #1035 from jblesener/fixmacosspaces
Fix spaces on long process names for MacOS
v3.21.3
2021-04-01 20:21:38 +09:00
John Blesener
07797b12d3
Make cmdNameWithContext lower-case to avoid exporting it
Signed-off-by: John Blesener <jblesener@reactivelabs.com>
2021-03-27 17:14:18 +09:00
Guillaume Ballet
992d17af94 add support for OpenBSD arm64 2021-03-23 15:29:27 +01:00
shirou
76779af909
Merge pull request #1051 from Lomanic/issue1049
[process][posix] Fix #1049 check if procfs is mounted before checking if pid exists there
2021-03-21 10:09:41 +09:00
Lomanic
f69e79f6b0
Merge pull request #1050 from shirou/feature/v3_add_suse
[v3][host][linux] add suse to v3 following #1047
2021-03-20 00:13:39 +01:00
Lomanic
0881c11a9a [process][posix] Fix #1049 check if procfs is mounted before checking if pid exists there
Benchmark before this change (process.NewProcess() calls process.PidExistsWithContext()
internally)

    go test -bench=BenchmarkNewProcess github.com/shirou/gopsutil/process
    goos: linux
    goarch: amd64
    pkg: github.com/shirou/gopsutil/process
    BenchmarkNewProcess-4              14722             78751 ns/op
    PASS
    ok      github.com/shirou/gopsutil/process      3.685s

Benchmark with this change applied

    go test -bench=BenchmarkNewProcess github.com/shirou/gopsutil/process
    goos: linux
    goarch: amd64
    pkg: github.com/shirou/gopsutil/process
    BenchmarkNewProcess-4              14835             80180 ns/op
    PASS
    ok      github.com/shirou/gopsutil/process      3.761s
2021-03-18 23:55:59 +01:00
shirou
c177d23a33 [v3][host][linux] add suse to v3 following #1047 2021-03-17 22:32:10 +09:00
shirou
59c1f43d3e
Merge pull request #1047 from m-terel/missing-suse-distributions
Added missing distributions to the suse platform family
2021-03-17 10:30:33 +09:00
shirou
2623881709
Merge pull request #1042 from bobrik/ivan/missing-conditionals
Add missing TargetConditionals.h include, closes #976
2021-03-17 10:03:37 +09:00
Mykola Terelia
84e8e51bf9 Added missing distributions to the suse platform family 2021-03-16 18:16:30 +02:00
shirou
c637487c2c
Merge pull request #1045 from Lomanic/issue714
[process][windows] Fix #714 call OpenProcess with PROCESS_QUERY_INFORMATION on WinXP
2021-03-07 17:15:37 +09:00
Lomanic
62d8920abb [process][windows] Fix #714 call OpenProcess with PROCESS_QUERY_INFORMATION on WinXP 2021-03-06 22:53:54 +01:00
Ivan Babrou
19ac85b504 Add missing TargetConditionals.h include, closes #976 2021-03-01 09:41:31 -08:00
shirou
2d13269306
Merge pull request #1041 from shirou/feature/erik-reduce-memory
[process][linux] apply #1033 to v3.
v3.21.2
2021-03-01 20:50:23 +09:00
shirou
a5a07ae83c [process][linux] apply #1033 to v3. 2021-03-01 20:23:37 +09:00
shirou
a5834f48c4
Merge pull request #1033 from eriknordmark/erik-reduce-memory
Avoid returning slice into buffer from Readfile
2021-02-26 23:12:05 +09:00
Lomanic
6589c5c274 [cpu][linux] Fix #1037 only count logical cores where 2nd field is a number 2021-02-22 00:28:56 +01:00
shirou
a44e7585f9
Merge pull request #1030 from pawelz/master
Clarify the godoc of the Children function.
2021-02-20 23:01:48 +09:00
shirou
a346c31dc3
Merge pull request #1036 from tklauser/drop-getconf
cpu, v3/cpu: use sysconf package instead of exec'ing getconf
2021-02-20 23:00:25 +09:00
Tobias Klauser
ee12f66e4d cpu, v3/cpu: use sysconf package instead of exec'ing getconf
Currently, ClocksPerSec is determined by exec'ing getconf in func init,
i.e. on startup of every program importing the package. getconf might
not be present on some systems or is not executable by the current user.
To avoid this hard to control dependency, use the
github.com/tklauser/go-sysconf package which implements sysconf(3)
entirely in Go without cgo. The package is supported on all platforms
currently supported by the cpu and v3/cpu package of gopsutil.
2021-02-19 12:20:10 +01:00
John Blesener
e8b2bea47f
Fix spaces on long process names for MacOS 2021-02-16 14:51:44 +09:00
eriknordmark
0e13743b77 Avoid returning slice into buffer from Readfile
Signed-off-by: eriknordmark <erik@zededa.com>
2021-02-08 19:21:22 +01:00