1
0
mirror of https://github.com/shirou/gopsutil.git synced 2025-04-26 13:48:59 +08:00

58 Commits

Author SHA1 Message Date
shirou
d725bd1786 fix lint 2024-05-28 22:27:17 +09:00
shirou
e9591b5b01 rename redundant test function names, such as TestCPU in cpu package 2024-05-28 22:27:17 +09:00
shirou
bc060cc227 add SPDX License, remove old build tag, and replace import 2024-05-28 22:27:17 +09:00
Eric Anderson
cded1805c1 Total Processes in MiscStat Corrected
The `ProcsTotal` in the `MiscStat` structure was very inaccurate. It was reading
a value which is the total number of kernel scheduling entities. This includes
both processes and threads significantly overcounting.

This instead uses an existing method already in common to count the number of
processes via the /proc filesystem where any directory is a number. This should
still be a single syscall to read that directory entry.

This fixes #1606.
2024-03-20 21:42:44 -04:00
Jan De Dobbeleer
ac63a5690e
fix(windows): remove log statement 2023-10-30 08:39:26 +01:00
TossPig
03d43fb5a2
[load][windows] Fix DATA RACE in load. Avg()
fixed #1526
2023-09-14 05:05:59 +08:00
shirou
0665cafa1b chore: replace deprecated ioutil package to os and io 2023-09-08 17:05:14 +00:00
Antoine Toulme
38b94668ea allow to pass context values to override environment variables 2023-06-02 01:31:05 -07:00
shirou
852f455217 fix lint 2023-02-12 09:24:52 +00:00
shirou
231d6f3d4e [load][windows]: add error detail and context handling. 2022-11-19 12:21:45 +00:00
xca1075
b3ab1561bc more aix nocgo implementations 2022-06-17 14:53:16 +02:00
xca1075
d4f012c565 fix aix nocgo compile 2022-06-03 17:43:52 +02:00
xca1075
e24e72062b aix: split code, that uses perfstat, to _cgo and _nocgo files 2022-06-03 17:01:36 +02:00
Ville Skyttä
f7e1f36418 refactor: remove unnecessary exec.LookPath calls
Executing the command does the lookup if needed and returns the same
error when not found, no need to do it separately.
2022-03-04 18:56:33 +02:00
Ville Skyttä
1e56c6f421 Spelling and grammar fixes 2022-01-30 22:48:09 +02:00
Ville Skyttä
d92d114f90 [load][solaris] implement AvgWithContext 2022-01-10 23:49:07 +02:00
mmorel-35
1e6b445a8a gofumpt 2021-12-22 21:54:41 +00:00
mmorel-35
eb5f6203d8 gofmt 2021-12-22 21:46:33 +00:00
Matthieu MOREL
c8fd8c7b1f
enable unparam linter 2021-12-22 19:53:14 +01:00
Matthieu MOREL
b673968d5d
enable errorlint linter 2021-12-04 22:29:38 +01:00
shirou
d2e27c1712 fix dependabot v2 deletion. 2021-12-01 00:12:55 +00:00
shirou
0969c9436b delete v2 directory, move v3 to top #1078 2021-11-30 23:47:59 +00:00
Ville Skyttä
fb0c322260 Check error identity with errors.Is 2021-08-18 17:09:11 +03:00
Ville Skyttä
633e77013f Use short if 2021-08-18 17:09:11 +03:00
Ville Skyttä
803cea9d67 Don't use underscores in variable names 2021-08-18 16:44:20 +03:00
Ville Skyttä
65616500e8 Remove unnecessary empty lines 2021-08-18 16:42:17 +03:00
Ville Skyttä
eab3aea46b [load][solaris] support MiscStat.ProcsRunning 2021-05-19 21:57:49 +03:00
Johannes Drummer
82b235c9f5 v2 windows counters on non english systems 2021-02-06 11:01:29 +01:00
Lomanic
ebd8102702
Merge pull request #897 from james-bebbington/load-processes-created 2020-12-02 01:17:29 +01:00
AtakanColak
277c95057b tidy up loop control and mutex 2020-11-09 10:50:09 +03:00
AtakanColak
b2a3574216 remove percent 2020-11-09 10:37:31 +03:00
AtakanColak
fb44aead39 use ticker and explicit contants 2020-11-09 10:00:22 +03:00
AtakanColak
498a39984d tidy comments 2020-11-06 11:07:02 +03:00
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
2020-11-02 16:54:39 +03:00
AtakanColak
24e6d6d350 add load to windows 2020-10-22 17:44:11 +03:00
James Bebbington
79e9a07263 Add ProcsCreated stat for openbsd 2020-09-12 12:38:15 +10:00
Lomanic
78a65a67a9 [load] Skip tests on non-implemented platforms #446 2020-08-29 18:39:50 +02:00
James Bebbington
28b2246b5b Add processes created to misc stats 2020-07-02 11:40:58 +10:00
Aman Gupta
f42052bee7 [load][android] implement on top of sysinfo syscall 2020-05-20 16:47:15 -07:00
pytimer
9715668586 add ProcsTotal in load 2019-05-05 10:29:20 +08:00
Lomanic
974d52d412 [load][darwin] Remove calls to sysctl binary in load/load_darwin.go #639
Again, a simple benchmark:

Lomanics-iMac:~ lomanic$ time ./load_avg.old ; time ./load_avg
{load1:0.89,load5:0.99,load15:1.01} <nil>

real    0m0.019s
user    0m0.008s
sys     0m0.013s
{load1:0.8876953125,load5:0.98828125,load15:1.0146484375} <nil>

real    0m0.011s
user    0m0.004s
sys     0m0.006s

This is faster and yields more precise results.
2019-03-02 23:22:53 +01:00
shirou
145dca90f7 change to use CommandContext. 2018-03-31 21:35:53 +09:00
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.
2018-03-21 14:08:39 +00:00
shirou
4c73494c78 Add WithContext functions. 2017-12-31 15:25:49 +09:00
Steven Hartland
6450c60b61 Eliminate use of sysctl command on FreeBSD
In order to improve performance and help prevent crashes due to the outstanding fork crash bug:
https://github.com/golang/go/issues/15658

Replace string parsed values from the sysctl command with native reads of sysctl values using unix.SysctlRaw and unix.SysctlUint32.

This also merges OpenBSD and FreeBSD load implementations which are identical.
2017-10-05 08:45:56 +01:00
WAKAYAMA shirou
1ba77cdb3d [load] freebsd: change to use x/sys/unix.SysctlRaw.
This implementation is borrowed from NodeExporter.
https://github.com/prometheus/node_exporter/blob/master/collector/loadavg_freebsd.go
2017-10-04 22:34:47 +09:00
Marco Pfatschbacher
b4846b445b Add support for OpenBSD/amd64
This code is based on the FreeBSD version
and implements roughly the same feature set.
2016-11-24 22:30:29 +01:00
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.
2016-08-22 15:31:26 -07:00
Shirou WAKAYAMA
613a8a90e1 fixed by golint. 2016-04-01 21:34:39 +09:00
Shirou WAKAYAMA
ea152ea901 [BREAKING CHANGE] rename functions to pass golint. ex) net.NetIOCounters -> net.IOCounters 2016-03-22 23:09:12 +09:00